【Excel】IF関数のすゝめ(初級編)

今回は、IF関数について触れていきます。

SUMIFやAVERAGEIFなどはなく、純粋なIFのみです。

IF関数って?
実際に何が出来るの?
IFは「こうなったら…」ってことは…

今回は初級編になるので、わからない人向けにゆっくり解説していきます。

まずは「こんなことが出来るんだ」と興味を持ってみてください。


IF関数って?

IFとは英語で「もし、~なら」という意味になります。

同様に、IF関数も「もし、~なら」という意味をもつ数式を表します。

具体例で考えてみましょう。

10人のクラスで100点満点のテストをして、クラス平均は56点でした。
平均未満の人に補講の案内をしたいので平均以下の人を「補講」とした一覧表を作りたいと考えました。

実際に表を作ってみましょう。

  1. A1セルに「出席番号」
  2. B1セルに「点数」
  3. C1セルに「補講有無」

ここまでできたら今度は

  • 出席番号に1~10を入れます。
  • それぞれの点数を入れます

補足:オートフィル
A2セルに1、A3セルに2を入れたらShiftキーと↑を押します。
その上でA3セルの右下にマウスを当てると、下のように「」(フィルハンドル)が出ますので左クリックを押しながら下へ動かしてください。すると10まで連続して入力できます(オートフィル)

点数は0~100で好きな数を入力しても構いません。今回は以下のようにしました。

これであとは、平均点と各々の点数に基づき補講の有無を確認するだけです。

そこでまずは平均を計算します。

B12セルに下の数式を入力します。

=AVERAGE(B2:B11)
入力したらEnterキーを押せば平均点の56点が出てきます。あとは平均点未満の人を探す数式をC2に入力して、オートフィルを使えば終わりになります。

まず、C2のセルに次の数式を入れてください。
=IF(B2>B$12,””,”補講”)
すると出席番号1の人の補講有無のところに「補講」と入ります。
そして、C2セルの右下部分にマウスカーソルを当てて、先程出てきたオートフィルを使って出席番号10の人のセル(今回だとC11セル)までマウスを引っ張りましょう。

するときれいに補講の人だけに「補講」と入力され、平均以上のひとは空欄にすることができました。これがIF関数の基本的な使い方です。
ではここでIF関数の数式の解説をしていきます。

わかりにくければ、こうやって読んでみましょう。
比較対象◆=出席番号①さんの点数
比較対象▲=クラス平均店
OKの答え=空白
ダメな答え=補講
=IF(比較対象◆>比較対象▲,OKの答え,ダメな答え)

こういう事です。そこまで難しいことではなく小中学生でもわかる英語です。
なお、重要な点として
  • ,(カンマ)で区切る。.(ピリオド)ではダメ。
  • 空白の場合は、”(ダブルクォーテーション)を2つで「””」と記述。
  • 「補講」みたいに言葉や記号を答えとする場合は「”補講”」と記述。

補足:相対参照
今回の式で「B$12」とでましたが、「$」は簡単に言ってしまえば
「ここが基準だよ!」という意味です。
もし$をつけず、=IF(B2>B12,””,”補講”)としてもC2は正しい答えになります。
しかし、そのままオートフィルをするとC3は=IF(B3>B13,””,”補講”)となります。先程の比較対象◆に該当する部分は出席番号②さん(100点)に対して比較対象▲が平均点が入っているB12ではなくB13を指してしまいます。そうならないために、「比較対象▲は移動しないよ」という説明をエクセルという機械に説明しているのがこの相対参照です。似たような言葉で「絶対参照」という言葉もありますが、また別の機会にお話しします。

長くなりましたが、ものすごく噛み砕くとこうなります。

実際に何が出来るの?
今回はよくある例としてクラスの平均点という形でお話をしましたが、例えば以下のようなケースにも使えます。

家計簿などの支出の特定
⇒1日の食費を1000円目標にして、日々の実績を入力すればいつ超えたか調べやすい。
⇒給料日直後や曜日の影響なのかという分析ができる。

