エクセル関数辞典 エクセル関数辞典

IF関数の使い方|条件分岐の基本をマスター

IF 条件分岐 論理関数 Excel関数
広告スペース (article-top)

IF関数は、条件に応じて異なる結果を返すExcelの基本関数です。「もし~なら○○、そうでなければ△△」という条件分岐を数式で表現できます。成績の判定、在庫の警告表示、売上目標の達成判定など、あらゆる業務で使われます。

この記事では、IF関数の基本から実務で使えるテクニックまでを解説します。

IF関数の基本構文

=IF(論理式, 値が真の場合, [値が偽の場合])

引数の説明

引数説明必須/任意
論理式判定する条件。TRUEまたはFALSEに評価される式必須
値が真の場合論理式がTRUEのときに返す値必須
値が偽の場合論理式がFALSEのときに返す値。省略すると0が返される任意

論理式では、比較演算子(=、<>、>、<、>=、<=)を使って条件を記述します。

実践例1:合否判定

テストの点数が70点以上なら「合格」、それ未満なら「不合格」と表示します。

=IF(B2>=70, "合格", "不合格")

B2が70以上の場合は「合格」、70未満の場合は「不合格」が返されます。文字列を返す場合はダブルクォーテーションで囲む必要があります。

実践例2:在庫数に応じた発注判断

在庫数が一定数を下回ったら「要発注」と表示する例です。

=IF(C2<10, "要発注", "在庫あり")

C2の在庫数が10未満なら「要発注」、10以上なら「在庫あり」と表示されます。閾値を変更するだけで、さまざまな在庫管理に応用できます。

実践例3:IF関数のネスト(入れ子)

複数の条件で結果を分ける場合は、IF関数の中にIF関数を入れます。

成績をA・B・C・Dの4段階で評価する例です。

=IF(B2>=90, "A", IF(B2>=70, "B", IF(B2>=50, "C", "D")))

この数式は以下のように判定されます。

  1. 90点以上なら「A」
  2. 70点以上90点未満なら「B」
  3. 50点以上70点未満なら「C」
  4. 50点未満なら「D」

ネストは最大64段階まで可能ですが、3段階以上になると読みにくくなります。条件が多い場合はIFS関数やSWITCH関数の利用を検討してください。

実践例4:空白セルの判定

セルが空白かどうかを判定して処理を分ける例です。

=IF(A2="", "未入力", A2)

A2が空白なら「未入力」と表示し、入力されていればそのままA2の値を表示します。データの入力漏れチェックに使えます。

実践例5:AND関数・OR関数との組み合わせ

複数の条件を同時に判定する場合は、AND関数やOR関数と組み合わせます。

国語と数学の両方が70点以上で合格とする場合(AND条件)は次のように書きます。

=IF(AND(B2>=70, C2>=70), "合格", "不合格")

国語または数学のいずれかが70点以上で合格とする場合(OR条件)は次の通りです。

=IF(OR(B2>=70, C2>=70), "合格", "不合格")

AND関数はすべての条件がTRUEの場合にTRUEを返し、OR関数はいずれかの条件がTRUEの場合にTRUEを返します。

よくあるエラーと対処法

文字列の比較でうまくいかない場合

IF関数の文字列比較は大文字・小文字を区別しません。「ABC」と「abc」は同じとみなされます。大文字・小文字を区別したい場合は、EXACT関数を使います。

=IF(EXACT(A2, "ABC"), "一致", "不一致")

#VALUE!エラー

論理式が正しく評価できない場合に発生します。比較演算子の使い方や、セルの参照が正しいかを確認してください。

数値と文字列の比較

数値のつもりで入力したデータが文字列として保存されている場合、比較がうまくいかないことがあります。セルの書式設定や、VALUE関数による変換を確認してください。

ネストが深くなりすぎる場合

IF関数のネストが3段階以上になる場合は、以下の代替手段を検討しましょう。

  • IFS関数: 複数の条件を順番に評価する(Excel 2019以降)
  • SWITCH関数: 値に応じて結果を切り替える
  • VLOOKUP関数: 判定基準をテーブル化して参照する

IF関数と他の関数の便利な組み合わせ

ISBLANK関数との組み合わせ

=IF(ISBLANK(A2), "未入力", "入力済")

ISBLANKはセルが完全に空のときTRUEを返します。A2=""との違いは、数式が空文字列を返している場合の判定です。

ISERROR関数との組み合わせ

=IF(ISERROR(B2/C2), "計算不可", B2/C2)

割り算の分母が0の場合のエラーを事前に回避できます。ただし、この用途ではIFERROR関数を使う方がシンプルです。

COUNTIF関数との組み合わせ

=IF(COUNTIF(A:A, A2)>1, "重複あり", "")

データの重複をチェックする実務的な例です。

Google スプレッドシートでの互換性

IF関数はGoogle スプレッドシートでも完全に同じ構文で使用できます。ネストの制限やAND/OR関数との組み合わせも同様に動作します。

まとめ

IF関数は条件分岐の基本となる関数です。

  • 論理式にはさまざまな比較演算子が使える
  • 文字列を返す場合はダブルクォーテーションで囲む
  • AND関数・OR関数と組み合わせて複数条件に対応できる
  • ネストが深くなる場合はIFS関数やSWITCH関数を検討する

IF関数を使いこなすことで、Excelでの条件付き処理の幅が大きく広がります。まずは基本的な2択の条件分岐からはじめ、徐々に複雑な条件処理にも挑戦してみてください。

広告スペース (article-bottom)

あわせて読みたい