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関数を読めない人が増えると思いますので、
教える準備を将来しておかないといけないのかもね。