ネットオークションで売れている商品の動向調査
商品名やジャンル、価格帯などを調べるツールに出来る。
⇒メルカリやラクマなど個人オークションが増えているので強い武器になる。

簡易的なアプリの代用
⇒ランニングの距離や時間、天候やコース毎に記録を残せるだけでなく得意・苦手な状況の傾向値が見やすくなる
⇒アプリは決まったフォームでしか見れないものの、エクセルで数式さえ組めばより多角的な分析がしやすい(アップデートしやすい)

使う人次第で、いろんなことに使えるのがエクセルの強みなんじゃないかと私は思いますし、動機は何でもいいので「こんなことができる」っていう発想に至る瞬間は少し楽しいと感じることが大切なんじゃないかなと思ってます。


IFは「こうなったら…」ってことは…
前回のブログで、例題として挙げたものをここで解答編として出してみます。
まだ読んでない方は、こちらの「エクセル使いこなすって?(初心者向け)」をご覧ください。

では、具体例の確認です。

<具体例>
ホテル支配人です。
アンケートの結果をもとに、好印象を持ってもらえた顧客にリピートをしてもらう施策を打ち出したいと考えました。
100点満点で80点以上の顧客に共通する好印象ポイントを探したいです。

先程やったIF関数をベースにするならば次のような式になります。
※80点以上の場合の顧客には”候補”と名付けます。

=IF(顧客満足度【100点満点】>80点,”候補”,””)

ここまではおさらいになりますね。

しかし、前回のブログでは「更に男女別や年齢別で調べたい時でも、関数を使えば即座に分析出来ますとも言いました。
なので最後にこの部分を解決しましょう。

アンケートを入力するとこうなりました。
さて、今回は男性の80点以上がもつホテルの印象ポイントを調べたいとします。
なので「男」「80点以上」の2つのキーワード=数式が答えを知るのに必要になってきます。

E2の数式はこうなります。
=IF(B2=B$12,IF(C2>=C$12,”候補”,””),””)

B列(Bの縦軸)で男性か女性か判別しますので、最初にB$12とB2が同じ値かチェックをしています。(B2=B$12)
そして数式の次に来るのは正しい時の答えですが、今回はさらに80点以上かを確かめています。(C2>=C$12)

両方とも正しい場合は、2番目の数式の後に来るOKの答え(2つともOKなので)である”候補”に該当します。

男性ではあるけど、80点未満の場合は2つ目の式のダメな答えに該当する””が割り当てられます(内かっこの中のほうの””)
女性だった場合に関しては最初の(B2=B$12)のダメな答えに該当するので””が割り当てられます。(外かっこのほうの””)

あとは先程やったオートフィルを活用して最後の顧客のところまで引っ張ってあげればアンケートの集計が完成します。

こう見ると、男性で好印象ポイントが高いのは「部屋・風景の状態がいい」というキーワードが出てきます。
これが分析になるのです。

さっそく、支配人に「うちのホテルは部屋が大事なんです」とデータを基にした情報を伝えてあげましょう。

というわけで無事解決しました。
そして今回使った数式では、今後も使い勝手がよくなるように少し工夫をしています。
それは「ターゲット」「満足度基準」が指している部分の値を変えれば違った視点でのアプローチが可能ということです。

ターゲットを「女性」に変えたり、満足度基準40点にして数式の不等号の向きさえ変えてしまえば、顧客満足度が低いのはどういう部分でマイナスとなっているのかも調べられますよね。

まとめ
今回やったのはIF関数の基本的な使い方になりますが、それでも使い方によって様々なことを分析することができます。
本当はもう少し簡単な数式もありますし、別の種類の数式と組み合わせることでより高度な分析をエクセルですることが可能です。

そして一度数式さえ組んでしまえば、該当するセルに必要な数字を入力するだけで誰でも使えるツールにもなります。

少しずつおさらいしながら、作りたいものを考えていきましょう。