IF関数の使い方【Excel】基本から複数条件・ネストまで実例で解説

IF関数 使い方 アイキャッチ画像 関数・数式

経理の決算期や営業の月次報告など、Excel作業が集中する時期の事務負担は相当なものです。膨大なデータを目視で判断して「合格」「不合格」と打ち込む作業は、時間の浪費であるだけでなく、誤入力を招く大きなリスクとなります。こうした単純な判定作業を自動化し、データの正確性を担保するために不可欠なツールがIF関数です。

初級:まずIF関数 使い方の基本を押さえる

IF関数は、特定の条件が満たされているかどうかをExcelが判定し、その結果(真か偽か)に応じて異なる値を表示させる機能です。実務で最も多用される関数の一つであり、これを使えるようになることが脱・初心者への第一歩といえます。

基本構文と引数の構造

IF関数の記述ルールは以下の通りです。
=IF(論理式, 真の場合, 偽の場合)

1. 論理式: 「売上実績が目標以上か?」などの判定条件です。
2. 真の場合: 条件を満たした時に表示する値や計算式です。
3. 偽の場合: 条件を満たさなかった時に表示する値や計算式です。

例えば、営業部で「月間売上実績」が「月間売上目標」を達成したか判定する場合を考えます。目標がセルB2、実績がセルC2にあるとき、判定結果を表示するD2セルには以下の式を入力します。
=IF(C2>=B2, "達成", "未達成")

IF関数 使い方 - セルC2の実績がB2の目標を上回り、D2に「達成」と表示されている状態
セルC2の実績がB2の目標を上回り、D2に「達成」と表示されている状態

初心者が必ずと言っていいほどつまずくポイント

筆者の経験では、初心者がIF関数で最初にはまる罠は「ダブルクォーテーションの使い分け」です。「達成」や「未達成」といった文字列を結果として表示させたい場合、必ず" "(半角のダブルクォーテーション)で囲む必要があります。これを忘れると「#NAME?」というエラーが出てしまいます。

一方で、数値やセル参照、他の関数を引数に入れる場合はダブルクォーテーションで囲んではいけません。研修で教えていると、「数字もとりあえず囲んでおけば安心」と勘違いして、"100"のように数値まで文字列扱いにしてしまい、その後の集計計算ができなくなるケースをよく見かけます。

注意点: 文字列は ” ” で囲む。数値やセル番地、関数は囲まない。この区別を徹底するだけで、エラーの8割は防げます。

Microsoft公式ドキュメントでの定義

IF関数の詳細な仕様については、Microsoftの公式ドキュメントも併せて参照してください。対応バージョンや関数の制限事項について正確な情報が記載されています。
参照:Microsoft公式サイト:IF関数

実務で差がつく!複数条件とネストの活用

実際の業務では「AかつBの場合」や「Aが50点以上なら優、30点以上なら良……」といった、より複雑な判定が求められます。

AND関数・OR関数との組み合わせ(勤怠管理の例)

「複数の条件をすべて満たす場合」を判定するにはAND関数を、「いずれかの条件を満たす場合」を判定するにはOR関数を、IF関数の「論理式」の中に組み込みます。

例えば、総務部の勤怠管理において「残業時間が45時間を超えている」かつ「有給取得が5日未満」の社員をアラート対象にする場合、次のような数式になります(残業時間がB2、有給取得数がC2の場合)。
=IF(AND(B2>45, C2<5), "要面談", "")

IF関数 使い方 - AND関数を用いて、複数の勤怠条件に合致した社員の横に「要面談」と表示された表
AND関数を用いて、複数の勤怠条件に合致した社員の横に「要面談」と表示された表

IF関数のネストで多分岐させる(経費承認の例)

IF関数の「偽の場合」の中に、さらに別のIF関数を書き込む手法を「ネスト(入れ子)」と呼びます。経理部での経費精算における承認ルートの自動表示などで重宝します。

シナリオ:
- 50,000円以上の申請:部長承認
- 10,000円以上の申請:課長承認
- 10,000円未満の申請:主任承認

数式例:
=IF(B2>=50000, "部長承認", IF(B2>=10000, "課長承認", "主任承認"))

実務でよく見かけるのは、このネストを5段階、6段階と深くしすぎて、自分でも何を書いているか分からなくなっている数式です。Excel 2019以降やMicrosoft 365を使っている環境であれば、後述するIFS関数への切り替えを強く推奨します。

ポイント: ネストは3段階までを上限と考えましょう。それ以上複雑になる場合は、判定用のマスターテーブルを作成して で参照する方がメンテナンス性が高まります。

最新のExcelで業務を最適化する代替機能

Excelは日々進化しており、従来のIF関数だけでは記述が煩雑になるケースを解消する新しい関数が登場しています。

IFS関数による多分岐の簡素化

Excel 2019以降、またはMicrosoft 365で利用可能なIFS関数を使えば、先ほどの経費承認の例もすっきりと記述できます。

=IFS(B2>=50000, "部長承認", B2>=10000, "課長承認", TRUE, "主任承認")

最後のTRUEは「それ以外のすべての場合」を指すテクニックです。ネスト構造がなくなるため、数式の可読性が格段に向上します。
参照:Microsoft公式サイト:IFS関数

IF関数 使い方 - IFS関数の引数入力画面で、条件と結果がペアで並んでいる様子
IFS関数の引数入力画面で、条件と結果がペアで並んでいる様子

IFERROR関数でエラー表示を隠す(予算実績比較の例)

予算実績比較表を作成する際、予算がまだ決まっていない(セルが空、または0)項目で達成率を計算しようとすると「#DIV/0!」というエラーが表示されます。筆者の経験では、経営会議に出す資料にこのエラーが並んでいると、それだけで資料の信頼性が損なわれてしまいます。

=IFERROR(C2/B2, 0)

このように記述すれば、計算エラーが発生した場合は「0」を表示し、美しいレポートを維持できます。

IF関数 使い方 - 予算が未入力の行でエラーが出ず、達成率が0%として表示されている計算表
予算が未入力の行でエラーが出ず、達成率が0%として表示されている計算表

現場の課題を即解決する実践レシピ集

ここでは、明日からそのまま使える具体的な業務シナリオ別の数式を紹介します。

在庫管理での「自動発注アラート」

商品マスタ(型番:A-001、B-102など)に基づいた在庫管理表で、現在庫が安全在庫を下回った場合に「発注」と表示させます。

=IF(C2
(C2:現在庫、D2:安全在庫)

単純な式ですが、これに「条件付き書式」を組み合わせて文字を赤くすることで、発注漏れを視覚的に防ぐことができます。

支払管理での「期限チェック」

請求書の支払期限が今日を過ぎているか判定します。TODAY関数をIF関数の論理式に組み込むのがコツです。

=IF(B2
(B2:支払期限日)

IF関数 使い方 - 今日の日付と比較して、支払期限が過ぎている項目に「期限超過」と表示された管理表
今日の日付と比較して、支払期限が過ぎている項目に「期限超過」と表示された管理表

プロのコツ:ミスを防ぎ速度を上げる運用術

15年以上実務でExcelを使い倒してきた経験から、単なる関数の書き方以上に重要な「プロの運用テクニック」を共有します。

長い数式には「Alt + Enter」で改行を入れる

複雑なネストIFを書く際、数式バーの中で数式が横に長く伸びてしまうと、括弧の対応関係が分からなくなります。実務でよく見かける数式エラーの多くは、単なる括弧の閉じ忘れです。
数式バーの中で Alt + Enter を押すと、数式内で改行ができます。

=IF(B2>=50000, "部長",
IF(B2>=10000, "課長",
"主任"
)
)

このように段落をつけて書くことで、構造が視覚的に理解しやすくなり、ミスを劇的に減らすことができます。

条件判定に「作業列」を恐れず使う

1つのセルに非常に長いIF関数を詰め込もうとする人がいますが、これはおすすめしません。プロの現場では、判定プロセスをあえて複数の列(作業列)に分割することがあります。
例えば、「ステップ1:売上条件判定」「ステップ2:粗利条件判定」「ステップ3:総合評価」というように列を分けることで、どこで判定が狂ったのかを即座に特定できるようになります。最終的な資料として見せる必要がない列は、非表示にしておけば良いだけです。

F4キーによる絶対参照の固定

判定基準(例えば「消費税率」や「目標値」)を特定のセルに置いて参照する場合、数式をコピーした時に参照先がずれないよう F4 キーで $ マークをつける(絶対参照)のを忘れないでください。初心者がつまずきやすいポイントとして、1行目は正しく計算できているのに、下にオートフィルした瞬間に参照がずれて全滅するという失敗は「Excelあるある」の筆頭です。

ポイント: 判定基準となる単一セルを参照する際は、必ずF4キーを1回押して「$A$1」のような固定形式にする習慣をつけましょう。

まとめ

IF関数を使いこなすことは、手作業による判断をExcelという「論理エンジン」に委ねることを意味します。これにより、事務作業のスピードと正確性は飛躍的に向上します。

- 文字列を返すときは `""` で囲むことを徹底する
- 複雑な分岐には `IFS関数` や `ネスト` を使い分ける
- `IFERROR関数` でレポートの見た目を整える
- 数式の可読性を高めるために `Alt+Enter` での改行を活用する

Excelのスキルアップに魔法のような近道はありませんが、まずは身近な売上管理表や勤怠管理表の判定を自動化することから始めてみてください。一度ロジックを組んでしまえば、翌月からの作業が驚くほど楽になるはずです。

コメント

タイトルとURLをコピーしました