ExcelのIF関数をマスター:実務の意思決定に役立つ高度なテクニック

ExcelのIF関数は、条件に応じて異なる値を返すことで意思決定を自動化できる強力な関数です。条件が真(TRUE)の場合と偽(FALSE)の場合で、それぞれ別の結果を返すことができます。本記事では、IF関数の基本構文から、ネスト(入れ子)構造、AND/OR関数との組み合わせ、動的配列数式まで、実務でよくあるシナリオを具体例とともにわかりやすく解説します。
IF関数の基本構文
IF関数の基本構文は以下の通りです。
=IF(logical_test, value_if_true, value_if_false)
- logical_test(論理式):評価する条件
- value_if_true(真の場合の値):条件が真のときに返す結果
- value_if_false(偽の場合の値):条件が偽のときに返す結果
論理式の作成には、以下の比較演算子を使用できます。
- =(等しい)
- >(より大きい)
- >=(以上)
- <(より小さい)
- <=(以下)
- <>(等しくない)
シナリオ1:業績に基づくボーナス計算
従業員の業績スコア一覧があり、スコアに応じてボーナスを計算するケースを考えます。スコア80以上の従業員には給与の10%、80未満の従業員には5%のボーナスを支給します。
- 対象セルに以下の数式を入力します。
- 数式を下方向にドラッグしてコピーすれば、全従業員のボーナスを一括計算できます。
数式:
=IF(B2>=80, C2*10%, C2*5%)
- B2>=80:業績スコアが80以上かどうかを判定する論理式です。
- 真の場合:C2*10%(給与の10%)を計算します。
- 偽の場合:C2*5%(給与の5%)を計算します。
出力結果:

シナリオ2:スコアによる評価ランク付け(ネストされたIF)
複数のIF関数を入れ子(ネスト)にすることで、スコアの範囲に応じた段階的な評価も可能になります。例えば、以下のような評価基準を設定できます。
- 90以上:Excellent(優秀)
- 80〜89:Good(良好)
- 70〜79:Average(平均)
- 70未満:Needs Improvement(要改善)
数式:
=IF(B2>=90, "Excellent", IF(B2>=80, "Good", IF(B2>=70, "Average", "Needs Improvement")))
各IF関数が順番にスコア範囲を判定し、最初に条件を満たした時点で対応する評価を返して処理を終了します。この方法を使えば、大量のデータでも評価レベルを自動的に割り当てられるため、迅速な評価作業が可能になります。
出力結果:

シナリオ3:複数条件でのボーナス計算(AND/OR)
複数の条件を同時に判定したい場合は、IF関数をAND関数やOR関数と組み合わせます。例えば、「売上が70,000ドル以上」かつ「業績評価がExcellentまたはGood」の両方を満たす場合にのみボーナスを支給するケースです。
数式:
=IF(AND(D2>=70000, OR(F2="Excellent", F2="Good")), C2*15%, C2*5%)
- AND(D2>=70000, OR(F2="Excellent", F2="Good")):D2の売上が70,000以上であり、かつF2の評価が「Excellent」または「Good」であるかを判定します。
- C2*15%:両方の条件を満たす場合、C2を基準に15%のボーナスを計算します。
- C2*5%:条件を満たさない場合は5%のボーナスを返します。
出力結果:

シナリオ4:複雑な財務計算へのネストIF活用(所得税計算)
所得額の区分に応じて税額を計算するケースを考えます。
- 給与5,000ドル未満:税率10%
- 給与5,000〜10,000ドル:税率15%
- 給与10,000ドル超:税率20%
数式:
=IF(C2<=5000, C2*10%, IF(C2<=10000, C2*15%, C2*20%))
- まず所得が5,000ドル以下かどうかを判定します(税率10%)。
- 次に5,000〜10,000ドルの範囲かどうかを判定します(税率15%)。
- いずれにも該当しない場合は20%の税率を適用します。
出力結果:

