Excel。判断分岐多いならIf関数よりChoose関数が楽
Choose関数で4つの判断分岐
以前企業研修のご質問だったと思うんだけど、IF+IF関数を使って、
ABCに判断分岐する方法をご紹介した時に、
判断分岐が多くなると、IF+IF+IF…と大変なので、効率な方法はありませんか?
とありまして、アイディアによっては、Choose関数のほうがIF+IF関数のネストよりも、【楽】かもね。
とお答えしたことがありましたが、
今回は、そのChoose関数を使って、4つの判断分岐をやってみたいと思います。
仕事で使えるExcel講座でも、お話しすることもあるネタですね。
今回は下記の表があります。
F列の評価に次の条件で判断した文字を表示したい訳です。
300点なら、満点
200~299点なら、良
100~199点なら、可
0~99点なら、不可
というルールで、判断するとします。まずは、IF+IF関数のネストで作ってみましょう。
苦労をすることによって、もっといい方法はないかな?と考えるわけですからね。
F2をクリックして、IF関数のダイアログボックスを表示しましょう。
まず、F2=300という論理式を作って、真の場合は、”満点”。
偽の場合は、また質問を作っていきますので、IF関数を作っていきます。
名前ボックスの▼をクリックして、一覧からIF関数があれば、クリックしましょう。
ネストのIF関数を作っていきますので、
論理式には、E2>=200
真の場合には、”良”
負の場合には、これまた、ネストのIF関数を挿入していきますので、
名前ボックスの▼をクリックして、一覧からIF関数があれば、クリックしましょう。
ネストのIF関数を作っていきますので、
論理式がE2>=100
真の場合には”可”
偽の場合には”不可”
としてOKボタンをクリックすると完成しますので、オートフィルで連続コピーしましょう。
ちなみに、数式は、
=IF(E2=300,"満点",IF(E2>=200,"良",IF(E2>=100,"可","不可")))
なんだか、やっぱり長い数式になりましたね。
ご質問があったように、IF+IF関数のネストだと、
多岐にわたる分岐判断だと複雑化していきますね。
なお、結果は、
これを煩雑化した数式にしないで算出する方法に、
今回紹介するChoose関数を使う方法があります。
それでは、ご紹介していきましょう。
F2をクリックして、Choose関数のダイアログボックスを表示させましょう。
このChoose関数は、1なら、2なら、3なら…という風に判断してくれます。
ですので、ココはアイディアが必要になってくるのですが、今回の分岐の条件が、
300点なら、満点
200~299点なら、良
100~199点なら、可
0~99点なら、不可
ですので、例えば、99点は不可と判定させるには、合計点を100で割った値に+1します。今回はなぜ+1をするのかというと、このChoose関数。
小数点以下は切り捨てちゃうんですね。
ですので、割っただけだと、0になってしまう訳ですね。
99÷100=0.99+1=1.99 で1として判断。
このように、どうしたら、
1に2に3に…と出来るのかを考えれば多岐にわたる分岐判断は
IF+IF関数よりも簡単になると思います。
Choose関数のダイアログボックスを作っていきましょう。
インデックスには、E2/100+1
値1には、”不可”
値2には、”可”
値3には、”良”
値4には、”満点”
あとは、OKボタンをクリックしましょう。
そうしたら、オートフィルハンドルを使って連続コピーしましょう。
ちなみに、数式は、
=CHOOSE(E2/100+1,"不可","可","良","満点")
確かに、IF+IF関数のネストよりも煩雑じゃないですよね。
ちょっと複数の判断分岐になるときには、Choose関数。使ってみてはどうでしょうか?