← 記事一覧へ戻る

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万円だとします。

営業所売上判定
A120万達成
B80万未達
C105万達成

この「判定」列を、売上を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…と式が自動でコピーされます。

参照しているセルが B3B4 と自動でずれてくれるので、全行が一瞬で判定完了です。

条件が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以上なら合格」になります。ANDOR に変えれば「どちらか一方でも60以上」になります。

まとめ

IF関数は、3つの設定さえ押さえれば5分で書けるようになります。

  • 論理式・真の場合・偽の場合の3つ
  • 文字を返すときは " で囲む
  • 「以上・以下」は >= <=(不等号が先)
  • 条件が1つなら IF関数、2つ以上なら IFS関数

今日のアクション:架空の売上表を1個作って、=IF(B2>=1000000, "達成", "未達") を1回書いてみる。手を動かすと一気に理解が進みます。

もし解決できないエラーがあったら教えてください

「式は合っているはずなのに思った結果にならない」「ネストが複雑で詰まった」など、つまずいたポイントがあれば気軽に教えてください。次の記事のネタにさせてもらいます🌱

連絡手段:

  • 📝 記事下の コメント欄 にどうぞ
  • 🐦 X(旧Twitter)の @miyamon_ai にリプライ・DMでもOK

会社員の僕が、定時で帰るための業務効率化ノウハウを定期的に発信しています。


関連記事: