Excel関数 逆引き集 | 条件付き文字列生成 → IF

Excel
スポンサーリンク

概要

「条件によってコメントを変えたい」
「合否で“合格 / 不合格”と表示したい」
「数値によって“高い / 普通 / 低い”などの評価コメントを出したい」

こういう “条件によって出す文字列を変えたい” ときの基本が IF 関数です。

IF は、かんたんに言うと

条件が真ならこの文字列、偽ならあの文字列

を返す関数です。
ここでは、文字列に特化して、テンプレートとしてそのまま使える形で解説します。


IF 関数の基本

基本構文と考え方

=IF(条件, 条件が真のときの値, 条件が偽のときの値)

「条件」を満たすかどうかを調べて

  • 条件が真(TRUE)なら「真のときの値」を返す
  • 条件が偽(FALSE)なら「偽のときの値」を返す

という動きをします。

文字列を返したいときは

=IF(条件, "この文字列", "あの文字列")

のように、ダブルクォーテーションで文字列を囲みます。

例:点数によって「合格 / 不合格」を表示する

A2 に点数が入っているとして、B2 に判定結果を出したい場合。

=IF(A2>=60,"合格","不合格")

A2 が 60 以上なら「合格」、それ以外は「不合格」と文字列で表示されます。


条件付き文字列生成の基本パターン

シンプルな二択メッセージ

A2 に「在庫数」が入っているとして、

在庫が 1 以上 → 「在庫あり」
在庫が 0 → 「在庫なし」

と表示したいとき。

=IF(A2>0,"在庫あり","在庫なし")

条件は「A2>0」だけです。
真なら「在庫あり」、偽なら「在庫なし」。

数値ではなく文字で判定する

A2 に「男 / 女」などの文字が入っているとして、

男 → 「男性」
それ以外 → 「女性」

としたい例。

=IF(A2="男","男性","女性")

条件に文字列を使うときも、ダブルクォーテーションで囲みます。


IF でコメント文章を返す

条件によってコメント文そのものを変える

A2 に売上額が入っているとします。

売上が 100,000 以上なら
「売上は好調です。」

それ以外なら
「売上は目標未達です。」

というコメントを B2 に表示したい場合。

=IF(A2>=100000,"売上は好調です。","売上は目標未達です。")

このように、IF の中でそのまま「文章」を返すのが、条件付き文字列生成の基本です。


IF をネストして3段階以上の評価を作る

「高い / 普通 / 低い」の3パターン

IF は入れ子(ネスト)にすることで、
3段階、4段階…と振り分けを増やせます。

たとえば A2 の点数をもとに

80 以上 → 「優」
60 以上 80 未満 → 「良」
60 未満 → 「不可」

と表示したいとします。

=IF(A2>=80,
     "優",
     IF(A2>=60,
        "良",
        "不可"
     )
)

「条件がダメだったら、次の IF」を書くイメージです。

内側の IF は、

IF(A2>=60,"良","不可")

になっていて、それを「A2>=80 が偽だったとき」の場合分けとして使っています。


文字列+IF で“条件付きラベル”を作る

状況+メッセージを組み合わせる

A2 に進捗率(0~1 の値)が入っているとします。

進捗 1(100%) → 「完了」
進捗 0.5 以上 1 未満 → 「進行中」
それ以外 → 「未着手」

という“短いラベル”に加えて、説明メッセージも付けたい場合。

B2 に「短いラベル(完了 / 進行中 / 未着手)」
C2 に「コメント文」を出す例を考えます。

B2:

=IF(A2=1,
    "完了",
    IF(A2>=0.5,"進行中","未着手")
)

C2:

=IF(A2=1,
    "全ての作業が完了しています。",
    IF(A2>=0.5,
       "現在作業を進行中です。",
       "まだ作業は開始されていません。"
    )
)

「判定用のIF」と「コメント用のIF」を分けて書くと、
あとから文言を変えやすくなります。


IF と TEXT を組み合わせて“条件付きフォーマット”にする

条件によって文字列の一部を変える

A2 に日付、B2 に金額が入っているとして、
状況 C2 に「入金済 / 未入金」が入るケースを考えます。

D2 に、状況に応じてコメント文を出したいとします。

入金済 →
「2026年1月5日付で、10,000円の入金を確認しました。」

未入金 →
「2026年1月5日現在、10,000円の入金は確認できていません。」

という形です。

=IF(C2="入金済",
    TEXT(A2,"yyyy年m月d日") & "付で、" &
    TEXT(B2,"#,##0") & "円の入金を確認しました。",
    TEXT(A2,"yyyy年m月d日") & "現在、" &
    TEXT(B2,"#,##0") & "円の入金は確認できていません。"
)

IF で「どちらの文パターンを採用するか」を決め、
日付や金額の“見た目整形”は TEXT に任せる、という役割分担です。


条件付き文字列生成の“型”まとめ

二択(Yes / No)の文字列生成

=IF(条件,"真のときの文字列","偽のときの文字列")

三択以上の評価(ネスト)

=IF(条件1,"文字列1",
    IF(条件2,"文字列2",
       "文字列3"
    )
)

コメント文の切り替え

=IF(条件,"コメントパターンA","コメントパターンB")

日付・数値の整形と組み合わせ

=IF(条件,
    TEXT(日付,"yyyy/mm/dd") & "の○○です。",
    TEXT(日付,"yyyy/mm/dd") & "時点で××です。"
)

このあたりの型を押さえておけば、
ほとんどの「条件付き文字列生成」は IF だけで書けるようになります。


問題1

A2 に点数が入っています。
60 点以上なら「合格」、それ以外なら「不合格」と表示したいです。
IF を使った式を書いてください。

=IF(A2>=60,"合格","不合格")

問題2

A2 に在庫数が入っています。
在庫が 1 以上なら「在庫あり」、0 以下なら「在庫なし」と表示したいです。
IF を使った式を書いてください。

=IF(A2>0,"在庫あり","在庫なし")

問題3

A2 に点数が入っています。
80 点以上なら「優」、60 点以上 80 未満なら「良」、それ以外は「不可」と表示したいです。
IF をネストして式を書いてください。

=IF(A2>=80,"優",IF(A2>=60,"良","不可"))

問題4

A2 に売上額が入っています。
100,000 以上なら「売上は好調です。」、それ以外なら「売上は目標未達です。」というコメント文を表示したいです。
IF を使った式を書いてください。

=IF(A2>=100000,"売上は好調です。","売上は目標未達です。")

問題5

A2 に日付、B2 に金額、C2 に「入金済」または「未入金」が入っています。

C2 が「入金済」のときは
「2026年1月5日付で、10,000円の入金を確認しました。」

C2 がそれ以外のときは
「2026年1月5日現在、10,000円の入金は確認できていません。」

というコメント文を D2 に表示したいです。
TEXT と IF を組み合わせた式を書いてください。

=IF(C2="入金済",
   TEXT(A2,"yyyy年m月d日") & "付で、" & TEXT(B2,"#,##0") & "円の入金を確認しました。",
   TEXT(A2,"yyyy年m月d日") & "現在、" & TEXT(B2,"#,##0") & "円の入金は確認できていません。"
)

IF は「条件によってどの文字列を返すか」を選ぶスイッチです。
TEXT などと組み合わせれば、かなり自然な文章・コメント・ラベルを、条件付きで自在に生成できるようになります。

Excel
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました