ホーム / 関数 / IF
論理 Excel + Google スプレッドシート

Excel IF 関数の使い方

IF(イフ)は、条件が成り立つときに一方の値、成り立たないときに別の値を返す Excel(エクセル)の論理関数です。複数のしきい値はネストした IF か IFS、複数条件は AND / OR を条件に入れます。構文と書き方、複数条件の例、文字を含むかの判定を、例題と練習問題で身につけましょう。

IF 関数の構文と引数

=IF(条件式, 真の場合, [偽の場合])

IF は、表計算の論理判定の基本です。条件が成り立つ(TRUE)ときは一方の値を、成り立たない(FALSE)ときは別の値を返します。

1 条件式(logical_test)
必須

結果が TRUE または FALSE になる条件や式です(例:A2 >= 90、B2 = "Pending"、C2 > AVERAGE(C$2:C$10))。

2 真の場合(value_if_true)
必須

条件式が TRUE のときに返す値です。ダブルクォーテーションで囲んだ文字("Pass")、数値、セル参照、別の数式も使えます。

3 偽の場合(value_if_false)
省略可

条件式が FALSE のときに返す値です。省略すると FALSE が返ります。段階的な等級では、ここに次のネストした IF を入れることが多いです。

定番の例:点数を字母の等級に変換する

=IF(A2>=90, "A", IF(A2>=80, "B", IF(A2>=70, "C", "D")))

しきい値は高いほうから順に判定します(先に 90、次に 80、次に 70)。先に真になった分岐のあとは評価されません。

Excel で IF 関数を書く手順

  1. まず条件(条件式)を書く — 何を判定するかを決めます。例:A2>=90 の合格ライン、B2="Done" の状態比較。結果は TRUE か FALSE になる必要があります。
  2. 2つの戻り値を書く — 真の場合は条件が成り立つときの結果、偽の場合は成り立たないときの結果です。文字はダブルクォーテーションで囲みます。
  3. 分岐が多ければネストした IF か IFS — 1つの IF は二者択一です。しきい値が複数あるときは、偽の場合に次の IF を入れ子にするか、新しい Excel なら IFS を使います。

IF + AND / OR:複数条件を1つの IF で判定する

IF の条件には、本来1つの論理式しか置けません。AND や OR を条件に入れると、複数のセルやしきい値を一度に調べられます。

=IF(AND(A2>=60, B2>=60), "Pass", "Fail")

AND:すべての条件が TRUE のときだけ成立します。例:2科目とも 60 以上なら Pass。

=IF(OR(A2>=90, B2>=90), "Pass", "Retry")

OR:どれか1つでも TRUE なら成立します。例:どちらかの科目が 90 以上なら合格。

IF で文字を含むか・空白でないかを判定する

IF に「含む」という引数はありません。定番は SEARCH で位置を探し、ISNUMBER で TRUE/FALSE にして IF に渡す方法です。

=IF(ISNUMBER(SEARCH("urgent", A2)), "Priority", "Normal")

SEARCH は A2 から "urgent" を探します(大文字小文字は区別せず、見つかると位置の数字、見つからないとエラー)。ISNUMBER がその結果を TRUE/FALSE にします。大文字小文字を区別したいときは SEARCH を FIND に替えます。

練習:セルに特定の文字が含まれるか →
=IF(A2<>"", "入力あり", "未入力")

空白でない判定:<>"" は「空文字と等しくない」です。空白かどうかを見るなら ISBLANK(A2) も使えます。

ネストした IF と IFS の違い

ネストした IF

どのバージョンの Excel・Google スプレッドシートでも使え、面接でもよく出ます。いちばん高いしきい値から上から読んでいくと分かりやすいです。

IFS

新しい Excel と Google スプレッドシートでは、複数分岐を =IFS(A2>=90,"A", A2>=80,"B", A2>=70,"C", TRUE,"D") のように書け、括弧の入れ子を減らせます。

よくある誤りと注意点

  • 判定の順番 — 判定の順番が重要です。先に A2>=70 で C を返すと、95 点も C になります。しきい値は高いほうから低いほうへ並べます。
  • 文字の引用符 — 文字の結果は半角のダブルクォーテーションで囲みます("A")。囲まないと名前や範囲として解釈され、#NAME? になることがあります。
  • 空白セル — 空白セルの扱い:空白と数値 0 の比較は意図しない結果になりやすいので、必要なら ISBLANK で確認します。

IF 関数の入門練習:等級計算機

下のミニ表にネストした IF を入力して、すぐに合否を確認できます。独立した練習ページを開くこともできます。

独立した練習ページを開く →
問題文
ヒント 0/3
模範解答 1
–
テストケース
1
2
3
リセット
提出
fx
A
B
C
D
E
F
G
1
2
3
4
5
6
7
8
9
10
インタラクティブなスプレッドシートを読み込み中...
セルと数式の計算エンジンを準備しています
○ 準備完了 ハイライトされたセルに数式を入力し、「提出」を押してください。

関連する練習問題

実際の業務に近いミニ表で、IF の組み合わせや論理の問題を練習して身につけましょう。

よくある質問

IF 関数の構文は何ですか?

=IF(条件式, 真の場合, 偽の場合) と書きます。例:=IF(A2>=60, "Pass", "Fail") は、A2 が 60 以上なら Pass、それ以外なら Fail を返します。

Excel で IF 関数の使い方を教えてください。

まず条件を書き、次に2つの結果を書きます:=IF(A2>=90, "A", "B")。結果が3つ以上のときは、偽の場合の引数に次の IF を入れ子にするか、新しい Excel や Google スプレッドシートなら IFS 関数を使います。

IF で複数条件(AND / OR)を指定するには?

条件の位置に AND または OR を入れます。=IF(AND(A2>=60, B2>=60), "Pass", "Fail") は両方の条件が真のときだけ成立し、OR にするとどれか1つが真なら成立します。

IF でセルに特定の文字が含まれるかを判定するには?

ISNUMBER と SEARCH を組み合わせます:=IF(ISNUMBER(SEARCH("urgent", A2)), "Priority", "Normal")。SEARCH は大文字と小文字を区別しません。区別したいときは FIND を使います。

IF で空白でないセルを判定するには?

空の文字列と比較します:=IF(A2<>"", "入力あり", "未入力")。空白かどうかを直接見るなら =IF(ISBLANK(A2), "空白", "値あり") です。

IF と COUNTIF、SUMIF の違いは何ですか?

IF は条件に応じて2つの値のどちらかを返します。COUNTIF は条件に合うセルの個数を数え、SUMIF は条件に合う数値を合計します。集計は COUNTIF / SUMIF、行ごとの判定は IF、と使い分けることが多いです。

ネストした IF と IFS はどちらを使うべきですか?

ネストした IF はどのバージョンでも使えます。分岐が多いときは、新しい Excel や Google スプレッドシートの IFS のほうが読みやすいです。

ネストした IF で等級が間違うのはなぜですか?

判定の順番が原因です。いちばん高いしきい値を先に書いて、先に真になった条件が優先されるようにします。