LEVEL 5 データを整理・抽出する 中級
Lesson 044

IF関数について①

練習用Excelファイル lesson044-practice.xlsx

練習用ファイルは、パソコンからダウンロードしてください。

IF関数について

ここから LEVEL 5 に入ります。

LEVEL 4 で学んだ SUMIF / SUMIFS / COUNTIF / COUNTIFS にも「IF」が付いていましたよね。あれは「条件付きの集計」でした。

今回扱う IF関数 は、もう少しシンプルで根本的な関数です。「もし○○なら△△、そうでなければ□□」という、条件分岐そのもの を表現します。

Excelの世界で「IF」と聞いたら、まずこの IF関数 が頭に浮かぶようになってください。これからの関数の組み合わせで、何度も登場する基礎中の基礎となります。


IF関数の構文

=IF(論理式, 真の場合, 偽の場合)

3つの引数があります。

  • 論理式:判定したい条件(例:A1>=80)
  • 真の場合:条件が成立したときに返す値
  • 偽の場合:条件が成立しなかったときに返す値

日本語にすると、「もし論理式が正しければ真の場合を返す。そうでなければ偽の場合を返す」となります。


具体例で見てみる

テストの点数で「合格 / 不合格」を判定したいとき。80点以上を合格、それ未満を不合格とします。

:::excel
A1=名前
B1=点数
C1=判定
A2=田中
B2=85
C2=★
A3=鈴木
B3=72
A4=佐藤
B4=90
A5=山田
B5=65
A6=高橋
B6=80
:::

★ =IF(B2>=80,"合格","不合格")

セルC2に ★ の数式を入力。B2は85なので、条件 B2>=80 は成立し、「合格」が返ります。

これを C3〜C6 に下にコピーすれば、5人全員の判定が一気に出ます。LEVEL 4 で学んだ相対参照 が、ここでも効いています。


文字列はダブルクォーテーションで囲む

ここで重要なポイントです。"合格""不合格" のように、結果として「文字列」を返したいときは、必ずダブルクォーテーションで囲みます。

SUMIF や COUNTIF で「条件は "営業部" のように " で囲む」と学びましたが、IF関数では「結果として返す文字」もダブルクォーテーションが必要です。

=IF(B2>=80, "合格", "不合格")     ← 文字列なのでクォート必須
=IF(B2>=80, 100, 0)               ← 数値ならクォート不要
=IF(B2>=80, A1, A2)               ← セル参照もクォート不要

数値やセル参照のときは不要です。「文字を返したいときだけ、" で包む」と覚えてください。


関数の引数ダイアログを使うと安心

IF関数の作成は、[関数の引数] ダイアログ を使うのがおすすめです。セルを選択し、リボンの [数式] タブ > [論理] > [IF] から呼び出せます。

IF関数の引数ダイアログ
IF関数の引数ダイアログ

ここで便利なのが、「真の場合」「偽の場合」に文字列を入力すると、ダブルクォーテーションが自動で付く という機能です。

「合格」と入力して [Tab] や次の欄に移動すると、Excelが自動で "合格" と認識してくれます。手で " を打つ必要がないので、入力ミスを防げます。

文字列入力後にダブルクォーテーションが自動付与
文字列入力後にダブルクォーテーションが自動付与

ただし、直接セルに入力する場合は、自分でダブルクォーテーションを打つ必要があります。 引数ダイアログとセル直接入力で、挙動が違うところは覚えておきましょう。

「文字を返すときは " で囲む」というルールを意識しつつ、慣れないうちは引数ダイアログを活用するのが安全です。


比較演算子のおさらい

IF関数の論理式では、比較演算子をよく使います。SUMIF / COUNTIF と同じものです。

演算子意味
=等しい
<>等しくない(以外)
>より大きい
<より小さい
>=以上
<=以下

これらを使って、B2>=80A2="営業部" のように条件を組み立てます。


ちょっとした実務シーン

1. 在庫アラート

在庫数が少なくなったら「要発注」と表示したい。

=IF(B2<10, "要発注", "")

10未満なら「要発注」、そうでなければ空白("")。偽の場合に "" を指定して、何も表示しない というのは、IF関数の定番テクニックです。表をすっきり保てます。

2. 達成判定

売上目標に対する達成判定。

=IF(B2>=C2, "達成", "未達")

B列が実績、C列が目標。実績が目標以上なら「達成」、そうでなければ「未達」。セル同士を比較する こともできます。

3. 値引き計算

10000円以上の購入で10%引き、そうでなければ定価。

=IF(B2>=10000, B2*0.9, B2)

結果が数式(計算式) でもOK。条件で計算方法を切り替えられます。


「論理式」とは何か

「論理式」と聞くと身構えてしまいますが、要は「正しい(TRUE)か、正しくない(FALSE)か、で答えられる式」のことです。

  • B2>=80:B2が80以上なら正しい
  • A2="営業部":A2が「営業部」と等しければ正しい
  • B2<>0:B2が0でなければ正しい

IF関数は、この「正しい / 正しくない」の判定結果を見て、真の場合か偽の場合かを返します。

ちなみに、論理式だけをセルに入力すると、「TRUE」または「FALSE」がそのまま返ってきます。試しにどこかのセルに =B2>=80 と入れてみると、TRUEFALSE が表示されますよ。これがIF関数が裏でやっている判定です。

手を動かして確かめると、感覚がつかみやすいですよ。


まとめ

  • IF関数で「もし○○なら△△、そうでなければ□□」を表現
  • 構文:=IF(論理式, 真の場合, 偽の場合)
  • 文字列を返すときは ダブルクォーテーションで囲む
  • 引数ダイアログを使うと、文字列に " が自動で付く
  • 真の場合・偽の場合に 数式やセル参照 も指定できる
  • 「論理式」は「TRUE / FALSE で答えられる式」のこと

次回は IF関数の ネスト(入れ子)。条件を組み合わせて、もう一段複雑な分岐を表現します。


ショートカット

※このレッスンに対応するショートカットはありません。

次のLessonへ Lesson 045 IF関数について②(ネスト)