エクセルのIF関数の使い方をお探しですね。
広告
エクセル IF関数を極める!複数条件の分岐や「空白なら表示しない」テクニック
エクセルで見積書や管理表を作っていると、「計算結果に0が出ちゃう」「#DIV/0!ってエラーが出て困る」なんてこと、ありませんか?それに、「AとBの両方に当てはまったら」とか「3段階で評価したい」みたいな複雑な条件になると、どう式を組めばいいのか頭を抱えちゃいますよね。
この記事では、エクセルで絶対に覚えておきたい「IF関数」の基本から、見栄えがグッと良くなる「空白処理」のワザ、さらにAND/OR関数を使った複数条件の指定方法まで、まるっと解説していきます。
これをマスターすれば、表がキレイに見やすくなって、仕事の効率もバッチリ上がりますよ!
1. まずはコレ!「空白なら表示しない」をIF関数で実現する基本ワザ
IF関数を勉強するとき、仕事で一番よく使って、最初に覚えておくべきなのが「セルが空っぽのときは、結果も空っぽにする」というテクニックです。
普通にエクセルで計算式(たとえば「単価×数量」)を入れると、まだデータを入力していない行に「0」が表示されちゃいますよね。
これがズラーっと並ぶと表が見づらいし、印刷したときにもなんだか格好悪い…。
そんなときに使えるのが、「もし(IF)セルが空っぽなら(“”)、何も表示しない(“”)」という考え方なんです。
具体的には、`=IF(条件, 条件に合うとき, 条件に合わないとき)`という基本の形を使って、`=IF(A1=””,””,A1*B1)`みたいに書きます。
ここで大事なのが、空っぽを表す「ダブルクォーテーション2つ(“”)」です。
これは「何も文字がない状態」を意味していて、エクセルに「何も表示しないでね」って伝える合図になります。
この処理を入れておけば、数字が入力されたときだけ計算されて、何も入れてないときはスッキリ空欄のままキープできるんです。
この「空白処理」の考え方は、VLOOKUP関数なんかと組み合わせるときにもめちゃくちゃ便利です。
たとえば、商品コードをまだ入力してないのに「#N/A」ってエラーが出ちゃう…なんてときも、IF関数で「検索するセルが空っぽなら表示しない」って条件を最初に書いておけば、エラーを防げちゃいます。
まずはこの「空白処理」を定番パターンとして覚えちゃうのが、IF関数マスターへの近道ですよ!
2. もっと複雑な条件もOK!AND関数とOR関数で判定を強化しよう
IF関数の基本は「条件に合うか、合わないか」の2択なんですけど、実際の仕事だと「AもBも両方当てはまる場合」とか「AかBのどっちかに当てはまる場合」みたいな、ちょっと複雑な判定が必要になることってよくありますよね。
そんなときに活躍するのが、「AND関数」と「OR関数」です。
これらをIF関数の「条件」の部分に組み込むことで、もっと細かくて柔軟な条件分岐ができるようになります。
IF関数だけだと式が長くなりすぎちゃう条件も、これを使えばスッキリまとまりますよ。
**AND関数**は「すべての条件をクリアしたとき」に真(TRUE)になります。
たとえば、「テストの点数が80点以上で、なおかつ出席率が90%以上」の場合だけ「合格」にしたいなら、`=IF(AND(A1>=80, B1>=90), “合格”, “不合格”)`って書きます。
両方の条件をクリアしないと合格にならないので、厳しめの条件を設定したいときにピッタリです。
昇進の判定とか、特定の条件を満たすデータを探すときなんかによく使われる組み合わせですね。
一方、**OR関数**は「どれか一つでも条件を満たせば」真(TRUE)になります。
たとえば、「英語の点数が80点以上、または数学の点数が80点以上」のどっちか片方でも達成してれば「合格」にする場合、`=IF(OR(A1>=80, B1>=80), “合格”, “不合格”)`って感じになります。
こっちは条件を広めに取りたいときや、複数のパターンのうちどれか一つでも当てはまったら警告を出したいときなんかに便利です。
この2つの関数を使いこなせるようになると、IF関数でできることがグンと広がりますよ!
3. 3つ以上に分けたいときは?「入れ子」と便利なIFS関数の使い分け
「80点以上は優、60点以上は良、それ以外は可」みたいに、結果を3つ以上に分けたいときってありますよね。
これに対応する昔ながらの方法が、IF関数の中にさらにIF関数を入れる「入れ子(ネスト)」っていうやり方です。
`=IF(A1>=80,”優”,IF(A1>=60,”良”,”可”))`みたいに書いて、最初の条件に合わなかったら次のIF関数が動く仕組みを作ります。
理論上は何重にも重ねられるんですけど、カッコの数が増えて式がごちゃごちゃしやすくて、あとから直すのが大変…っていうデメリットがあります。
そこで、Excel 2019やMicrosoft 365みたいな新しいバージョンを使ってる人に超おすすめなのが「**IFS(イフス)関数**」です!IFS関数は、複数の条件を順番に書いていけるので、入れ子にする必要がないんです。
`=IFS(A1>=80,”優”, A1>=60,”良”, TRUE,”可”)`って感じで、条件と結果をペアにして並べていくだけでOK。
最後の「TRUE」は「それ以外全部」っていう意味の裏ワザで、これを使うと式がすごく読みやすくなって、ミスも見つけやすくなります。
ただし、IFS関数は古いバージョンのエクセルでは使えないので、ファイルを誰かと共有するときは相手の環境に注意が必要です。
いろんな人に配るファイルなら、互換性を考えて昔ながらの「入れ子」を使った方が安全かもしれません。
入れ子を使うときのコツとして、数式バーの中で「Alt + Enter」を押して適度に改行を入れると、階層がわかりやすくなって、カッコの閉じ忘れなんかのうっかりミスを減らせますよ。
状況に応じて最適な方法を選んでくださいね。
4. うまくいかないときはココをチェック!IF関数でよくあるミスと解決法
IF関数を作ってみたけど、思った通りの結果が出なかったり、エラーが出たりして困ること、初心者さんにはよくあります。
**一番多いミス**は、「文字列をダブルクォーテーション(“)で囲んでない」ことです。
エクセルの数式の中で文字(たとえば「合格」とか「要確認」とか)を使うときは、必ず`”合格”`みたいに囲まないといけません。
これを忘れるとエクセルがそれを関数やセル参照だと勘違いして、「#NAME?」っていうエラーを返しちゃいます。
数字(100とか0とか)には要らないけど、文字には必須!って覚えておきましょう。
次に気をつけたいのが、「**見た目は空っぽだけど、実は空っぽじゃない**」セルです。
システムからダウンロードしたデータなんかだと、セルの中に「スペース(空白文字)」が入ってることがあるんです。
人間の目には空欄に見えるけど、エクセルにとっては「文字が入ってる」って判定されちゃうので、`A1=””`っていう条件に合わなくて、期待した処理がされません。
こういうときは、TRIM関数を使って余計なスペースを消すか、条件式を見直す必要があります。
あと、数式自体は合ってるのに、**比較演算子の使い分けでミス**してるケースもよくあります。
特に「以上(>=)」と「より大きい(>)」を混同すると、境界値の判定結果がおかしくなっちゃいます。
* **以上(>=)**:その数字を含む(例:80以上なら、80も対象)
* **より大きい(>)**:その数字を含まない(例:80より大きいなら、81から対象)
* **等しい(=)**:完全に一致する場合
こういう違いを意識して、数式を作るときには「境界値(たとえば80点ちょうど)」の動きを必ずテストするようにしましょう。
エラーの原因を一つずつ潰していけば、確実で信頼できるシートが作れるようになりますよ!
広告
