01/06
ネストされたIF関数の仕組み
IF関数の有用性は、複数のIF関数を相互に挿入または入れ子にすることで拡張できます。
ネストされたIF関数は、テストできる可能性のある条件の数を増やし、これらの結果に対処するために実行できるアクションの数を増やします。
Excelの最新バージョンでは、64 IF関数を相互にネストすることができますが、Excel 2003以前では7つしか使用できませんでした。
IF関数チュートリアルのネスト
上の図に示すように、このチュートリアルでは2つのIF関数を使用して、従業員の年間給与に基づいて年間控除額を計算する次の式を作成します。
この例で使用されている式を以下に示します。 ネストされた IF関数は、最初のIF関数のvalue_if_false 引数として機能します。
= IF(D7 = 50000、$ D $ 5 * D7、$ D $ 4 * D7))数式のさまざまな部分はコンマで区切られ、次のタスクが実行されます。
- 最初の部分D7は、従業員の給与が30,000ドル未満であるかどうかを確認します
- そうであれば、 $ D $ 3 * D7の中間部分は、給与に6%の控除率を乗じます
- IF(D7> = 50000、$ D $ 5 * D7、$ D $ 4 * D7)は、さらに2つの条件をテストします。
- D7> = 50000 、従業員の給与が50,000ドル以上かどうかを確認します
- そうであれば、 $ D $ 5 * D7は給与に10%の控除率を乗じます
- そうでない場合、 $ D $ 4 * D7は給与に8%の控除率を乗じます
チュートリアルデータの入力
上の図のようにExcel ワークシートの セル C1〜E6にデータを入力します 。
この時点で入力されていない唯一のデータは、セルE7にあるIF関数自体です。
入力を気にしない人のために、このリンクでデータをExcelにコピーするためのデータと指示があります。
注:データをコピーする手順には、ワークシートのフォーマット手順は含まれていません。
チュートリアルの完了に支障はありません。 ワークシートは表示されている例と異なる場合がありますが、IF関数を使用すると同じ結果が得られます。
02の06
ネストされたIF関数の起動
完全な数式を入力することは可能ですが
= IF(D7 = 50000、$ D $ 5 * D7、$ D $ 4 * D7))ワークシートのセルE7に挿入して機能させると、関数のダイアログボックスを使用して必要な引数を入力するほうが簡単になります。
ネストされた関数を入力する必要があるため、ネストされた関数を入力するときにダイアログボックスを使用するのが少し難解です。2番目のダイアログボックスを開いて2番目の引数セットを入力することはできません。
この例では、ネストされたIF関数は、 Value_if_false引数としてダイアログボックスの3行目に入力されます。
- ワークシートは複数の従業員の年間控除額を計算するため、絶対的なセル参照を使用して1つのセルE7に最初に入力され、セルE8:E11にコピーされます。
チュートリアルの手順
- セルE7をクリックしてアクティブセルにします。 - 入れ子にされたIF式の場所。
- リボンの 式タブをクリックします。
- Logicalアイコンをクリックして、機能ドロップダウンリストを開きます。
- 関数のダイアログボックスを表示するには、リストのIFをクリックします。
ダイアログボックスの空白行に入力されたデータは、IF関数の引数を構成します。
これらの引数は、テスト中の条件と、条件がtrueまたはfalseの場合に実行するアクションを関数に指示します。
チュートリアルショートカットオプション
この例を続行するには、
- 上の図のように引数をダイアログボックスに入力してから、最後のステップにジャンプして7〜10行目に式をコピーします。
- 3つの議論を入力するための詳細な説明と説明を提供する次の5ページに従ってください。
03/06
Logical_test引数の入力
Logical_test引数は、常に2つのデータ項目の比較です。 このデータは、数値、 セル参照 、数式の結果、またはテキストデータであってもよい。
2つの値を比較するために、Logical_testは値の間に比較演算子を使用します。
この例では、従業員の年間控除額を決定する3つの給与水準があります。
- $ 30,000未満
- $ 30,000から$ 49,999の間
- $ 50,000以上
1つのIF関数で2つのレベルを比較できますが、3番目の給与レベルでは2番目の入れ子IF関数を使用する必要があります。
最初の比較は、セルDにある従業員の年俸と、$ 30,000の臨界給与との間になります。
目標は、D7が$ 30,000よりも小さいかどうかを判断することであるため、より小さい演算子 "<"が値の間で使用されます。
チュートリアルの手順
- ダイアログボックスの Logical_test行をクリックします
- このセル参照をLogical_test行に追加するには、セルD7をクリックします
- キーボードの<"より小さいキーを押します。
- より小さい記号の後に30000と入力してください
- 完了した論理テストは、次のようになります。D7 <30000
注:ドル記号($)またはコンマ区切り記号(、)を30000に入力しないでください。
これらのシンボルのいずれかがデータとともに入力された場合、 Logical_test行の最後に無効なエラーメッセージが表示されます。
04/06
Value_if_true引数の入力
Value_if_true 引数は、IF関数にLogical_testがtrueの場合の処理を指示します。
Value_if_true引数は、数式、テキストブロック、 値 、 セル参照 、またはセルを空白のままにすることができます。
この例では、セルD7のデータが$ 30,000未満の場合です。 Excelは、セルD7にある従業員の年俸を、セルD3にある6%の控除率で乗算します。
相対的なセル参照と絶対的なセル参照
通常、数式を他のセルにコピーすると、数式内の相対セル参照が変更され、数式の新しい場所が反映されます。 これにより、複数の場所で同じ数式を使用することが容易になります。
しかし、関数のコピー時にセル参照を変更すると、エラーが発生することがあります。
これらのエラーを防ぐために、セル参照をコピーしたときにセル参照が変更されないようにすることができます。
絶対セル参照は、 $ D $ 3のような通常のセル参照の周りにドル記号を追加することによって作成されます。
ドル記号を追加することは、セル参照がダイアログボックスに入力された後にキーボードのF4キーを押すことで簡単に行えます。
この例では、セルD3にある控除率は、ダイアログボックスのValue_if_true行に絶対セル参照として入力されます。
チュートリアルの手順
- ダイアログボックスのValue_if_true行をクリックします。
- このセル参照をValue_if_true行に追加するには、ワークシートのセルD3をクリックします
- キーボードのF4キーを押して、D3を絶対セル参照($ D $ 3)にします。
- キーボードのアスタリスク( * )キーを押します - アスタリスクはExcelの乗算記号です
- このセル参照をValue_if_true行に追加するには、セルD7をクリックします。
- 完了したValue_if_true行は次のようになります。$ D $ 3 * D7
注: D7は、各従業員の正しい控除額を得るために数式をセルE8:E11にコピーするときに変更する必要があるため、絶対セル参照として入力されません。
05/06
Value_if_false引数としてネストされたIF関数を入力する
通常、Value_if_false引数は、IF関数にLogical_testがfalseの場合の処理を指示しますが、この場合はネストされたIF関数がこの引数として入力されます。
これにより、次の結果が得られます。
- ネストされたIF関数( D7> = 50000 )のLogical_test引数は、$ 30,000以上のすべての給与をテストします。
- $ 50,000以上の給与の場合、Value_if_true引数は、セルD5にある10%の控除率でそれらを掛けます。
- 残りの給与(30,000ドル以上50,000ドル未満)の場合、Value_if_false引数は、セルD4にある控除率を8%の控除率で乗算します。
チュートリアルの手順
チュートリアルの冒頭で述べたように、2番目のダイアログボックスを開いてネストされた関数を入力することはできないため、Value_if_false行に入力する必要があります。
注:ネストされた関数は等号ではなく、関数の名前で始まります。
- ダイアログボックスのValue_if_false行をクリックします。
- 以下のIF関数を入力してください
IF(D7> = 50000、$ D $ 5 * D7、$ D $ 4 * D7) - [OK]をクリックしてIF関数を完了し、ダイアログボックスを閉じます
- $ 3,678.96の値はセルE7に表示されます*
- セルE7をクリックすると、完全な関数
= IF(D7 = 50000、$ D $ 5 * D7、$ D $ 4 * D7))
ワークシートの上の数式バーに表示されます
* R.ホルトは年間30,000ドル以上50,000ドル未満の収入を得ているため、年収控除の計算にはフォーミュラ$ 45,987 * 8%が使用されます。
すべての手順を実行した場合、この例の例は、この記事の最初のイメージと一致するはずです。
最後のステップでは、IF式をセルE8〜E11にコピーして塗りつぶしハンドルを使用してワークシートを完成させます。
06の06
塗りハンドルを使用してネストされたIF関数をコピーする
ワークシートを完成させるには、ネストされたIF関数を含む数式をセルE8〜E11にコピーする必要があります。
関数がコピーされると、Excelは絶対セル参照を同じに保ちながら、関数の新しい場所を反映するように相対セル参照を更新します。
Excelで式をコピーする簡単な方法の1つは、塗りつぶしハンドルです。
チュートリアルの手順
- セルE7をクリックしてアクティブセルにします。
- アクティブなセルの右下隅にある黒い四角の上にマウスポインタを置きます。 ポインタはプラス記号 "+"に変わります。
- マウスの左ボタンをクリックし、塗りつぶしハンドルをセルE11までドラッグします。
- マウスボタンを離します。 E8からE11のセルには、上の図に示すように式の結果が入力されます。