「IF関数って難しそう」と感じていませんか。ExcelのIF関数は「条件が成立すれば○○、成立しなければ△△を表示する」という処理を自動化する関数で、VLOOKUPと並ぶExcel最重要関数のひとつです。基本構文を一度マスターすれば、合否判定・ランク分け・データの自動分類など、日常業務のあらゆる場面で活用できます。本記事ではIF関数の基本構文からネスト(入れ子)・AND/OR関数との組み合わせ・IFERROR関数との連携・よくあるエラーの解決策まで、2026年最新版で体系的に解説します。MOS Excel 365試験の出題パターンについても詳しく説明するので試験対策にも役立てください。
IF関数とは何か(基本概念と3つのメリット)
IF関数が解決する「条件分岐」の問題
IF関数は「もし~ならば○○、そうでなければ△△」という条件分岐を自動処理する関数です。例えば「売上が100万円以上なら”達成”、未満なら”未達”と表示する」「テストの得点が70点以上なら”合格”、それ未満なら”不合格”と表示する」といった処理が1つの数式で実現できます。条件分岐なしで同じ処理をしようとすると、数百行・数千行のデータに対して手作業で目視確認と入力を繰り返す必要があります。IF関数を使えばデータが1万行あっても一瞬で全件を判定できます。
IF関数を活用するメリットは3つあります。第一に、判定作業の自動化によって人的ミスを排除できること。第二に、条件が変わってもセルの数式を修正するだけで全データに即反映できること。第三に、他の関数(SUM・VLOOKUP・COUNTIF等)と組み合わせることで高度な集計ロジックを構築できることです。Excel中級者以上に不可欠なスキルであり、MOS Excel 365試験でも全体問題の10~15%を占める重要分野です。
IF関数の基本構文(3つの引数)
IF関数の構文は「=IF(論理式, 真の場合, 偽の場合)」です。引数は3つあります。①「論理式」は条件を記述する部分で「A2>=70」「B3=”東京”」のように比較演算子(>=、=、<>等)を使って書きます。②「真の場合」は論理式が成立したときに表示する値で、文字列なら「”合格”」のようにダブルクォーテーションで囲みます。③「偽の場合」は論理式が成立しないときに表示する値です。例えば「=IF(A2>=70,”合格”,”不合格”)」とすればA2が70以上なら”合格”、未満なら”不合格”が表示されます。
比較演算子の種類を整理します。「=」は等しい、「<>」は等しくない、「>」は大きい、「<」は小さい、「>=」は以上、「<=」は以下です。文字列の比較は大文字と小文字を区別しません(EXACT関数を使えば区別可能)。セル参照の代わりに数値・文字列・他の関数を直接記述することもできます。例えば「=IF(SUM(A2:A10)>=1000000,”予算超過”,”予算内”)」のように論理式にSUM関数を使うことも可能です。
IF関数の引数を空白にする使い方
IF関数の「真の場合」や「偽の場合」を空白(””)にすることで、条件が成立したときだけ値を表示し、成立しない場合はセルを空欄にできます。例えば「=IF(A2>=100,”★”,””)」と書くとA2が100以上のときだけ★が表示され、未満のときはセルが空欄になります。一覧データの中でフラグを立てる用途によく使われます。
「偽の場合」を省略するという書き方もあります。「=IF(A2>=100,”達成”)」と書くとA2が100未満のときFALSEというテキストが表示されます。意図しない表示になるため省略より「””」を明記することを推奨します。条件が成立しないときに数値0を表示したい場合は「=IF(A2>=100,1,0)」のように数値を直接記述してください。
IF関数の基本的な使い方(実践パターン)
数値の条件判定(合格/不合格・達成/未達)
最もシンプルな使い方は数値の大小比較による2択判定です。「=IF(B2>=60,”合格”,”不合格”)」はB2セルが60以上なら”合格”、それ未満なら”不合格”を返します。成績表・テスト結果・売上目標達成判定など幅広く応用できます。条件の境界値(しきい値)は数式内の数字を変えるだけで即座に切り替わります。例えば合格基準を70点に変えるなら「>=60」を「>=70」に修正するだけです。
数値判定でよくある注意点として「超える」と「以上」の違いがあります。「>60」は60を含まず61以上、「>=60」は60を含みます。ビジネス用語の「以上」は通常「その数値を含む」という意味なので「>=」を使うケースが大半です。また「=」(等しい)を使った判定「=IF(A2=100,”満点”,””)」は特定の値と完全一致するときだけ反応します。目標達成の完全一致チェックや特定コードの判定によく活用されます。
文字列の条件判定(完全一致・部分一致)
文字列との比較はダブルクォーテーションで囲んで記述します。「=IF(C2=”東京”,”対象”,”対象外”)」はC2セルが”東京”という文字列と完全一致する場合のみ”対象”を返します。スペースの有無・全角半角・漢字の違いは区別されるため、入力データの揺れ(「東京都」「東京」など)には注意が必要です。TRIM関数でスペースを除去してから比較する「=IF(TRIM(C2)=”東京”,”対象”,”対象外”)」という書き方も実務でよく使います。
部分一致(セルに特定の文字が含まれる場合に反応させたい)を実現するにはCOUNTIF関数を組み合わせます。IF関数の論理式ではワイルドカードが使えないためです。「=IF(COUNTIF(D2,”*東京*”)>0,”含む”,”含まない”)」と書くことでD2セルに”東京”という文字列が含まれる場合に”含む”を返せます。COUNTIFがワイルドカードを処理し、その結果(0か1以上)をIFが評価する仕組みです。
空白セルの条件判定
セルが空欄かどうかで処理を分けるには「=””」またはISBLANK関数を使います。「=IF(E2=””,”未入力”,”入力済”)」はE2が空欄なら”未入力”、何か入力されていれば”入力済”を返します。ISBLANK関数を使う場合は「=IF(ISBLANK(E2),”未入力”,”入力済”)」と書きます。両者の違いは、数式の結果が空白(“”)のセルにはISBLANKがFALSEを返す点です。数式で空白を生成している場合は「=””」の方が正確に動作します。
セルに何かが入力されている場合だけ計算を実行させる使い方もよく見られます。「=IF(F2=””,””,F2*1.1)」とするとF2が空欄のときは空欄を返し、入力されているときだけ10%増し計算を実行します。空欄セルに対して計算を実行するとエラーが出る場合の防御策として有効です。入力データが揃っていない途中の表でも、残りのセルにエラーが表示されずすっきりした外観を保てます。
IF関数のネスト(入れ子)で複数の判定区分を作る
ネストIF関数の基本構文と読み方
IF関数の「真の場合」または「偽の場合」の引数に、さらにIF関数を埋め込む構造を「ネスト(入れ子)」と呼びます。「=IF(A2>=90,”優”,IF(A2>=70,”良”,IF(A2>=50,”可”,”不可”)))」という式は、A2が90以上なら”優”、70以上なら”良”、50以上なら”可”、それ未満なら”不可”を返す3段階ネストです。外側のIFが90以上を判定し、成立しなければ次のIFが70以上を判定、さらに成立しなければ次のIFが50以上を判定するという流れで処理されます。
ネストの注意点は閉じカッコの数です。IF関数を3つネストすれば閉じカッコは3つ必要です。Excelは数式エラー時にカッコの対応関係をカラーで表示するため、エラーが出たらカッコの個数を確認してください。Excel 365ではIF関数のネストは理論上64階層まで可能ですが、可読性の観点から4段階以上のネストは後述のIFS関数への切り替えを検討してください。
3段階以上の成績評価・累進判定の例
実務でよく使うネストIFのパターンを紹介します。成績の5段階評価なら「=IF(B2>=90,”S”,IF(B2>=80,”A”,IF(B2>=70,”B”,IF(B2>=60,”C”,”D”))))」と書きます。大切なのは条件を「大きい値から順番」に判定すること。90以上→80以上→70以上→60以上→残り(60未満=D)という順序で書かないと正しく動きません。例えば60以上を最初に判定してしまうと、90点の人も60以上の条件を満たすため”C”になってしまいます。
段階的な手数料率の計算にも使えます。「=IF(C2>=500000,C2*0.03,IF(C2>=200000,C2*0.05,IF(C2>=100000,C2*0.07,0)))」は、売上50万円以上は3%、20万円以上は5%、10万円以上は7%、10万円未満は0という手数料計算式です。このような累進的な計算はネストIFが非常に得意とする用途です。数式が長くなる場合はセル内でAlt+Enterを使って改行することで視認性が上がります。
IFS関数との使い分け(Excel 2019以降)
Excel 2019以降(Excel 365含む)では「IFS関数」が使えます。IFS関数の構文は「=IFS(論理式1,真の場合1,論理式2,真の場合2,…)」で、ネストIFと同じ処理をすっきり書けます。先ほどの成績評価をIFS関数で書くと「=IFS(B2>=90,”S”,B2>=80,”A”,B2>=70,”B”,B2>=60,”C”,TRUE,”D”)」となります。最後の「TRUE,”D”」は「それ以外の場合はD」という意味です。論理式を省略できないためTRUEを使って”常に成立する条件”として残りを処理します。
IFS関数の注意点はすべての条件に合致しない場合(TRUE条件なし)に#N/Aエラーが出る点です。ネストIFでは最後の「偽の場合」がデフォルトの返り値になりますが、IFS関数では明示的なTRUEが必要です。Excel 2016以前のファイルと共有する環境ではIFS関数が使えない点も注意してください。旧バージョンとの互換性が必要な場合はネストIFを使い、Excel 365専用環境ならIFS関数を選ぶのが現実的な使い分けです。
AND関数・OR関数との組み合わせで複数条件を判定する
AND関数で「すべての条件が成立」を判定する
複数の条件がすべて成立するときだけ反応させたい場合はIF関数の論理式にAND関数を組み込みます。「=IF(AND(A2>=70,B2>=70),”両方合格”,”いずれか不合格”)」はA2とB2の両方が70以上の場合のみ”両方合格”を返します。AND関数の構文は「AND(論理式1,論理式2,…)」で最大255の条件を指定できます。すべての条件がTRUEのときAND関数はTRUEを返し、1つでもFALSEがあればFALSEを返します。
実務でのAND活用例として「出勤日数が20日以上かつ売上が100万円以上の場合にボーナス対象とする」「年齢が65歳未満かつ勤続年数が3年以上の場合に昇格審査対象とする」などがあります。AND条件は日常の業務ルールを忠実に数式化できる強力なツールです。3つ以上の条件も「=IF(AND(A2>0,B2>0,C2>0),”全科目合格”,”不合格あり”)」のように追加できます。
OR関数で「いずれかの条件が成立」を判定する
複数の条件のうちどれか1つでも成立すれば反応させたい場合はOR関数を使います。「=IF(OR(C2=”東京”,C2=”大阪”,C2=”名古屋”),”主要都市”,”その他”)」はC2が東京・大阪・名古屋のいずれかなら”主要都市”を返します。OR関数は「OR(論理式1,論理式2,…)」の構文で、1つでもTRUEの条件があればTRUEを返します。
AND関数とOR関数の組み合わせも可能です。「=IF(AND(A2>=60,OR(B2=”A”,B2=”B”)),”推薦対象”,”対象外”)」はA2が60以上かつB2がAまたはBの場合のみ”推薦対象”を返します。複雑な複合条件もANDとORの組み合わせで表現できます。ただし入れ子が深くなると数式の可読性が落ちるため、条件が4つ以上になる場合はLET関数(Excel 365)で中間変数を定義する方法も検討してください。
NOT関数で条件を反転する使い方
NOT関数はTRUEをFALSEに、FALSEをTRUEに反転します。「=IF(NOT(A2=”完了”),”作業中”,”完了済”)」はA2が”完了”でない場合に”作業中”を返します。「=IF(A2<>“完了”,”作業中”,”完了済”)」と「<>」演算子を使っても同じ結果ですが、NOT関数はAND・OR関数と組み合わせるときに可読性が上がる場面があります。例えば「=IF(AND(NOT(ISBLANK(A2)),NOT(ISBLANK(B2))),”入力完了”,”未入力あり”)」はA2とB2の両方が非空欄の場合に”入力完了”を返します。
IF関数でよく発生するエラーと対処法
#VALUE!エラーの原因と解決策
#VALUE!エラーはデータ型の不一致が主な原因です。数値を比較する論理式に文字列が混入していると発生します。例えば「=IF(A2>=70,”合格”,”不合格”)」でA2に”70点”という文字列が入っている場合にエラーが発生します。解決策はVALUE関数で文字列を数値に変換する「=IF(VALUE(A2)>=70,”合格”,”不合格”)」か、入力データ側を数値に修正することです。ISNUMBER関数で事前にチェックする「=IF(ISNUMBER(A2),IF(A2>=70,”合格”,”不合格”),”数値を入力”)」という防御的な書き方も有効です。
#NAME?エラーは関数名のスペルミスが原因です。IFのスペルを誤って打った場合や全角文字の混入が典型的です。数式バーで関数名が候補リストにハイライトされているか確認し、半角英字で正しく入力してください。#N/Aエラーはネスト関数(VLOOKUP等)の戻り値が参照できない場合に発生し、後述のIFERROR関数で対処します。
条件が正しく判定されない場合のデバッグ手順
IF関数が期待通りに動かない場合のデバッグ方法を順番に説明します。まず論理式だけを別セルに入力して確認します。「=A2>=70」とセルに直接入力するとTRUEまたはFALSEが表示されます。TRUEなら条件は成立しているので「真の場合」の引数の問題、FALSEなら条件が成立していないので「偽の場合」の動作が正常です。この切り分けで問題の所在をすばやく特定できます。
次にデータの型を確認します。数値のように見えても実は文字列として保存されているセルはよくあります。セルを選択してホームタブの「数値の書式」ドロップダウンを確認し「文字列」と表示されていれば数値変換が必要です。また、空白スペースが混入しているセルは目視では発見困難なため、LEN関数で文字数を確認したりTRIM関数でスペースを除去してから比較することを推奨します。数式タブの「数式の評価」ウィンドウを使うと数式が段階的に評価される様子を追えて便利です。
IFERROR関数でエラーを非表示にする
IFERROR関数を使うとVLOOKUPや割り算など他の関数がエラーを返した場合に代替値を表示できます。構文は「=IFERROR(値, エラーの場合の値)」です。「=IFERROR(VLOOKUP(A2,D:E,2,FALSE),”該当なし”)」はVLOOKUPが#N/Aエラーを返した場合に”該当なし”を表示します。IF関数とIFERROR関数の組み合わせ「=IF(IFERROR(VLOOKUP(A2,D:E,2,FALSE),””)=””,”未登録”,VLOOKUP(A2,D:E,2,FALSE))」のように使うとエラー時の分岐もきめ細かく制御できます。
IFERROR関数の注意点は、エラーをすべて同じ代替値で隠してしまうため、本来検出すべきエラー(データの誤入力等)も見えなくなるリスクがあることです。開発・テスト中は使わず、データが確定した運用フェーズに適用するのが望ましい使い方です。また「=IFERROR(数式,0)」のように0を返す設定は、集計時に誤った合計値が出る原因になるため慎重に使用してください。
MOS Excel試験でIF関数が出題される具体的な場面
MOS Excel 365試験でのIF関数出題パターン
MOS Excel 365試験においてIF関数は全体問題の10~15%を占める頻出分野です。代表的な出題パターンは「指定したセルにIF関数を使って○○を判定する数式を入力する」というタスクです。問題文には判定条件・真の場合の値・偽の場合の値が明記されます。例えば「列Bの売上が500000以上の場合は達成、未満の場合は未達と表示するIF関数をC列に入力してください」のような形式です。
ネストIFやAND/OR条件との組み合わせタスクも出題されます。問題文に「かつ」が含まれればAND関数、「または」が含まれればOR関数の組み合わせを使うというシグナルになります。試験ではオートフィルで式をコピーすることが多いため、絶対参照($記号)が必要なセル参照かどうかも確認してください。条件の比較対象が固定のセル(条件値テーブル等)の場合は絶対参照が必要です。
試験でよくある操作ミスと対策
MOS試験でのIF関数ミスで最も多いのは引数の順番の混同です。「=IF(真の場合, 論理式, 偽の場合)」という誤った順序で入力するケースが見受けられます。正しい順序は「=IF(論理式, 真の場合, 偽の場合)」です。入力補助のポップアップ(関数の引数ツールチップ)を確認しながら入力する習慣をつけてください。
文字列の引数をダブルクォーテーションで囲み忘れるミスも頻発します。「=IF(A2>=70,合格,不合格)」と書くと”合格”や”不合格”がセル参照または名前として解釈されてエラーになります。数値以外の値は必ず「”合格”」のようにダブルクォーテーションで囲んでください。試験対策として、数式バーで数式を確認する際にテキストが緑色(文字列)・紫色(数値)で表示されているかを視覚的に確認する練習をしてください。
MOS Excel試験でIF関数を学ぶおすすめ順序
MOS Excel試験でIF関数を学習する効率的な順序を説明します。①基本構文(2択判定)→②文字列・空白の条件判定→③ネストIF(3~4段階)→④AND/OR関数との組み合わせ→⑤IFERROR関数との組み合わせの順が推奨です。基本から始めて段階的に複雑な構文に進むことで、つまずきを最小限に抑えられます。
各ステップで実際に手を動かして数式を入力することが重要です。①②を合計30~40回練習したら③に進み、各パターンを20~30回繰り返してください。模擬試験(MOS公式問題集やFOM出版のテキスト付属練習ファイル)を使って本番と同じ操作環境で練習するとより効果的です。試験ではEnterキーを押す前に数式バーを必ず確認し、引数の個数とダブルクォーテーションの対応を最終チェックしてください。
【PR】MOS Excel 365 対策テキストはこちら
▶ Amazonで対策本を見る
※本記事はAmazonアソシエイトを含みます(PR)
IF関数・IFS関数・SWITCH関数の比較表
| 比較項目 | IF関数 | IFS関数 | SWITCH関数 |
|---|---|---|---|
| 利用可能バージョン | 全バージョン対応 | Excel 2019以降・365 | Excel 2019以降・365 |
| 基本構文 | =IF(論理式,真,偽) | =IFS(条件1,値1,条件2,値2…) | =SWITCH(式,値1,結果1,値2,結果2…) |
| 得意な用途 | 2択判定・汎用 | 多段階の範囲判定 | 特定値との完全一致判定 |
| デフォルト値の指定 | 偽の場合で設定 | 末尾にTRUE,値で設定 | 末尾に値だけを記述 |
| 条件に比較演算子 | 使える(>= < 等) | 使える(>= < 等) | 使えない(完全一致のみ) |
| 旧バージョン互換性 | ◎(全バージョン) | △(2016以前不可) | △(2016以前不可) |
| MOS試験出題頻度 | ★★★(最頻出) | ★★(頻出) | ★(まれに出題) |
| ネストの読みやすさ | △(深いと読みにくい) | ○(条件が並列で見やすい) | ○(値一覧が整理される) |
よくある質問
IF関数が思い通りに動かない場合の確認ポイントは?
まず論理式だけをダミーセルで単独テストします(「=A2>=70」と入力してTRUE/FALSEを確認)。次にデータの型を確認します(数値に見える文字列に注意)。文字列比較ではTRIM関数でスペースを除去してから比較します。ダブルクォーテーションの閉じ忘れや全角文字の混入も確認してください。それでも解決しない場合は数式タブの「数式の評価」ウィンドウで数式が段階的に評価される様子を追うと問題の所在が特定できます。
IFS関数とIF関数はどちらを使うべきですか?
Excel 365・2019以降の環境でネストが3段階以上になる場合はIFS関数が読みやすくなります。Excel 2016以前との互換性が必要な場合はIF関数のネストを使ってください。MOS試験対策としてはIF関数のネストを確実にマスターすることが優先です。IFS関数はオプションとして学ぶ程度で十分で、両関数の違いを理解していれば試験問題にも対応できます。
IF関数で3つ以上の条件を設定するにはどうすればよいですか?
方法は2つあります。①IF関数のネスト(入れ子)で「=IF(条件1,値1,IF(条件2,値2,IF(条件3,値3,値4)))」と書く方法。②IFS関数(Excel 2019以降)で「=IFS(条件1,値1,条件2,値2,条件3,値3,TRUE,値4)」と書く方法です。条件が4段階以上になるならIFS関数の可読性が高くなります。どちらの方法でも条件を大きい値から順番に書くことが正確な動作の鍵です。
MOS Excel試験でIF関数はどれくらい出題されますか?
MOS Excel 365試験全体の約10~15%がIF関数関連のタスクです。全体35~40問中4~6問がIF関数に関連するとみておいてください。基本的な2択判定から、ネストIF・AND/OR条件との組み合わせまで幅広く出題されます。確実に得点するためには基本構文を自分の手から離れずに書けるレベルまで練習することが最重要です。
IFERROR関数の代わりにIF関数でエラー処理は可能ですか?
可能ですが記述が冗長になります。「=IFERROR(VLOOKUP(A2,D:E,2,0),”なし”)」をIF関数で書くと「=IF(ISERROR(VLOOKUP(A2,D:E,2,0)),”なし”,VLOOKUP(A2,D:E,2,0))」となりVLOOKUP数式を2回書く必要があります。古いExcelバージョン(Excel 2003以前)との互換が必要な場合を除き、IFERROR関数を使うほうが簡潔です。Excel 2010以降では特定のエラー種別のみ処理するIFNA関数(#N/AエラーのみキャッチするIFERROR亜種)もあります。
