いろいろな関数 3-2

主な内容
1.[IF]関数にネストする関数 : (AND 関数や OR 関数と組み合わせて複数の値を判断する)
2.ネストの方法
3.IF 関数では条件判断できない場合

関数のネストと、その方法

[IF 関数]に[OR 関数]をネストする

IF 関数に OR 関数や AND 関数を組み合わせて複数の値を判断する

関数の引数として関数を使う事を、ネスト(入れ子)と言い、ネスト関数と称します。
OR 関数やAND 関数は、単独で使うと[TRUE]、[FALSE]の答えが返ってくるのみですが、[IF 関数]に「ネスト」すると判定に「適切な文字列」で答えが返されるよう設定できます。

複数の値を基準にし判断する場合に、OR 関数や AND 関数を組み合わせると IF 関数のネストを少なくすることができます。

IF(OR)関数

IF 関数の書式 : IF(論理式,値1,値2)

条件式が満たされた、「真の場合」は「値1」を表示し、満たされていない「偽の場合」は「値2」を表示するでした。

OR 関数は以下の形式で構成されています。指定した複数の論理式のうち 1 つでも真の論理式があれば真 (True) になります。

OR 関数の書式 : OR(論理式1,論理式2,...)

そこで、OR の「 論理式1,論理式2,論理式N個目 」までを纏めて「IF 関数の引数1の論理式」にしてしまう方法です。

IF(OR) 関数の書式 : IF(OR(論理式1,論理式2,...),値1,値2)

論理式1の条件1または、論理式2の条件2の 何れかの条件を満たした場合「値1(例えば合格)」を返し、そうでない場合は「値2(例えば不合格)」を返すことになります。

【設問1】国語と算数の何れかが基準値[60]を超えた場合は「合格」そうでない場合 (どちらも超えない場合)は「不合格」にしなさい。

以下は Windows ME (Excel 2000)の場合です。下記 6〜8 が「ネストの方法」です。
  1. 「戻り値」を求めたい場所としての「セル」(この場合は、[H4])を選択します。
  2. 関数貼り付けボタン [fx]をクリックします。
    (「関数貼り付け」ダイアログが現れます。)
  3. 「関数貼り付け」ダイアログボックスの[関数の分類(C)]から[論理]を選択します。
  4. [関数名(N)]から[IF]を選択して、[OK]ボタンを押します。
    ([関数の分類(C)]の[すべて表示」から IF を選択。または、▼をクリックして[論理]から IF を選択します。)
  5. すると、「IF 数式パレット」が現れますが、ここでは、何も記入しないで、 ただ、カーソルが論理式記入欄で点滅しているのを確認します。
    (これから、IF 関数の論理式の記入に入ります。論理式には大か小かイコールかの「比較演算子」を使用します。)
  6. 数式バーの左端[名前ボックス]には、既に[IF]が表示されています。▼矢印をクリックします。
  7. [ボックス]のリストから[OR]を選択します。[OR] が無い場合は、下段の [その他の関数]を選択して、現れた[関数貼り付け]ダイアログボックスから[OR]を選択します。
  8. すると、数式パレットは自動的に[IF 関数]から[OR 関数]の数式パレットに替わります。
  9. 論理式1の記入に入ります。セル参照で基準値[B14]をクリックします。
    (ただし、基準値が例えば[B14]セルに設定されている場合です。)
  10. フアンクションキー[F4]をクリックし、絶対参照[$B$14]にします。
  11. 小なり括弧の < を入力します。
  12. セル参照で国語の[C4]クリックし、論理式2へ移ります。
  13. セル参照で基準値[B14]をクリックし、フアンクションキー[F4]をクリックし絶対参照[$B$14]にします。
  14. 小なり記号 < を入力します。
  15. セル参照で数学の[D4]クリックします。
    「国語」と「数学」の条件設定は終了しました。
    ここで肝心な作業になりますが、数式パレット[OK]を押さないでください。次の手順に入ります。、
  16. 数式バーに、薄色で「 =IF( 」に表示されている「IF」をクリックします。太字表示になり、 IFの数式パレットに変ります。「論理式は完成された形で現れます。」
  17. 「真の場合」記入欄に「合格」
  18. 「偽の場合」記入欄に「不合格」と記入(「ダブルコーテイション」は自動的に付けられます。)
  19. 記入が済んだら、ここではじめて「数式パレット」の[OK]ボタンを押します。
  20. [Enter]キーで確定します。
  21. あとは、「戻り値」のセルをオートフィル機能で下にドラッグして完了です。
Windows XP(Excel 2002〜2003)の場合
「標準ツールバー」に[fx]ボタンがありません。数式バーの[fx]を使用します。

関数の中に別の関数をネストするときは、IF 関数で、カーソルが論理式記入欄で点滅しているのを確認したように、 組み込む引数のテキストボックスをクリックしてから、「名前ボックス」の▼ボタンをクリックして、新しい関数を選択することです。
幾つもの関数をネストする場合でも、全く同じ操作で良いことになります。
注意することは、15番、19番目にありますように「数式パレット」の[OK]ボタンは、数式入力の最終のときだけクリックすることです。

IF(AND)関数

こちらをご覧ください。


IF 関数では条件判断できない場合(EXCELヘルプより)

IF 関数は最大 7 つまで組み合わせることができます。以下のような判断をしたい場合は、7 つの IF 関数では求めることができません。
IF 関数の代わりに VLOOKUP 関数など、他の関数を使用して求めることができます。

  90 以上         : A
  80 以上 90 未満 : B
  70 以上 80 未満 : C
  60 以上 70 未満 : D
  50 以上 60 未満 : E
  40 以上 50 未満 : F
  30 以上 40 未満 : G
  20 以上 30 未満 : H
  20 未満         : I

VLOOKUP 関数は以下の形式で構成されています。指定された [範囲] の左端の列で特定の値を検索し、[範囲] 内の対応するセルの値を返します。
[検索の型] に TRUE を指定するか省略すると、[検索値] が見つからない場合に、[検索値] 未満で最も大きい値が使用されます。
FALSE を指定すると、[検索値] と完全に一致する値だけが検索され、見つからない場合は エラー値 #N/A が返されます。

VLOOKUP(検索値, 範囲, 列番号, 検索の型)

VLOOKUP 関数を使用する場合は、上記の条件に基づくテーブルを作成する必要があります。
   以上、EXCELヘルプより

「条件に基づくテーブルを作成」とは、昇順に並べ替えることと思います。
そこで、参照先・点数欄を昇順に並べ替えて(ただし、ランクのアルファベットは降順)、下表をつくり、VLOOKUP 関数を[検索の型:TRUE]で実施しました

※:[TRUE] を指定すると[85]の場合、[検索値] が見つからない場合に該当しますので、[検索値] 未満で最も大きい値が使用され[B]ランクになります。
使用法の詳細(検索の型:FALSEを使用)については、「いろいろな関数7」をご覧下さい。

続きます。

トップへ戻る 
  いろいろな関数目次へ戻る  いろいろな関数3へ戻る  いろいろな関数4へ進む 

inserted by FC2 system