エクセル関数で、シンプルでわかりやすい複数条件を設定する方法です。以下の表(データ)で、
「EXCEL」「2007」「WIN」の3つを満たす時に「1」を表示させたい場合、どうされますか? IF関数をひたすら組み合わせても、IF関数の条件でAND関数を使い、=IF(AND(A2="EXCEL",B2=2007,C2="WIN"),1,"") とする方法もあります。 しかし、「EXCEL」「2010」「WIN」の時には「2」を、他の条件でも番号を付けたい場合、どんどん複雑になっていきませんか? また、個人的にですが、IF関数を組み合わせて長くなった数式は、後から見て非常にわかりづらい…。 後から誰が見てもわかりやすい数式を作ってみましょう。まず、D列を「EXCEL」専用の列にしてしまいます。
数式はシンプルです。D2に =IF(A2="EXCEL",1,"") しドラッグするだけです。 後から見てわかるよう、D1に「EXCEL」と入れておきます。 同様に、E列は「エクセル」、F列は「2010」、G列は「2007」、H列は「WIN」、I列は「MAC」専用にし、それぞれに2,3,4,5,…とIFがYESの場合の数値を変えておきます。
上記のようになります。そして、これらの計算用の数値を「&」または「」でくっつけます。 J2に =D2&E2&F2&G2&H2&I2 または、=CONCATENATE(D2,E2,F2,G2,H2,I2) と入力し、下までドラッグして下さい。 結果は以下のようになります。
あとはK列に「EXCEL」「2007」「WIN」を表す「145」の場合に「1」となるよう K2に =IF(J2="145",1,"") と入力すれば終わりです。 留意点として、&やCONCATENATE関数で結合したものは文字列となっている為、145を文字列として "145" とするか、 J2の文字列をVALUE関数で数値に変換する、 =IF(VALUE(J2)=145,1,"") にする必要があります。 逆にめんどくさいわ、という声も聞こえてきそうですが、複数条件が多く複雑になってしまう場合、地味に有効な手段です。 →エクセル関数にこだわる! |
|