概要
「条件によってコメントを変えたい」
「合否で“合格 / 不合格”と表示したい」
「数値によって“高い / 普通 / 低い”などの評価コメントを出したい」
こういう “条件によって出す文字列を変えたい” ときの基本が 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 などと組み合わせれば、かなり自然な文章・コメント・ラベルを、条件付きで自在に生成できるようになります。
