【Excel】IF関数の使い方|基本から複数条件・ネストまで初心者向けに解説

ExcelのIF関数は「もし〜だったら○○、そうでなければ△△」という条件分岐ができる超便利な関数だよ!基本から応用まで、一緒にマスターしていこう!
- IF関数の基本構文と3つの引数の意味
- 比較演算子(=、<>、>=など)の使い方
- 数値・文字列・空白を条件にした実践的な使い方
- AND関数・OR関数と組み合わせて複数条件を指定する方法
- IF関数のネスト(入れ子)で3つ以上に条件分岐する方法
- IFS関数との違いと使い分け
Sub IF自動判定()
Dim ws As Worksheet
Set ws = ActiveSheet
Dim i As Long
For i = 2 To 6
If ws.Cells(i, “B”).Value >= 80 Then
ws.Cells(i, “C”).Value = “合格”
Else
ws.Cells(i, “C”).Value = “不合格”
End If
Next i
MsgBox “5件の判定が完了しました”
End Sub
| A | B | C | |
|---|---|---|---|
| 1 | 名前 | 点数 | 結果 |
| 2 | 田中 | 85 | 合格 |
| 3 | 鈴木 | 62 | 不合格 |
| 4 | 佐藤 | 91 | 合格 |
| 5 | 山田 | 45 | 不合格 |
| 6 | 高橋 | 78 | 不合格 |
☝ 実務では条件を変更してAND/OR関数と組み合わせることも可能です
IF関数とは?条件によって結果を変えるExcelの基本関数
IF関数は、指定した条件が成立するかどうかによって、表示する値を切り替えるExcelの関数です。
例えば「テストの点数が80点以上なら”合格”、80点未満なら”不合格”と表示する」といった処理を自動化できます。
データが数十件、数百件あっても、IF関数を使えば一瞬で判定結果を出せるので、手入力によるミスも防げます。
IF関数の基本構文(書き方)
IF関数の基本的な書き方は次のとおりです。
=IF(論理式, 真の場合, 偽の場合)| 引数 | 意味 | 入力例 |
|---|---|---|
| 論理式 | 判定する条件 | A1>=80 |
| 真の場合 | 条件が成立したときに返す値 | “合格” |
| 偽の場合 | 条件が不成立のときに返す値 | “不合格” |
文字列を指定する場合は、ダブルクォーテーション(””)で囲みます。数値はそのまま入力できます。
IF関数で使える比較演算子一覧
論理式で条件を指定する際に使う比較演算子をまとめました。
| 演算子 | 意味 | 使用例 | 読み方 |
|---|---|---|---|
| = | 等しい | A1=100 | A1が100と等しい |
| <> | 等しくない | A1<>0 | A1が0ではない |
| > | より大きい | A1>80 | A1が80より大きい |
| < | より小さい | A1<50 | A1が50より小さい |
| >= | 以上 | A1>=80 | A1が80以上 |
| <= | 以下 | A1<=100 | A1が100以下 |
IF関数の基本的な使い方【実践】
ここからは、実際にIF関数を使った具体例を見ていきましょう。
数値を比較して結果を表示する
最もよく使うパターンが、数値を比較して判定結果を表示するケースです。
例:テストの点数が80点以上なら”合格”、未満なら”不合格”と表示
=IF(B2>=80,"合格","不合格")この数式では、B2セルの値が80以上かどうかを判定しています。条件を満たせば「合格」、満たさなければ「不合格」と表示されます。
数式を入力したら、セルの右下をドラッグしてオートフィルすれば、他の行にも一括で適用できます。
文字列を条件に使う
IF関数では、文字列を条件として指定することもできます。
例:部署が”営業”なら”外勤手当あり”、それ以外は”なし”と表示
=IF(C2="営業","外勤手当あり","なし")文字列を論理式で使う場合も、ダブルクォーテーションで囲むのがポイントです。
空白かどうかを判定する
セルが空白のときに特定の処理をしたい場合もIF関数で対応できます。
例:セルが空白なら何も表示せず、値があれば計算する
=IF(A2="","",A2*B2)空白を表す場合は「””」(ダブルクォーテーション2つ)を使います。この書き方を覚えておくと、未入力のセルでエラーが表示されるのを防げます。
IF関数で複数条件を指定する方法
IF関数単体では1つの条件しか指定できませんが、AND関数やOR関数と組み合わせることで複数条件に対応できます。
AND関数と組み合わせる(すべての条件を満たす場合)
AND関数は「すべての条件がTRUE」のときにTRUEを返す関数です。IF関数の論理式にAND関数を組み込むことで、複数条件をすべて満たす場合の処理を指定できます。
例:国語と数学の両方が80点以上なら”合格”
=IF(AND(B2>=80,C2>=80),"合格","不合格")AND関数の中に条件をカンマ区切りで並べます。条件は3つ以上でも指定可能です。
OR関数と組み合わせる(いずれかの条件を満たす場合)
OR関数は「いずれかの条件がTRUE」のときにTRUEを返す関数です。
例:国語または数学のどちらかが90点以上なら”優秀”
=IF(OR(B2>=90,C2>=90),"優秀","通常")AND関数との違いをしっかり理解しておくと、実務での使い分けがスムーズになります。
IF関数のネスト(入れ子)で3つ以上の条件分岐
IF関数の「偽の場合」の引数にさらにIF関数を入れることで、3つ以上の結果に分岐できます。これをネスト(入れ子)と呼びます。
ネストの基本的な書き方
例:点数に応じて”A”、”B”、”C”の3段階で評価する
=IF(B2>=80,"A",IF(B2>=60,"B","C"))この数式の処理の流れは次のとおりです。
- まずB2が80以上か判定 → TRUEなら「A」
- FALSEなら次のIF関数へ → B2が60以上か判定 → TRUEなら「B」
- それもFALSEなら「C」
ネストは最大64段階まで可能ですが、3段階以上になると数式が読みにくくなります。その場合はIFS関数の利用がおすすめです。
IFS関数で簡単に書く方法(Excel 2019以降)
IFS関数を使うと、ネストなしで複数の条件分岐を記述できます。
IF関数のネストをIFS関数で書き換えた例:
=IFS(B2>=80,"A",B2>=60,"B",TRUE,"C")IFS関数は条件と結果のペアを順番に並べるだけなので、カッコの入れ子が不要で見やすくなります。
最後の「TRUE,”C”」は、どの条件にも当てはまらなかった場合のデフォルト値です。

