エクセル関数でシンプルでわかりやすい複数条件

VLOOKUPの限界! > エクセル関数にこだわる! > シンプルな複数条件

エクセル関数で、シンプルでわかりやすい複数条件を設定する方法です。

以下の表(データ)で、
A B C D E F G H I J K
1
2 EXCEL 2007 WIN
3 エクセル 2010 MAC
4 EXCEL 2010 WIN
5 エクセル 2007 WIN
6 EXCEL 2007 WIN

「EXCEL」「2007」「WIN」の3つを満たす時に「1」を表示させたい場合、どうされますか?

IF関数をひたすら組み合わせても、IF関数の条件でAND関数を使い、=IF(AND(A2="EXCEL",B2=2007,C2="WIN"),1,"") とする方法もあります。
しかし、「EXCEL」「2010」「WIN」の時には「2」を、他の条件でも番号を付けたい場合、どんどん複雑になっていきませんか?
また、個人的にですが、IF関数を組み合わせて長くなった数式は、後から見て非常にわかりづらい…。

後から誰が見てもわかりやすい数式を作ってみましょう。まず、D列を「EXCEL」専用の列にしてしまいます。
A B C D E F G H I J K
1 EXCEL
2 EXCEL 2007 WIN 1
3 エクセル 2010 MAC
4 EXCEL 2010 WIN 1
5 エクセル 2007 WIN
6 EXCEL 2007 WIN 1

数式はシンプルです。D2に =IF(A2="EXCEL",1,"") しドラッグするだけです。
後から見てわかるよう、D1に「EXCEL」と入れておきます。

同様に、E列は「エクセル」、F列は「2010」、G列は「2007」、H列は「WIN」、I列は「MAC」専用にし、それぞれに2,3,4,5,…とIFがYESの場合の数値を変えておきます。
A B C D E F G H I J K
1 EXCEL エクセル 2010 2007 WIN MAC
2 EXCEL 2007 WIN 1 4 5
3 エクセル 2010 MAC 2 3 6
4 EXCEL 2010 WIN 1 3 5
5 エクセル 2007 WIN 2 4 5
6 EXCEL 2007 WIN 1 4 5

上記のようになります。そして、これらの計算用の数値を「&」または「」でくっつけます。
J2に =D2&E2&F2&G2&H2&I2 または、=CONCATENATE(D2,E2,F2,G2,H2,I2) と入力し、下までドラッグして下さい。
結果は以下のようになります。
A B C D E F G H I J K
1 EXCEL エクセル 2010 2007 WIN MAC
2 EXCEL 2007 WIN 1 4 5 145
3 エクセル 2010 MAC 2 3 6 236
4 EXCEL 2010 WIN 1 3 5 135
5 エクセル 2007 WIN 2 4 5 245
6 EXCEL 2007 WIN 1 4 5 145

あとはK列に「EXCEL」「2007」「WIN」を表す「145」の場合に「1」となるよう K2に =IF(J2="145",1,"") と入力すれば終わりです。

留意点として、&やCONCATENATE関数で結合したものは文字列となっている為、145を文字列として "145" とするか、 J2の文字列をVALUE関数で数値に変換する、 =IF(VALUE(J2)=145,1,"") にする必要があります。

逆にめんどくさいわ、という声も聞こえてきそうですが、複数条件が多く複雑になってしまう場合、地味に有効な手段です。




→エクセル関数にこだわる!