IF関数の使い方
条件によって値を切り替えます。
200720102013201620192021365
- 構文
-
=IF(論理式, 真の場合, [偽の場合]) - 引数
-
- 論理式必須
- 真の場合必須
- 偽の場合省略できる
- どんな関数か
IF は、条件が成り立つかどうかで、返す値を変えます。すべての分岐の出発点です。条件には
A1>=100のような比較や、TRUE/FALSE を返す関数を書きます。3つめを省くと、条件が成り立たないときに FALSE と表示されますので、空欄にしたいなら""を書きます。入れ子は読みにくくなるので、分岐が3つ以上ならIFS、1つの値を候補と見比べるならSWITCH、対応表があるならXLOOKUPのほうが短く、直しやすくなります。- 使用例
-
B2 に
=IF(A2>=60, "合格", "不合格")を入れると、こうなります。A B 1 点数 判定 2 80 合格 数式を入れたセル
結果: 60点以上なら「合格」
つまずきやすいところ
- 文字を返すときは
"合格"のように " で囲む - 条件が3つ以上になるなら、入れ子より IFS のほうが読みやすい
=の比較では、全角と半角、数値と文字列が見た目が同じでも別物になる- 空欄かどうかを見るなら
=""より ISBLANK のほうが確か(数式が返した "" と区別できる)
よくあるエラーと、その直し方
#NAME?- 文字列を " で囲み忘れた
IF(A1>=60, 合格, 不合格)→IF(A1>=60, "合格", "不合格")
IFを使う実例レシピ(12件)
- 点数によって合否を判定する80点以上なら「合格」、それ以外なら「不合格」と表示する。
- 文字数を数えて入力ミスを防ぐパスワードが8文字未満の場合に「短い」と警告を出したい。
- 「AかつB」または「C」の複雑な判定「在庫アリかつ注文数10以上」または「VIP客」なら、送料を無料にする。
- 空欄なら計算しないようにする単価が入力されていない時は、金額の欄を「0」ではなく「空白」にする。
- 全てのテストが80点以上なら「合格」複数のセルの状態を同時にチェックし、全条件クリアを判定。
- 1つでもNGなら「不合格」複数項目の中で、どれか1つでも空欄やエラーがあれば警告を出す。
- 特定の文字列が含まれているか「○/×」で出す備考欄に「急ぎ」という文字があれば「★」をつける。
- セルの内容が「空文字("")」か判定する数式の結果が空文字になっているセルを、ISBLANKの代わりに正しく判定したい。
- 達成率に応じて「信号機」アイコンを表示する100%以上は青、80%以上は黄、それ未満は赤の丸を自動で出したい。
- 計算結果が0の時に「-」や「未入力」と出す0がたくさん並んで見づらい表を、スッキリ整えたい。
- 全てのチェックボックスが埋まったか確認するA〜E列がすべて「完了」なら、最終列に「OK」と出したい。
- 「欠席」または「遅刻」が1つでもある場合を抽出どこかの列に問題があれば、行全体をハイライトするためのフラグを作る。