ExcelのIF関数の使い方を2026年版で徹底解説!条件分岐・複数条件・エラー対策まで完全攻略
ExcelのIF関数は、指定した条件が成立するかどうかを判定し、その結果に応じて表示する値や計算内容を切り替える関数です。合否判定、売上目標の達成確認、在庫管理、請求データのチェックなど、日々の業務で幅広く活用できます。
基本の書式はシンプルですが、比較演算子の使い分け、文字列を囲むダブルクォーテーション、AND・ORによる複数条件、IF関数の入れ子など、つまずきやすいポイントも少なくありません。2026年にExcelを使う人に向けて、Microsoftの公式サポート情報を踏まえながら、具体的な数式と実務での活用方法を解説します。
📌 【この記事の重要ポイントまとめ】
- 基本の書き方:IF関数は「条件・条件が真の場合・条件が偽の場合」の3要素で結果を切り替える。
- 応用のポイント:以上・以下・等しいなどの比較演算子に加え、AND・ORや入れ子を使うことで複雑な条件にも対応できる。
- エラー対策:IFERROR関数やIFS関数との違いを理解し、数式の誤りを隠さず、読みやすく管理することが大切。
【基本編】ExcelのIF関数とは?書式・引数・使い方を解説
IF関数の役割は、条件を判定して結果を2つに分けることです。例えば、テストの点数が80点以上なら「合格」、80点未満なら「不合格」と表示したい場合に使います。
IF関数は、条件に応じて処理を分岐させる「条件分岐」の基本となる関数です。最初に書式と3つの引数を理解すれば、応用の数式も読み解きやすくなります。
IF関数の書式と3つの引数
基本の書式は次のとおりです。
=IF(論理式, 真の場合の値, 偽の場合の値)
Microsoftの公式サポートでは、英語表記の構文としてIF(logical_test, value_if_true, [value_if_false])が案内されています。第3引数は省略可能ですが、実務では条件が成立しない場合に何を返すのかも明示すると、数式の意図が分かりやすくなります。
- 第1引数:論理式 — 判定したい条件を指定する。例:A2が80以上かどうか。
- 第2引数:真の場合の値 — 条件がTRUEになったときに返す値や計算式。
- 第3引数:偽の場合の値 — 条件がFALSEになったときに返す値や計算式。
例えば、セルA2にテストの点数が入力されている場合、次の数式で合否を判定できます。
=IF(A2>=80,"合格","不合格")
A2が80なら「合格」、79なら「不合格」と表示されます。80点ちょうども合格に含めるため、比較演算子には「以上」を意味する「>=」を使用します。
IF関数を入力する手順
- 結果を表示したいセルを選択する。
- 半角の「=」を入力し、続けてIF関数を入力する。
- 条件、真の場合の値、偽の場合の値を指定する。
- 閉じかっこを入力し、Enterキーを押す。
- 期待した結果になるか確認し、必要に応じてほかの行へ数式をコピーする。
関数の引数をカンマで区切るのが一般的な書き方ですが、Excelの地域設定などによって区切り記号が異なる場合があります。入力時に数式エラーが出た場合は、利用環境の設定も確認してください。
【条件指定編】以上・以下・等しい・文字列・空白の判定方法
IF関数で特につまずきやすいのが、条件を表す記号の選択です。「80点以上」と「80点より大きい」は同じではありません。境界値を含むかどうかによって判定結果が変わるため、演算子の意味を正確に理解する必要があります。
Microsoftの公式サポートが示す比較演算子を、よく使う条件と具体例に整理しました。
| 演算子 | 意味 | IF関数での使用例 | 80との比較例 |
|---|---|---|---|
| = | 等しい | =IF(A2=80,"該当","対象外") | 80だけ該当 |
| > | より大きい | =IF(A2>80,"合格","不合格") | 81以上が該当 |
| < | より小さい | =IF(A2<80,"未達","達成") | 79以下が該当 |
| >= | 以上 | =IF(A2>=80,"合格","不合格") | 80以上が該当 |
| <= | 以下 | =IF(A2<=80,"基準内","基準超過") | 80以下が該当 |
| <> | 等しくない | =IF(A2<>80,"異なる","一致") | 80以外が該当 |
数値を比較する場合の注意点
数値を比較するときは、条件に数値をそのまま記述します。例えば、売上が10万円以上なら「達成」と表示する場合は、次の数式です。
=IF(B2>=100000,"達成","未達")
ここで100000を文字列として扱う必要はありません。数値の比較では、セルに入力されているデータが本当に数値なのかも確認しましょう。見た目が「100000」でも、文字列として保存されているデータでは、期待した比較にならない場合があります。
文字列を条件にする場合はダブルクォーテーションで囲む
セルに入力された文字を判定する場合は、条件となる文字列を半角のダブルクォーテーションで囲みます。
=IF(C2="完了","処理済み","未完了")
C2が「完了」と一致すれば「処理済み」、それ以外なら「未完了」です。「完了」という文字を引用符で囲まずに記述すると、Excelが関数名や定義名として解釈し、#NAME?エラーになることがあります。
なお、条件にセル参照を使う場合、例えばD2の内容と一致するか判定するときは、=IF(C2=D2,"一致","不一致")と書きます。セル参照そのものをダブルクォーテーションで囲む必要はありません。
空白セルを判定する方法
入力がないセルに対して結果を表示したくない場合や、未入力のデータを見つけたい場合は、空白判定を利用します。
空白なら「未入力」と表示する例:
=IF(A2="","未入力","入力済み")
空白なら何も表示しない例:
=IF(A2="","",A2*1.1)
後者は、A2が空白なら空文字列を返し、値が入っていればその値に1.1を掛けます。見積金額に消費税相当の係数を掛けるなど、入力前のセルに不要な数値を表示したくない場合に応用できます。実際の税率計算では、適用税率や端数処理を別途適切に設定してください。
ただし、=IF(ISBLANK(A2),"未入力","入力済み")と書く方法もあります。ISBLANK関数は本当に空のセルを判定するのに対し、A2が数式によって空文字列「""」を返している場合は、空白セルとは判定されません。数式の結果が空文字列になる可能性があるなら、A2=""による判定が便利です。
【複数条件編】IF関数とAND・ORを組み合わせる方法
実務では、1つの条件だけで判断できないケースが少なくありません。「売上目標を達成し、かつ必要書類を提出したら承認」「緊急案件であるか、一定金額以上なら優先対応」といったルールには、IF関数とAND・ORを組み合わせます。
AND関数はすべての条件を満たす場合
AND関数は、指定した条件がすべてTRUEになったときにTRUEを返します。例えば、80点以上で、かつ課題を提出済みの場合に「合格」とする数式は次のとおりです。
=IF(AND(B2>=80,C2="提出済み"),"合格","確認")
この数式では、B2が80以上であることと、C2が「提出済み」であることの両方が必要です。片方でも条件を満たさなければ「確認」と表示されます。
AND関数は、申請条件の確認、勤怠チェック、売上目標と提出状況の組み合わせなど、複数の条件をすべて満たす必要がある業務に向いています。
OR関数はいずれかの条件を満たす場合
OR関数は、指定した条件のうち少なくとも1つがTRUEならTRUEを返します。緊急案件であるか、金額が10万円以上なら「優先対応」とする場合は、次のように記述します。
=IF(OR(B2="緊急",C2>=100000),"優先対応","通常")
B2が「緊急」なら、C2が10万円未満でも「優先対応」です。反対に、B2が「通常」でもC2が10万円以上なら同じ結果になります。
ANDとORの違いは、ANDが「すべて」、ORが「いずれか」を条件とする点です。複数条件を設定するときは、数式を書く前に業務ルールを文章にしておくと、条件の取り違えを防ぎやすくなります。
ANDとORを組み合わせる場合
複数の条件をさらに組み合わせることも可能です。例えば、商品が「緊急」または「重要」であり、かつ在庫が10個未満の場合に発注候補とするなら、次の数式を使えます。
=IF(AND(OR(A2="緊急",A2="重要"),B2<10),"発注候補","通常")
OR関数で重要度を判定し、その判定結果と在庫条件をAND関数で組み合わせています。条件のまとまりが分かるように、かっこの対応関係を確認しながら入力しましょう。
【応用編】IF関数の入れ子(ネスト)とIFS関数の使い分け
IF関数は、別のIF関数を引数の中に入れる「入れ子」にも対応しています。3段階以上の評価や、金額に応じた区分判定など、条件に応じて複数の結果を返したいときに便利です。
IF関数を入れ子にして段階評価を行う
テストの点数に応じて、90点以上ならA、80点以上ならB、70点以上ならC、それ未満ならDと表示する場合は、次の数式を使います。
=IF(B2>=90,"A",IF(B2>=80,"B",IF(B2>=70,"C","D")))
この数式は、最初に90点以上かどうかを判定し、条件を満たさなければ80点以上かどうかを判定します。さらに条件を満たさなければ70点以上かどうかを判定し、最後にどれにも該当しない場合はDを返します。
このように、上位の条件から順番に判定することが大切です。例えば70点以上の条件を最初に置いてしまうと、90点の人も70点以上に該当し、後続の条件が評価されません。複数の範囲に重なりがある場合は、条件の順序を慎重に設計してください。
IFS関数とIF関数の違い
条件が多くなると、入れ子のIF関数はかっこの数が増え、読み間違いや修正漏れが起こりやすくなります。Microsoft 365や対応するExcelのバージョンでは、複数の条件を順番に判定するIFS関数も利用できます。
先ほどの段階評価は、IFS関数を使うと次のように記述できます。
=IFS(B2>=90,"A",B2>=80,"B",B2>=70,"C",TRUE,"D")
IFS関数は、最初にTRUEになった条件に対応する値を返します。最後の「TRUE,"D"」は、前の条件に当てはまらなかった場合の既定の結果です。これを設定しない場合、どの条件にも当てはまらないと#N/Aエラーになることがあります。
IF関数とIFS関数は、次の基準で使い分けるとよいでしょう。
- IF関数:条件が1つ、または少数で、真偽に応じて2つの結果を切り替えたい場合。
- 入れ子のIF関数:条件の中でさらに別の条件を判定する必要があり、対応するExcel環境も含めて互換性を重視する場合。
- IFS関数:点数や金額など、複数の条件を順番に判定して区分したい場合。
IFS関数は対応するExcelのバージョンで利用する必要があります。古い環境とファイルを共有する場合は、受け取り側で関数が認識されるかを事前に確認してください。また、どの関数でも条件を増やしすぎると保守が難しくなります。条件が複雑な場合は、判定基準を別表にまとめる設計も検討できます。
【実務活用編】IF関数で業務を効率化する具体例
IF関数の価値は、単に「合格」「不合格」と表示することだけではありません。判断基準を数式にしておけば、同じルールを大量のデータに適用でき、手作業による判定のばらつきを減らせます。
1.売上目標の達成判定
目標額がB2、実績額がC2に入力されている場合、実績が目標以上なら「達成」と表示する数式は次のとおりです。
=IF(C2>=B2,"達成","未達")
目標額が行ごとに異なる売上管理表でも、数式をコピーするだけで各行の達成状況を判定できます。達成率を別の列で計算する場合は、目標額がゼロのときに除算エラーが発生しないよう、追加の条件判定を設けると安全です。
2.在庫数に応じた発注アラート
現在庫がB2、発注基準数がC2の場合、在庫が基準以下なら「発注」、それ以外なら「在庫十分」と表示できます。
=IF(B2<=C2,"発注","在庫十分")
在庫管理では、基準数と同じ数量になった時点で発注対象にするのか、それとも基準を下回った場合だけ対象にするのかが重要です。前者なら「<=」、後者なら「<」を使います。実際の発注業務では、納期、最低発注数、安全在庫などの条件も考慮してください。
3.期限超過のチェック
提出期限がD2に入力されている場合、期限が未入力なら何も表示せず、期限を過ぎていれば「期限超過」と表示する例です。
=IF(D2="","",IF(D2
TODAY関数は現在の日付を返します。この数式は、D2が空白なら空文字列を返し、日付が今日より前なら「期限超過」、それ以外なら「期限内」と判定します。日付が今日と同じ場合は「期限内」です。Excelの日付として認識されている値を使用してください。
4.請求データや申請書の未入力確認
取引先名がA2に入っているかどうかを確認し、未入力の場合に警告を出すこともできます。
=IF(A2="","取引先名を入力","OK")
このような判定を各必須項目に設定すれば、請求書や申請一覧のチェックを効率化できます。ただし、セルが埋まっていることと、入力内容が正しいことは別です。入力漏れを検出するIF関数と、値の妥当性を検証する仕組みを組み合わせると、より実用的な管理表になります。
【エラー対策編】IF関数が動かない原因とIFERROR関数の違い
IF関数で思ったとおりの結果が出ないときは、関数そのものが間違っているとは限りません。比較演算子、引用符、かっこ、セルのデータ型など、数式を構成する要素を一つずつ確認することが解決への近道です。
よくあるエラーと確認ポイント
- #NAME?:関数名のスペルミスや、文字列を引用符で囲んでいないことなどが原因として考えられます。IFのつづりと文字列の指定を確認します。
- #VALUE!:計算に使う値の型が適切でない場合などに発生します。数値として使うセルに文字列が混在していないか確認します。
- #DIV/0!:計算式でゼロ除算が発生している可能性があります。分母がゼロ、または未入力になっていないか確認します。
- 判定結果が逆になる:「>」と「>=」など、比較演算子の選択が意図した基準と一致しているか確認します。
- 想定外の文字が表示される:真の場合と偽の場合の値、文字列の引用符、条件に使うセル参照が正しいか確認します。
- 数式が入力できない:かっこの閉じ忘れ、引数の区切り記号、引数の数などを確認します。
エラーの種類によって確認すべき箇所は異なります。エラー表示を一律に空白や「0」に置き換える前に、まず数式と参照先のデータを調べましょう。
IFERROR関数とIF関数の違い
IF関数は、指定した条件がTRUEかFALSEかを判定して結果を返します。一方、IFERROR関数は、数式の結果がエラーになった場合に、指定した代替値を返す関数です。目的が異なるため、単純に置き換えられるものではありません。
例えば、A2をB2で割る計算でエラーが発生したときに「計算不可」と表示する場合は、次のように記述します。
=IFERROR(A2/B2,"計算不可")
IFERROR関数は、#DIV/0!や#VALUE!、#REF!、#NAME?など、さまざまなエラーを処理します。そのため、原因が異なるエラーも同じ表示に置き換えられる点に注意が必要です。
例えば、分母がゼロの場合だけ個別に処理したいなら、IF関数で事前に条件を判定する方法があります。
=IF(B2=0,"分母がゼロ",A2/B2)
ただし、B2が数値のゼロなのか、文字列や別の不正な値なのかによって対処は変わります。IFERROR関数を使う場合も、エラーを隠すこと自体を目的にせず、利用者が原因を判断できる表示にすることが大切です。
IF関数の結果が0やFALSEになる場合
条件が成立した場合、または成立しなかった場合に返す値を省略すると、意図しない表示につながることがあります。特に、結果を空白にしたいのか、0を返したいのか、FALSEを返したいのかは明確にしておきましょう。
例えば、条件を満たした場合だけ「対象」と表示し、それ以外は何も表示したくない場合は、次のように第3引数へ空文字列を指定します。
=IF(A2>=100,"対象","")
この「""」は空文字列を返す指定であり、セルそのものを削除したり、本当の空白セルにしたりするものではありません。後続の計算や空白判定に影響する場合があるため、必要に応じてISBLANK関数との違いも確認してください。
【プロの結論】IF関数を正確に使いこなすための判断基準
IF関数を業務で使う際に最も大切なのは、数式を短くすることよりも、判定基準が明確で、結果を説明できる状態にすることです。正しく計算できる数式であっても、条件の順序や例外処理が曖昧なら、実務上のミスにつながります。
特に、次の3点を意識すると、数式の精度と保守性を高められます。
- 境界値を確認する:「以上」と「より大きい」、「以下」と「より小さい」は区別する。基準値ちょうどのデータで結果をテストする。
- 条件の順番を確認する:入れ子のIF関数やIFS関数では、条件が重複する場合にどれが先に評価されるかを確認する。
- 例外を隠さない:IFERROR関数でエラーを処理する場合は、利用者が原因を特定できる表示にする。必要なら未入力、ゼロ、データ不備を個別に判定する。
IF関数は、条件が1つか2つ程度の単純な判定に特に向いています。複数の条件が必要ならAND・OR、段階的な区分判定ならIFS関数や入れ子、計算時のエラー処理ならIFERROR関数というように、目的に合った関数を選ぶと数式が整理しやすくなります。
【ExcelのIF関数】に関するよくある質問(FAQ)
Q1:IF関数の基本的な書き方は?
A1:=IF(条件,真の場合の値,偽の場合の値)です。例えば、A2が80以上なら「合格」、それ以外なら「不合格」と表示するには、=IF(A2>=80,"合格","不合格")と入力します。
Q2:IF関数で「以上」「以下」「等しい」はどう指定する?
A2:「以上」は>=、「以下」は<=、「等しい」は=を使います。「より大きい」は>、「より小さい」は<です。境界値を含めるかどうかで記号を使い分けます。
Q3:IF関数で複数の条件を指定するには?
A3:すべての条件を満たす場合はAND関数、いずれかの条件を満たす場合はOR関数を組み合わせます。例えば、80点以上かつ提出済みなら合格とするには、=IF(AND(B2>=80,C2="提出済み"),"合格","確認")と記述します。
Q4:IF関数で空白セルを判定するには?
A4:=IF(A2="","未入力","入力済み")と記述します。ISBLANK関数でも空白を判定できますが、数式が空文字列を返しているケースでは判定結果が異なるため、データの状態に合わせて選びます。
Q5:IF関数とIFS関数はどちらを使えばよい?
A5:条件が少なく、真偽に応じて結果を切り替えるならIF関数が適しています。複数の条件を順番に判定する場合はIFS関数が読みやすくなることがあります。ただし、利用するExcelのバージョンとの互換性を確認してください。
Q6:IFERROR関数を使えばIF関数のエラーはすべて解決する?
A6:IFERROR関数は、数式の結果がエラーになった場合に指定した値を返しますが、数式の誤りそのものを修正するわけではありません。エラーの原因を確認したうえで、必要な場合に適切な代替値やメッセージを設定しましょう。
まとめ:IF関数は条件・記号・例外処理を正しく設計する
ExcelのIF関数は、条件に応じて結果を切り替える基本関数です。まずは3つの引数と比較演算子を覚え、文字列にはダブルクォーテーションを使い、空白セルの判定方法を理解することから始めましょう。
複数条件にはAND・OR、段階的な判定には入れ子のIF関数やIFS関数、エラー処理にはIFERROR関数を活用できます。それぞれの役割を理解して使い分ければ、売上管理、在庫確認、期限管理、入力チェックなど、幅広い業務を効率化できます。
数式を完成させたら、通常のデータだけでなく、基準値ちょうどの数値、空白セル、ゼロ、想定外の入力でもテストすることが重要です。判定基準を明確にし、例外を適切に処理することが、正確で管理しやすいExcelファイルを作るための基本です。 (出典: エクセル 関数 if(Yahoo!ニュース))