2/23/2018

Excel。条件分岐の新しい関数。IFS関数は多分岐だけじゃなくて、とっても便利

Excel。条件分岐の新しい関数。IFS関数は多分岐だけじゃなくて、とっても便利

<IFS関数>

Office365のExcel2016に加わった、新しい関数。【IFS関数】。

この関数は、今までのIF関数に”S”を付いただけでなく、
とっても便利な関数なので、今回はIFS関数をご紹介していきます。

次の表があります。

点数が80点以上ならばA。それ以外ならば、Bというようにするならば、
IF関数を使いますよね。

では、
点数が80点以上ならばA。
点数が60点以上ならばB。
点数が40点以上ならばC。
点数が20点以上ならばD。
それ以外は、E。

というように条件分岐をする場合は、どのようにするのでしょうか?

このような場合、IF関数しかなかった時には、
IF関数の中にIF関数をいれるネストで数式を構成していきますよね。

しかし、IF+IF関数のネストぐらいならばいいのですが、
今回のように、5分岐させるとしたら、数式はどのようになるのでしょうか?

C2に数式を作ると次のようになりますね。

=IF(B2>=80,"A",IF(B2>=60,"B",IF(B2>=40,"C",IF(B2>=20,"D","E"))))

これだけでも、ネストの回数が多い感じがしますが、
10分岐とかなれば、IF関数を使うとしたら、想像しただけでも、
頭が痛くなりそうですよね。

そうなると、VLOOKUP関数を使ったり、
あるいは、CHOOSE関数を使ったりする方法がありますよね。

ただ、VLOOKUP関数はリストを作らないといけないし、
CHOOSE関数は、どうやったら、
1という数値を導き出せるかを考えなければいけません。

今回のように20ずつの差を考えると、
CHOOSE関数を使うのは難しいでしょう。

そこで、今回登場したIFS関数が便利なんです。

では、C2をクリックして、IFS関数ダイアログボックスを表示しましょう。

論理テスト1に、B2>=80
値が真の場合1に、”A”
と入力して、それを繰り返していきます。

通常のIF関数ならば、偽の場合に、IF関数をネストしますが、
IFS関数はネストしません。

最後の論理テスト5には、B2>=0でもいいのですが、
それ以外ということ、TRUEを入力します。
そして、値が真の場合5には、”E”と入力して、

OKボタンをクリックしましょう。

C2の数式は、
=IFS(B2>=80,"A",B2>=60,"B",B2>=40,"C",B2>=20,"D",TRUE,"E")

では、オートフィルで数式をコピーしてみましょう。

このように、算出することが出来ましたね。

数式自体、スリムでわかりやすいですね。

これならば、仮に条件分岐が10個あっても、
楽に数式を作ることができますよね。

でも、このIFS関数の真骨頂はココから。

次の表をご覧ください。

説明すると、E列に氏名の列があります。

G2に1と入力したら、氏名の1番目の内藤さんをH2に抽出するとしたら、
どのようにしたらいいでしょうか?

VLOOKUP関数を思い浮かべる人もいるかと思いますが、担当者番号などの通し番号。

すなわち主キーがありませんよね。
これでは、VLOOKUP関数は使えません。
ROW関数とかいろいろな関数のアイディアを
使わないといけないイメージがありますが、
このようなケースも、IFS関数で簡単に設定できるのです。

では、H2をクリックして、IFS関数ダイアログボックスを表示しましょう。

論理テスト1に、G2=1
値が真の場合1に、E2
として、繰り返していきます。

最後は、
論理テスト6に、G2=6
値が真の場合6に、E7
として、OKボタンをクリックしましょう。

数式は、
=IFS(G2=1,E2,G2=2,E3,G2=3,E4,G2=4,E5,G2=5,E6,G2=6,E7)

これで、出来ちゃうんです!

アイディア如何で色々なところで使えそうな感じがする、IFS関数。

機会があれば使ってみてください。

ただ、残念ながら、2018年1月1日時点で、
Office365のExcel2016にしか実装されていませんので注意が必要です。

通常のExcel2016には、ありませんので、ご注意のほど。

そうそう、注意が必要なのは、Excelのベテランさん。

Office365のExcel2016から勉強すると、IF+IF関数じゃなくて、
IFS関数を勉強してくるでしょうから、
現場で、IF+IF関数を読めない人が増えると思いますので、
教える準備を将来しておかないといけないのかもね。