IFS関数はExcel 2019以降やMicrosoft 365で使えるよ。古いバージョンを使っている場合はIF関数のネストを使おう!
IF関数と一緒に覚えたい関連関数
IF関数をマスターしたら、あわせて覚えておきたい関連関数を紹介します。
IFERROR関数:エラー時の表示を制御
IFERROR関数は、数式がエラーになった場合に、指定した値を代わりに表示する関数です。
=IFERROR(計算式, エラー時の値)例:VLOOKUP関数のエラーを空白にする
=IFERROR(VLOOKUP(A2,商品表,2,FALSE),"")#N/A、#DIV/0!、#REF! などすべてのエラーに対応できます。
COUNTIF・SUMIF関数:条件付きで集計
IF系の派生関数として、条件に合うデータを集計する関数も便利です。
| 関数名 | 機能 | 書き方の例 |
|---|---|---|
| COUNTIF | 条件に合うセルの個数を数える | =COUNTIF(A:A,"合格") |
| SUMIF | 条件に合うセルの合計を求める | =SUMIF(A:A,"営業",B:B) |
これらの関数の詳しい使い方は、以下の記事で解説しています。
IF関数の処理をVBAで自動化する方法
IF関数の条件判定をVBAのIf…Then…Else構文で自動化すれば、数百行のデータも一括で判定処理できます。
' 点数に応じて合格・不合格を自動判定するマクロ
Sub IF自動判定()
Dim ws As Worksheet
Set ws = ActiveSheet
Dim i As Long
For i = 2 To 6
If ws.Cells(i, "B").Value >= 80 Then
ws.Cells(i, "C").Value = "合格"
Else
ws.Cells(i, "C").Value = "不合格"
End If
Next i
MsgBox "5件の判定が完了しました"
End Sub
VBAマクロの実行結果は記事冒頭のインタラクティブデモで確認できます。ボタンを押すとアニメーションで動作をシミュレーションします。
IF関数でよくある質問(FAQ)
IF関数で何も表示したくないときはどうすればいい?
真の場合または偽の場合に「””」(空の文字列)を指定します。例えば、条件を満たさないときに空白にしたい場合は =IF(A1>=80,"合格","") と入力します。
IF関数の論理式で文字列を比較するとき、大文字と小文字は区別される?
いいえ、ExcelのIF関数では大文字と小文字は区別されません。「ABC」と「abc」は同じものとして扱われます。大文字・小文字を区別したい場合はEXACT関数と組み合わせてください。
IF関数のネストは何段階まで使える?
Excel 2007以降では最大64段階までネストできます。ただし、3段階以上になる場合はIFS関数やVLOOKUP関数を使ったほうが読みやすくなります。
IF関数で「〜以上かつ〜以下」のように範囲を指定したい
AND関数と組み合わせます。例:=IF(AND(A1>=60,A1<=80),"B","その他") のように書くと、60以上80以下の場合に「B」と表示されます。
#VALUE!エラーが出るのはなぜ?
論理式の書き方に問題がある可能性があります。よくある原因は、全角のカンマや括弧を使っている、セル参照が間違っている、などです。数式内の記号はすべて半角で入力してください。
実際の操作手順をクリックして体験できます。各ステップをクリックしてみましょう。
| A | B | C | |
|---|---|---|---|
| 1 | 名前 | 点数 | 判定 |
| 2 | 田中 | ← 選択 合格 | |
| 3 | 鈴木 | 合格 | |
| 4 | 佐藤 | 不合格 | |
| 5 | 高橋 | 不合格 |
まとめ
IF関数はExcelで条件分岐を行うための基本関数です。この記事で紹介した内容をおさらいします。
- IF関数の基本構文は
=IF(論理式, 真の場合, 偽の場合) - 比較演算子(=、<>、>=、<=、>、<)で条件を指定する
- AND関数・OR関数と組み合わせて複数条件に対応できる
- 3つ以上の分岐にはネストまたはIFS関数を使う
- 空白処理は「””」で指定する
- エラー対策にはIFERROR関数が便利
IF関数を使いこなせるようになると、データの判定作業が格段に効率化します。まずは基本の書き方から実際に手を動かして試してみてください。
Excelスキルを活かしてSNS運用も自動化しませんか?
Excelの関数をマスターしたあなたなら、Googleスプレッドシート×GAS(Google Apps Script)を使ったSNS自動化ツールもすぐに使いこなせます。X(Twitter)やThreadsの予約投稿を、月額0円で自動化する方法をまとめています。
→ SNS予約投稿ツール完全ガイド|無料&買い切りツールを徹底比較
関連記事
- 【Excel】IFERROR関数の使い方!エラーを非表示にする方法を図解で解説 — エラー処理に
- 【Excel】COUNTIFS関数の使い方!複数条件でデータを数える方法を図解で解説 — 条件付きカウントに
- 【Excel】VLOOKUP関数の使い方!データ検索の基本を図解で解説 — データ検索に
- Excelおすすめ関数6選|初心者が最初に覚えるべき関数ガイド — Excel関数の全体像
VBA開発・GAS連携・Webアプリ化まで、
業務に合わせた最適な自動化をご提案します。
LINEでExcelを気軽に学べる
