Excel関数 逆引き集 | 論理値を表示文字に変換 → IF

Excel VBA Excel
スポンサーリンク

概要

Excel では、条件式の結果として TRUE / FALSE(論理値) が返ってくることがよくあります。
しかし、実務では TRUE / FALSE をそのまま表示するより、

  • TRUE → 「OK」
  • FALSE → 「NG」

のように 文字列に変換して表示したい 場面が圧倒的に多いです。

そこで使うのが IF 関数です。
IF は「TRUE のときはこれ、FALSE のときはこれ」と表示内容を自由に切り替えられます。


IF を使って論理値を文字列に変換する基本

基本形

=IF(条件, "TRUEのときの文字", "FALSEのときの文字")

条件が TRUE なら前者、FALSE なら後者を返します。


TRUE / FALSE を「OK / NG」に変換する

最もよく使うパターン

例:A2 が 100 以上なら「OK」、それ以外なら「NG」

=IF(A2>=100, "OK", "NG")

A2>=100 の判定結果(TRUE / FALSE)を、
そのまま文字列に置き換えているだけです。


TRUE / FALSE を「○ / ×」に変換する

見た目を分かりやすくしたいとき

=IF(B2="完了", "○", "×")

B2 が「完了」なら ○、それ以外なら ×。


TRUE / FALSE を「あり / なし」に変換する

空欄チェックと組み合わせる

例:C2 が空欄でなければ「あり」、空欄なら「なし」

=IF(C2<>"", "あり", "なし")

空欄判定は C2="" または C2<>"" を使います。


TRUE / FALSE を「合格 / 不合格」に変換する

数値判定と組み合わせる

例:D2 が 60 以上なら「合格」、それ以外は「不合格」

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

複数条件の TRUE / FALSE を文字列に変換する

AND と組み合わせる(すべて満たすとき)

例:
E2 が 80 以上 かつ F2 が「提出済み」なら「OK」、
それ以外は「NG」

=IF(AND(E2>=80, F2="提出済み"), "OK", "NG")

OR と組み合わせる(どれか1つ満たすとき)

例:G2 が「A」または「B」なら「対象」、
それ以外は「対象外」

=IF(OR(G2="A", G2="B"), "対象", "対象外")

TRUE / FALSE を文字列に変換する応用例

検索結果が見つかったかどうかで表示を変える

MATCH は見つからないと #N/A になります。
ISNA と組み合わせて「登録済み / 未登録」を表示できます。

=IF(ISNA(MATCH(H2, A2:A100, 0)), "未登録", "登録済み")

数値かどうかで表示を変える(ISNUMBER)

=IF(ISNUMBER(I2), "数値", "文字列")

エラーかどうかで表示を変える(ISERROR)

=IF(ISERROR(J2), "エラー", "正常")

よくあるつまずき

TRUE / FALSE をそのまま表示したくないときは必ず IF を使う

条件式だけ書くと TRUE / FALSE がそのまま表示されます。

=A2>=100   ' TRUE / FALSE が表示される

文字列に変換したいなら必ず IF を使います。


“”(空文字)は空白に見えるが文字列

=IF(K2="", "", "入力あり")

“” は空白に見えますが、Excel 的には「文字列」です。
見た目を空欄にしたいときに使います。


数式の中で文字列を書くときは必ず「”」で囲む

"OK"  
"NG"  
"合格"

囲み忘れるとエラーになります。


例題

問題1

A2>=100 の判定結果を、TRUE のとき「OK」、FALSE のとき「NG」と表示する式を書いてください。

=IF(A2>=100, "OK", "NG")

問題2

B2 が空欄でないとき「あり」、空欄のとき「なし」と表示する式を書いてください。

=IF(B2<>"", "あり", "なし")

問題3

C2 が「完了」のとき「○」、それ以外のとき「×」と表示する式を書いてください。

=IF(C2="完了", "○", "×")

問題4

D2 が 60 以上 かつ E2 が「提出済み」のとき「合格」、
それ以外は「不合格」と表示する式を書いてください。

=IF(AND(D2>=60, E2="提出済み"), "合格", "不合格")

問題5

F2 の値が数値なら「数値」、数値でないなら「文字列」と表示する式を書いてください。

=IF(ISNUMBER(F2), "数値", "文字列")

まとめ

論理値(TRUE / FALSE)を文字列に変換するには、
IF 関数で TRUE のときと FALSE のときを書き分けるだけです。

基本形はこれ。

=IF(条件, "TRUEのときの文字", "FALSEのときの文字")

これを応用すれば、

  • OK / NG
  • 合格 / 不合格
  • あり / なし
  • 登録済み / 未登録

など、どんな表示にも変換できます。

Excel の判定結果を“人間が読める形”にするための必須テクニックなので、
ぜひあなたのシートでも活用してみてください。

タイトルとURLをコピーしました