Excel IF関数の使い方と活用テクニック: 条件分岐をマスターする全ガイド

IF関数は、条件がTRUEなら一つの値、FALSEなら別の値を返す関数です。基本形は=IF(論理式,真の場合,偽の場合)です。たとえば=IF(C2>=70,"合格","再確認")とします。正しく使う鍵は、条件の境界、文字列の引用符、数値・日付・空白の実体、コピー時の参照を明確にすることです。複数条件にはAND・OR・NOTを組み合わせられますが、長い入れ子は誤りやすいため、IFS、検索表、XLOOKUPなどへ分けます。IFERRORでエラーを一律に隠す前に、元のエラー原因を確認してください。

目次

IFの三つの引数を理解する

=IF(A2>B2,"超過","範囲内")では、A2>B2がlogical_test、”超過”がvalue_if_true、”範囲内”がvalue_if_falseです。論理式はTRUEまたはFALSEとして評価できる必要があります。結果には文字列、数値、日付、セル参照、別の数式を指定できます。偽の場合は省略可能ですが、意図しない0やFALSE表示を避けるため、戻り値を明示します。

IFは条件に応じて表示や計算結果を変えますが、セルの色を直接変える関数ではありません。色を変えるなら条件付き書式を使います。IFの結果を後続計算で使う場合、真側が数値、偽側が文字列のように型が混在すると集計や並べ替えが難しくなります。戻り値の意味と型を列単位でそろえます。

文字列・数値・セル参照を区別する

文字列は"完了"のように半角の二重引用符で囲みます。=IF(B2="完了",1,0)はB2の文字と比較します。数値は通常引用符で囲まず、=IF(C2>=100,10,0)とします。基準値をF1へ置くなら=IF(C2>=$F$1,"達成","未達")として、コピーしても基準セルが動かないよう絶対参照を使います。

数値に見える文字列、全角数字、末尾空白、改行があると、見た目が同じでも比較結果が異なることがあります。数式を無理に複雑にする前に、ISNUMBER、ISTEXT、LENなどで入力を確認し、取り込み工程で型をそろえます。大文字・小文字を区別した文字比較が必要ならEXACT関数の利用を検討します。

以上・超・未満の境界を定義する

合格点70点以上なら>=70、70点を超えるなら>70です。境界値の70、69.999、空白、負数をテストします。表示上70でも内部値が69.9996なら、表示形式の丸めとIFの比較結果が違うことがあります。業務ルールで丸め後の値を判定するなら、ROUNDなどを明示してから比較します。

範囲判定では、=IF(AND(A2>=0,A2<=100),"範囲内","範囲外")のように下限と上限を両方確認します。片方だけでは異常値が正しい区分へ入ることがあります。条件の順番や境界を表へ書き出し、すべての数値が一つの区分に入り、重複区分がないことを確認します。

空白とゼロを意図的に扱う

未入力なら空欄を返す例は=IF(A2="","",A2*B2)です。ただしA2=””は本当の空白だけでなく、数式が空文字を返すセルにも一致する場合があります。スペースだけのセルや0は別です。何を未入力とみなすかを決め、必要ならISBLANK、LEN、TRIMなどを使い分けます。

空文字""を返しても、そのセルには数式が存在します。COUNTA、グラフ、CSV出力、他の関数で完全な空白と異なる扱いになることがあります。見た目を消すためだけに空文字を大量に返す設計では、集計への影響を確認します。0を非表示にしたいだけなら表示形式も選択肢です。

日付と時刻はシリアル値で比較する

期限判定は=IF(D2<TODAY(),"期限切れ","有効")のように書けます。固定日を数式へ入れるならDATE(2026,7,31)を使い、地域依存の日付文字列を避けます。TODAYはブックの再計算時に変わるため、報告書の基準日を固定したい場合は専用セルへ日付を入力し、そのセルを参照します。

日時を含む値と日付だけを比較すると、同日の時刻部分が境界へ影響します。「期限日いっぱい有効」なら翌日未満とするなど、ルールを明確にします。日付に見える文字列はそのまま比較せず、正しい日付値へ変換します。1900・1904日付システムが異なるブック間コピーにも注意します。

AND・OR・NOTで複数条件を組み合わせる

すべての条件を満たすなら=IF(AND(B2="完了",C2>=80),"承認","確認")、どれか一つならORを使います。NOTは条件を反転します。Microsoft公式資料ではANDとORが多数の条件を扱える一方、複雑な式は作成・検証・保守が難しくなるため、少数条件へ留めることが推奨されています。

条件を追加するたびに、TRUEになる組み合わせを真理値表へ書きます。「地域が東または西、かつ状態が完了」のような式では、ANDとORの括弧位置で意味が変わります。自然言語の要件を先に括弧付きで整理し、代表行だけでなくすべての組み合わせをテストします。

入れ子IFを増やしすぎない

複数区分はIFを入れ子にできますが、括弧と条件順を誤りやすくなります。Microsoftは多重IFが保守困難になり得ると説明し、IFSなどの利用も案内しています。=IFS(A2>=90,"A",A2>=80,"B",TRUE,"C")のように上位条件から並べる方法がありますが、利用できるExcel版を確認します。

点数帯や料率表のように基準と結果が表で管理できる場合は、XLOOKUPやINDEX・MATCHなどでマスタ表を参照する方が更新しやすくなります。ルール変更のたびに数千行の数式を書き換えず、承認されたマスタを更新できます。入れ子を別シートへ隠すのではなく、判断根拠が読める構造にします。

エラーを返す条件とIFERRORの注意

論理式や戻り値に#N/A、#VALUE!、#REF!などがあれば、IFの結果にもエラーが伝わる場合があります。まず「数式の検証」、参照先、データ型、名前定義を確認します。IFERRORで空白や0へ置き換えると見た目は整いますが、参照切れと正当な未該当を区別できなくなります。

検索で見つからない#N/Aだけを別表示したいならIFNAを検討します。業務上想定したエラーだけを処理し、その他は監視できるようにします。エラー時に””を返す場合も、別の検査列やログで件数を把握します。循環参照や外部リンク失敗をIFERRORで隠しません。

コピー・テーブル・計算方法を確認する

数式を下へコピーしたとき、行ごとに動く相対参照と固定する絶対参照を区別します。Excelテーブルでは[@売上]のような構造化参照を使うと列の意味を読みやすくできます。列名変更や行追加にも追従しますが、合計行や空行を対象に含めるかを確認します。

ブックの計算方法が手動の場合、条件や基準値を変えても結果が更新されていないことがあります。数式タブで計算設定を確認し、保存前に再計算します。外部ブックやデータ接続を参照するIFでは、データの更新時刻と接続失敗を結果と一緒に表示します。

境界値と例外で検証する

正常値だけでなく、ちょうど境界、直前・直後、空白、0、負数、文字列、エラー、想定外コードをテストします。真の場合と偽の場合の両方を実際に発生させます。複数条件ならすべての主要組み合わせを確認します。結果列をフィルターし、元データと数件ずつ照合します。

複雑な判定は、条件ごとの補助列を作ってTRUE/FALSEを見えるようにすると原因を追いやすくなります。完成後に一つの式へまとめる必要がなければ、補助列を説明付きで残します。数式、基準値、ルールの版、変更者、確認日を記録し、結果だけを値貼り付けして根拠を失わないようにします。

確認チェックリスト

  • 論理式、真の場合、偽の場合の三要素を明示する
  • 文字列の引用符と数値・日付のデータ型を確認する
  • 以上・超・未満の境界値をテストする
  • AND・ORの括弧と条件組み合わせを真理値表で確認する
  • 長い入れ子はIFSや検索表へ分離できないか検討する
  • IFERRORで参照切れや更新失敗を隠していないか確認する

公式情報・参考資料

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次