- ベストアンサー
エクセルで複数条件比較ができない問題
- エクセルでデータの比較、照合の方法で困っています。A~CのデータにあわせてD~Fのデータを照合したいのですが、A列の番号とD列の番号が順不同になっており上手く照合ができません。
- 100件以上のデータがあり、A,B,Cの三つの条件が全て一致するD,E,FのデータにあればOK、ひとつでも違っていればNGと表記させたいのですが、なかなかいい関数が思いつきません。
- VBAではなく関数で表記をさせたいので、どうすればよいでしょうか。お手数をおかけしますが、アドバイスをお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>出来ればVBAではなく関数で表記をさせたいのですが IF関数の論理式にAND関数を使う方法やIF関数の3重入れ子でも良いのですが、IF関数の論理式へSUMPURODUCT関数を使う方法があります。 =IF(SUMPRODUCT((A1:C1=D1:F1)*1)=3,"OK","NG") 3つの要素を配列で比較演算して数値化すれば3要素が全て一致すると3になります。 1つの要素が異なれば2であり、2つが異なれば1です。 全てが異なれば0になりますのでIF関数の論理式に利用できます。 A、B、Cが空欄のとき空欄にする場合はIF関数の入れ子で対応してください。 =IF(COUNTA(A1:C1)=3,IF(SUMPRODUCT((A1:C1=D1:F1)*1)=3,"OK","NG"),"")
その他の回答 (3)
- shorun
- ベストアンサー率42% (133/310)
- shorun
- ベストアンサー率42% (133/310)
- nishi6
- ベストアンサー率67% (869/1280)
セルA1~C1をD~F列で調べて、結果をG1に出力する例です。 セルG1: =IF(A1&B1&C1<>"",IF(SUMPRODUCT(($D:$D=A1)*($E:$E=B1)*($F:$F=C1))>0,"OK","NG"),"") 後は、下にコピーしてください。
お礼
伝え方が悪くて申し訳なかったのですが、大変参考になりました。 他のデータで参考にさせていただきます。 有難うございました。
補足
丁寧に有難うございます。すみません、説明不足でした。 A~C列に入っているデータが正しく、E~Gに入っているデータは 番号、商品、産地が正しく入っているものもあれば間違っているものもあります。必ずしも横並びで比較するのではなく、 A1,B1,C1に入っている情報が E列、F列、G列の中に入っている3条件と一致すればOK,NGという感じで下記のように表示したいのですが、可能でしょうか? A B C E F G H 1 りんご 青森 3 スイカ 千葉 OK 2 みかん 和歌山 1 りんご 長野 NG 3 スイカ 千葉 2 みかん 和歌山 OK
お礼
出来ました!勉強になりました! 丁寧にご回答いただき有難うございます。