シナリオ5:労働時間に基づく残業代の計算
週の勤務時間が40時間を超えた従業員に残業手当を支給するケースです。総勤務時間が40時間を超えた場合、超過1時間あたり20ドルを支給します。
数式:
=IF(B2>40, (B2-40)*20, 0)
- 勤務時間が40時間を超えているかどうかを判定します。
- 真の場合、超過時間分の手当((B2-40)*20ドル)を計算します。
- 偽の場合は0を返します。
出力結果:

シナリオ6:動的配列数式を使った成績管理
IF関数は、生徒の点数に応じた成績評価の割り当てにも非常に便利です。以下のような評価基準を設定します。
- 90点以上:A+
- 80〜89点:A
- 70〜79点:B
- 60〜69点:C
- 60点未満:Fail(不合格)
通常の数式(個別セル用):
=IF(B2>=90,"A+",IF(B2>=80,"A",IF(B2>=70,"B",IF(B2>=60,"C","Fail"))))
この数式は範囲内の各セルを個別に評価し、ロジックに基づいて成績を割り当てます。
動的配列数式(一括処理用):
=IF(B2:D7>=90,"A+",IF(B2:D7>=80,"A",IF(B2:D7>=70,"B",IF(B2:D7>=60,"C","Fail"))))
- この数式を1つのセル(例:E2)に入力すると、Excelが自動的にB2:D7範囲の各セルに評価ロジックを適用し、結果を隣接セルへ「スピル(溢れ出し)」表示します。
- 各セルの点数に応じて「A+」「A」「B」「C」「Fail」のいずれかが自動的に表示されます。
出力結果:

さらに、各生徒の平均点に対して成績を付ける場合は、以下の数式を使用します。
動的配列数式:
=IF(E2:E7>=90,"A+",IF(E2:E7>=80,"A",IF(E2:E7>=70,"B",IF(E2:E7>=60,"C","Fail"))))
E2:E7の各点数に対して結果が自動的にスピルされ、点数範囲に応じた成績が割り当てられます。
出力結果:

※この動的配列数式は、Excel 365など動的配列に対応したバージョンでのみ使用できます。
まとめ
ExcelのIF関数は、さまざまな条件に基づく意思決定や計算に不可欠な存在です。IF関数のネスト、AND/ORなどの論理関数との組み合わせ、さらに他の関数との連携や動的配列数式を活用することで、複雑な実務上の課題も効率的に解決できます。本記事で紹介したシナリオを実際に手を動かして練習すれば、IF関数の柔軟性とパワーを確実に身につけられるでしょう。
-
Microsoft Officeのリボンを自由にカスタマイズする方法|タブの追加・削除からカスタム設定まで
MicrosoftがOfficeスイートにリボンインターフェースを初めて導入したとき、生産性ソフトを一日中使いこなすユーザーの間で大きな議論を巻き起こしました。リボンを気に入った人もいれば、GUIそのものと同じくらい歴史のある従来型のクラシックメニュー方式を好む人もいたのです。 結局、この争いはリボンの勝利に終わり、現在では定着した存在となっています。しかし幸いなことに、リボンが苦手なユーザーでも、自分のワークフローやニーズに合わせてMicrosoft Officeのリボンをカスタマイズできるのです。 対象となるOfficeのバージョンについて 本記事の手順は、Microsoft 365に含
-
PowerPointのスライドにガイドを追加する方法【色変更・削除の手順も解説】
PowerPointのガイドは、スライド上でオブジェクトを移動したり、整列や間隔の調整を行う際に役立つ機能です。ガイドを活用することで、スライド全体にプロフェッショナルな印象を与えられ、ズレた配置による見栄えの悪さを防ぐことができます。ガイドとは、スライド上のオブジェクトを位置合わせするための、調整可能な補助線を表示する機能のことです。 このチュートリアルでは、PowerPointのスライドにガイドを追加する基本操作から、ガイドを増やす方法、ガイドに色を付ける方法、そしてガイドを削除する方法まで、順を追って解説します。 PowerPointでガイドを追加する方法 まず、PowerPointを起