Excel IF関数の使い方|つまずきやすいポイント徹底解説
Excel IF関数の基本構文・比較演算子・実例を会社員目線で5分マスター。条件が2つ以上のIFS関数やIF×VLOOKUPの組み合わせ、よくあるエラー対処まで網羅。
「IF関数って、なんとなく『もし〜なら』なのは分かる」 「でも自分でゼロから書くと、なぜかエラーになる」
そんな経験ありませんか?
僕も最初は、カッコの中に何をどの順で書けばいいのか分からず、何度も #NAME? エラーを出していました。
でも IF関数は、3つの設定の意味さえ押さえれば5分で書けるようになります。この記事では、会社員の僕が実際に業務で使っている形で、つまずきやすいポイントごと解説します。
この記事でわかること
- IF関数の基本構文(3つの設定)
- 条件の書き方(比較演算子の一覧)
- 売上の「達成 / 未達」を自動判定する実例
- 複数条件(ネスト)と IF×VLOOKUP の組み合わせ
#NAME?などよくあるエラーの直し方
前回の VLOOKUP関数の記事 と合わせて読むと、Excelの「自動化」が一気に進みます。
IF関数ってどんな関数?
IF関数は、「条件を満たすかどうかで、表示する内容を変える」関数です。
ひとことで言うと「もし〜なら A、そうでなければ B」を自動でやってくれます。
人間が頭の中でやっている「これはA、これはB」という判断を、Excelに肩代わりさせるイメージです。
こんな場面で使える
- 売上が目標以上なら「達成」、未満なら「未達」
- テストの点数が60点以上なら「合格」、未満なら「不合格」
- 在庫数が発注ラインを下回ったら「発注」、足りていれば「在庫OK」
- 経費が予算内なら「予算内」、超えたら「超過」
どれも「ある基準と比べて、結果を振り分ける」という共通点があります。
こんな作業が楽になる
たとえば、営業所ごとの売上表があって、目標が100万円だとします。
| 営業所 | 売上 | 判定 |
|---|---|---|
| A | 120万 | 達成 |
| B | 80万 | 未達 |
| C | 105万 | 達成 |
この「判定」列を、売上を1行ずつ目で見て、頭で100万と比べて、手で『達成 / 未達』を打つ——これを50行、100行とやっていませんか?
行数が多いほど時間がかかるし、見間違いも起きます。さらに「目標額が110万に変わった」となったら、また全部見直しです。
IF関数なら、式を1個書いてコピーするだけ。目標額を変えても自動で再計算されます。
IF関数の構文と3つの設定
IF関数の形はこうです。
=IF(論理式, 真の場合, 偽の場合)
設定は3つだけです。
設定① 論理式(どんな条件か)
「何と何を、どう比べるか」を書きます。たとえば B2>=1000000(B2が100万以上か)。
ここがIF関数の心臓部です。条件の書き方は次の章で詳しく説明します。
設定② 真の場合(条件を満たすとき)
論理式が「正しい(TRUE)」ときに表示する内容です。たとえば "達成"。
文字を表示したいときは、必ずダブルクォーテーション " で囲みます。ここを忘れるとエラーになります(後述)。
設定③ 偽の場合(条件を満たさないとき)
論理式が「正しくない(FALSE)」ときに表示する内容です。たとえば "未達"。
つまり全体ではこうなります。
=IF(B2>=1000000, "達成", "未達")
「もし B2 が100万以上なら『達成』、そうでなければ『未達』」という意味です。
比較演算子の一覧(条件の書き方)
論理式で使う「比べる記号」を比較演算子と呼びます。よく使うのはこの6つです。
| 演算子 | 意味 | 例 |
|---|---|---|
= | 等しい | B2="完了" |
> | より大きい | B2>100 |
< | より小さい | B2<100 |
>= | 以上 | B2>=100 |
<= | 以下 | B2<=100 |
<> | 等しくない | B2<>"完了" |
「以上・以下」は >= <= のように不等号が先、イコールが後です。=> と書くとエラーになるので注意です。
実例で5分マスター|売上が目標達成かを判定する
関数ジェネレーターを読み込んでいます。
Step1:判定したい表を用意する
A列に営業所、B列に売上が入っている表を用意します。C列に「判定」を出していきます。目標は100万円とします。
Step2:IF関数を入力する
C2セルに次の式を入力します。
=IF(B2>=1000000, "達成", "未達")
これで、B2の売上が100万以上なら「達成」、そうでなければ「未達」が表示されます。
Step3:オートフィルで一気にコピーする
C2セルの右下にマウスを合わせると「+」マークが出ます。これを下にドラッグ(またはダブルクリック)すると、C3、C4…と式が自動でコピーされます。
参照しているセルが B3、B4 と自動でずれてくれるので、全行が一瞬で判定完了です。
条件が2つ以上なら、IFS関数を使う
IF関数は「条件が1つ」のときにいちばん力を発揮します。
では「80点以上はA、60点以上はB、それ未満はC」のように、条件が2つ以上あるときはどうするか。
昔は IF関数の中にもう1つ IF関数を入れて書いていましたが、式がどんどん長くなって読みにくくなりがちでした。いまのExcel(Microsoft 365 / Excel 2019以降)なら、IFS関数を使うほうがずっと簡単です。
=IFS(B2>=80,"A", B2>=60,"B", TRUE,"C")
「条件, 当てはまるときの値」をカンマで並べていくだけ。上から順にチェックして、最初に当てはまったものが表示されます。最後の TRUE,"C" は「どれにも当てはまらなかった場合」を表します。
覚え方はシンプルです。
- 条件が1つ → IF関数
- 条件が2つ以上 → IFS関数
これだけ押さえておけば、たいていの判定はカバーできます。
IF × VLOOKUP の組み合わせ
VLOOKUP関数 で引っ張ってきた値を、そのままIF関数で判定することもできます。
=IF(VLOOKUP(E2,$A$2:$C$9,3,FALSE)>500, "高額", "通常")
「商品コードから単価を引いて、500円を超えていたら『高額』、それ以下なら『通常』」という意味です。2つの関数を組み合わせると、できることが一気に広がります。
つまずきやすいエラーと対処法
#NAME? エラー:文字を " で囲み忘れている
=IF(B2>=1000000, 達成, 未達) のように、文字をそのまま書くとこのエラーになります。文字(文字列)は必ず "達成" "未達" のようにダブルクォーテーションで囲みます。数値や計算式のときは囲みません。
カッコの閉じ忘れ
開いたカッコ ( と同じ数だけ、閉じカッコ ) が必要です。Excelが「カッコが足りません」と教えてくれたら、数が合っているか見直してみてください。
=> と書いてしまう
「以上」は >=、「以下」は <= です。イコールを先に書く => =< はエラーになります。「不等号が先」と覚えておくと安全です。
条件が増えて式が読めなくなってきた
IF関数を何個も重ねて式が長くなってきたら、無理せず IFS関数(条件が2つ以上のとき)に切り替えましょう。そのほうが短く、後から見ても読みやすくなります。
よくある質問(FAQ)
Q1:文字じゃなく数字を表示したいときも " で囲むの?
いいえ。数値や計算式はそのまま書きます。=IF(B2>=100, B2*1.1, B2) のように、数字や式には " を付けません。" で囲むのは文字(文字列)のときだけです。
Q2:「空欄なら何も表示しない」はできますか?
できます。""(中身のないダブルクォーテーション)を使います。=IF(B2="", "", "入力済み") と書くと、B2が空欄のときは何も表示されません。
Q3:条件を「AかつB」「AまたはB」にしたいです
AND関数 と OR関数 を組み合わせます。=IF(AND(B2>=60, C2>=60), "合格", "不合格") で「BもCも60以上なら合格」になります。AND を OR に変えれば「どちらか一方でも60以上」になります。
まとめ
IF関数は、3つの設定さえ押さえれば5分で書けるようになります。
- 論理式・真の場合・偽の場合の3つ
- 文字を返すときは
"で囲む - 「以上・以下」は
>=<=(不等号が先) - 条件が1つなら IF関数、2つ以上なら IFS関数
今日のアクション:架空の売上表を1個作って、=IF(B2>=1000000, "達成", "未達") を1回書いてみる。手を動かすと一気に理解が進みます。
もし解決できないエラーがあったら教えてください
「式は合っているはずなのに思った結果にならない」「ネストが複雑で詰まった」など、つまずいたポイントがあれば気軽に教えてください。次の記事のネタにさせてもらいます🌱
連絡手段:
- 📝 記事下の コメント欄 にどうぞ
- 🐦 X(旧Twitter)の @miyamon_ai にリプライ・DMでもOK
会社員の僕が、定時で帰るための業務効率化ノウハウを定期的に発信しています。
関連記事: