- IF関数でどんなことができるのか知りたい
- IF関数の基本構文(引数、戻り値)を知りたい
- 複数条件での使用やエラー対策を知りたい
このようなお悩みをお持ちですか?
この記事にすべてまとめました。
Excel初心者でも理解しやすいように、できるだけわかりやすく解説いたします。
-著者情報-
名前:Utatane
Excel使用歴:15年以上
ひとこと:初心者だった当時に戻った気持ちになって解説いたします
※わかりやすさを重視しております。厳密には解釈が異なる場合がありますことをご了承ください。
実演パソコンのスペック(ソフトやバージョンによっては、表示や結果が異なる場合があります)
- OS:Windows11 Home 64bit
- Excel:Microsoft Office Home and Business 2021
ExcelのIF関数とは?
Excelの「IF」は、条件に応じて結果を分けることができる関数です。
例えば【テストの点数が70点以上なら「合格」、そうでなければ「不合格」】といった判定を自動化できます。
もし(if)、○○が●●(条件式)なら◆◆、そうでなければ▲▲といった処理をしたい時に使える関数です。
【日常業務でよく使われる場面】
- 合否判定
- 在庫の有無チェック
- 売上達成に応じた条件分岐
- 期限に応じた優先順位選定
ではIF関数の使い方を見ていきましょう。
IF関数の使い方
まずはIF関数の基本構文と簡単な使い方から基礎を学びましょう。
基本構文と簡単な使い方
IF関数の基本構文は以下の通りです。
▼基本構文
=IF(条件式, 条件式が該当した場合の処理, 条件式が該当しなかった場合の処理)
【もし、A1セルが0なら、B1に「0です」と表示、そうでなければB1に「0でありません」と表示】
という処理をしたかったとします。
構文に当てはめると、以下の通りになります。
▼使用例
=IF(A1=0, "0です", "0ではありません")
「0です」など、文字列を当てはめる場合は、「”(ダブルクォーテーション)」で囲んでください。

IF関数の引数は3種類あります。
- 第一引数:条件式
- 第二引数:条件式(第一引数)が該当した場合の処理【返り値】
- 第三引数:条件式(第一引数)が該当しなかった場合の処理【返り値】
返り値は第二引数か第三引数のどちらかです。
第一引数の条件式が該当した場合は第二引数を、該当しなかった場合は第三引数を返り値として返します。
引数や返り値については、下記記事をご参考ください。
では次に、実用的なものを中心に、IF関数の使用例を紹介いたします。
実用的な使用例
紹介する例は以下の3つです。
- 数値の判定
- 文字列の判定
- 日付の判定
まずはより使用頻度の高い「数値の判定」から見ていきましょう。
数値の判定

上図は、A1セルの数値が70以上なら「合格」、それ以外なら「不合格」と表示させた例です。
条件式は「○○=●●」という一致の他にも、不等号を使ったいろいろなものがあります。
【条件式の例】
- A1=70:A1セルが70と等しい
- A1>=70:A1セルが70以上
- A1<=70:A1セルが70以下
- A1>70:A1セルが70より多い(超える)
- A1<70:A1セルが70より少ない(未満)
- A1<>70:A1セルが70と等しくない
例えば、「5未満なら在庫発注」「0以外なら計算見直し」などと表示させることができます。
【注意点】
数値が文字列になってしまっている時や、文字列が含まれる場合は正常に判定されませんので注意しましょう。

文字列の判定
次は文字列の判定です。
基本構文の項でも軽くお見せしましたが、
文字列の判定は「○○=●●」という一致と、「○○<>●●」という不一致の2通りだけです。

日付の判定
日付に応じた条件分岐も可能です。

上図は、期限までが1週間以内なら、「もうすぐ期限」と表示させた例です。
「””」は空白の意味で、何も表示しないという意味です。
条件式は数値の時と同じように、不等号で比較できます。
複数条件での使用例
A1セルの値が「1以上」かつ「5以下」の場合に「残りわずか」と表示させたい場合はどうしたらいいのでしょうか?
まずは暫定版として、1以上で「残りわずか」と表示するIF関数を記述します。

次に、「”残りわずか”」の部分を消して、5以下の処理をするIF分を重ねて記述します。

これで、「1以上」かつ「5以下」の場合に「残りわずか」と表示させるIF関数が完成しました。
このように、IF関数の中にIF関数を重ね書きすることを「入れ子(ネスト)」といいます。
入れ子(ネスト)は使いすぎる(重ねすぎる)と書き間違いや読み間違いが起こりやすいので注意しましょう。
今回はA1セルに限定していますが、「A1セルが1以上」かつ「A2セルが5以下」なら○○という処理も可能です。
応用例
IF関数と他の関数を組み合わせた応用例をいくつか紹介いたします。
AND・OR関数と組み合わせる
「複数条件での使用例」の項で「1以上かつ5以下」の例を紹介いたしました。
実は、AND関数を組み合わせることで、入れ子を使わずに完成させることができます。
=IF(AND(A1>=1, A1<=5), "残りわずか", "")
↑ AND関数を使った例 ↓ IFをネストした例 (結果は同じ)
=IF(A1>=1, IF(A1<=5, "残りわずか", ""), "")
AND関数は()内の条件式が全て該当した場合「真(TRUE)」を返します。
「真(TRUE)」を受け取ったIF関数は、「該当した場合の処理」を行います。
AND関数内の該当しない条件式が1つ以上ある場合は、「偽(FALSE)」を返すため、
IF関数は「該当しない場合の処理」を行います。
少し難しいですが、「真(TRUE)」と「偽(FALSE)」は、Excel関数ではよく出てくるため、余裕があれば覚えておいてください。
ANDと似た関数に「OR」があり、
こちらは()内の条件式が1つ以上該当する場合は真を、
全て該当しない場合は偽を返します。
○:該当する ●:該当しない
- AND(○, ○, ○):真
- AND(○, ○, ●):偽
- AND(●, ●, ●):偽
- OR(○, ○, ○):真
- OR(○, ○, ●):真
- OR(●, ●, ●):偽
VLOOKUP関数と組み合わせる
A1セルの商品の価格が1500円以上なら適用外と表示する例です。
=IF(VLOOKUP(A1, D:E,2,0)>=1500, "適用外", "")

A1セルの商品をD~E列の価格表からVLOOKUPで検索し、価格を返します。
その価格が1500円以上なら適用外と表示させることで完成です。
VLOOKUP関数については、下記記事をご参考ください。
LEFT関数と組み合わせる
文字数制限をクリアしたい場合に用いる組み合わせです。
=IF(LEN(A1)>8, LEFT(A1, 8), A1)

8文字を超える場合は、8文字までを抽出するという処理ができます。
IFS関数との違い
IF関数は、「条件式に該当した場合」と「該当しなかった場合」の2種類の処理をする関数です。
3種類・4種類となった場合、ネストするなど構文が複雑になって相性が悪いです。
下記のように、条件に応じた処理が多い場合は、IFS関数がオススメです。
- A1が70以上:合格
- A1が50以上:もう少し
- A1が50未満:頑張りましょう
▼IFSの基本構文
=IFS(条件式1, 条件式1が該当する場合の処理, 条件式2, 条件式2が該当する場合の処理, ・・・)
▼IFSの使用例
=IFS(A1>=70, "合格", A1>=50, "もう少し", A1<50, "頑張りましょう")
「条件式, 処理, 条件式, 処理」という具合に、全てカンマで区切られている点に注意しましょう。
IFS関数の判定は左から順に行われます。
A1の値が100だった場合、「70以上」と「50以上」がどちらも該当しますが、左にある70以上がHITして処理されます。
IF関数でよくあるエラーと対処法
セルに「TRUE/FALSE」が表示される
引数が適切に指定できていない可能性があります。
引数が3つ存在するかを確認してみましょう。
セルに「#NAME?」が表示される
関数名が間違っている場合に出るエラーです。
関数名を再確認してみてください。
古いExcelでは、関数が登録されていない場合がありますので、バージョンと関数の登録を確認しましょう。
文字列を「”」で囲んでいない場合にも出る可能性がありますので、併せて確認してみてください。
「この数式には問題があります」と表示される
条件式または引数が適切に指定できていない可能性があります。
入れ子をしたり、他の関数と組み合わせる場合は、()の数やカンマの数を再チェックしてみましょう。
最後に
ExcelのIF関数について解説いたしました。
当ブログでは、VBAマクロやPythonなど、時間を生み出すプログラミング術を公開しております。
この記事がわかりやすいと感じた方は、他の記事も読んでいってください。
最後までお読みいただき、ありがとうございました。がんばってください!