エクセルで複数条件比較ができない問題

このQ&Aのポイント
  • エクセルでデータの比較、照合の方法で困っています。A~CのデータにあわせてD~Fのデータを照合したいのですが、A列の番号とD列の番号が順不同になっており上手く照合ができません。
  • 100件以上のデータがあり、A,B,Cの三つの条件が全て一致するD,E,FのデータにあればOK、ひとつでも違っていればNGと表記させたいのですが、なかなかいい関数が思いつきません。
  • VBAではなく関数で表記をさせたいので、どうすればよいでしょうか。お手数をおかけしますが、アドバイスをお願いします。
回答を見る
  • ベストアンサー

エクセル 複数の条件での比較 一致 。困ってます。

こんにちは。 エクセルでデータの比較、照合の方法で困っています。 A~Cのデータにあわせて  D~Fのデータを照合したいのですが A列の番号とD列の番号が順不同になっており上手く照合ができません。 下記のようなデータが100件以上ありA,B,Cの三つの条件が全て一致するD,E,FのデータにあればOK,ひとつでも違っていればNGと表記させたいのですが、なかなかいい関数が思いつきません。 出来ればVBAではなく関数で表記をさせたいのですが、宜しくお願いいたします。 A  B     C       D E     F 1 りんご  青森 1 りんご  長野 3 みかん 和歌山    2   スイカ  千葉

  • shoue
  • お礼率42% (3/7)

質問者が選んだベストアンサー

  • ベストアンサー
  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.3

>出来れば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"),"")

shoue
質問者

お礼

出来ました!勉強になりました! 丁寧にご回答いただき有難うございます。

その他の回答 (3)

  • shorun
  • ベストアンサー率42% (133/310)
回答No.4

No2です 式が間違っていましたつぎのように訂正します。  +IF(AND(A2=D2,B2=E2,C2=F2),"OK","NG")

shoue
質問者

お礼

回答いただき有難うございます! 私の伝え方が悪く、上手く出来なかったのですが参考になりました。有難うございました!

  • shorun
  • ベストアンサー率42% (133/310)
回答No.2

添付図のような例で良いなら(着色はここで見やすくしただけで実際の結果に着色はありません。) 例えばG列を照合用欄にして G2セルに下記式を入力、それをコピーして表の最下行まで貼り付ける。  +IF(AND(A8=D8,B8=E8,C8=F8),"OK","NG") 初歩的な関数同士、IF とANDを組み合わせた例ですが、 式の意味がわからなければ補足してください。

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

セルA1~C1をD~F列で調べて、結果をG1に出力する例です。 セルG1: =IF(A1&B1&C1<>"",IF(SUMPRODUCT(($D:$D=A1)*($E:$E=B1)*($F:$F=C1))>0,"OK","NG"),"") 後は、下にコピーしてください。

shoue
質問者

お礼

伝え方が悪くて申し訳なかったのですが、大変参考になりました。 他のデータで参考にさせていただきます。 有難うございました。

shoue
質問者

補足

丁寧に有難うございます。すみません、説明不足でした。 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  

関連するQ&A

  • エクセル関数で、2列の情報を1列に順番に並べたい

    以下の元データのようにA~D列にある情報を、 下方のE列、F列にあるように情報を合わせて表示したい場合、 E列、F列にはどのような関数を入れたらよいでしょうか。 COUNTIFやVLOOKUP関数を試してみましたが、 うまく順番に並べることができず途方に暮れています。。。 どなたかお知恵がある方、マクロではなく関数で 教えていただけたらありがたいです。 ※A列はB列の情報番号、C列はD列の情報番号です。 ↓元データ↓ A  B    C   D 1 みかん  1 あ 1 みかん  2 い 1 みかん  3 う 2 りんご   4 え 2 りんご   5 お 3 すいか  6 か 3 すいか  7 き 3 すいか  8 く 3 すいか  9 け ↓このようにしたいです。↓ A  B    C  D   E  F 1 みかん  1  あ    1  みかん 1 みかん  2  い    1  あ 1 みかん  3  う    2  い 2 りんご   4  え    3  う 2 りんご   5  お    2  りんご 3 すいか  6  か    4  え 3 すいか  7  き    5  お 3 すいか  8  く     3  すいか 3 すいか  9  け    6  か                 7  き                 8  く                  9  け 何とぞよろしくお願いします。

  • Excelで複数条件に一致するものをカウントしたい。

    ●AシートのB列にあるCという文字を含み且つD列にあるEという文字を含むものをFシートにカウントしたい場合の関数はどうしたらいぃのでしょうか?

  • EXCELで複数条件の検索

    6人(A,B,C,D,E,F)で麻雀を打つことになりました。 全員と打てるようにするには6C4で 15通りの組み合わせが出来ます。 で、表を作りました。 C,D,A,Fの組み合わ(要するにA,C,D,F)の試合番号を求めるには、 どうすれば良いですか? ※A,C,D,Fの並びは順不同です

  • Excelで複数条件で抽出した複数データを出力

    Excelで複数条件で抽出した複数データを出力したい Shett1のセルAとセルBの複数条件で、Sheet2を検索し一致したSheet2のセルCを Sheet1の該当するセルCに入れたいのです。 それを関数でするのはどうしたらいいのでしょうか? Sheet1 A B NAME ID(タイトル) いちご A01 いちじく A02 かき B01 すいか C01 なし D01 ぱいなっぷる E01 ばなな E02 ぶどう F01 みかん G01 めろん H01 もも I01 りんご J01 Sheet2 A B C 名前 ID 漢字(タイトル) みかん G01 蜜柑 いちご A01 苺 ぶどう F01 葡萄 りんご J01 林檎 もも I01 桃 かき B01 柿 なし D01 梨 すいか C01 西瓜 いちじく A02 無花果

  • EXCELで2つ条件で1つが部分一致のとき

    Excelの2003バージョンです。 現在使用しているファイル名「会社」シート名「支社」のセルE12に 同じシート上のD12(同じ行ですね)と ファイル名「埼玉」シート名「データ」のA列の中の値と一致(完全一致)して なおかつ、シート名「支社」のF3の値(例・後1、後2)とシート名「データ」の C列の値(例・後1 第23号)と部分一致をした時に 使用中シート「支社」のE12に●、していない時は空白にしたいのです。 ファイル「会社」シート名「支社」 行数 --A列----B列----C列-----D列----E列----F列---- 1                             11223344  (ここに関数)  後1 ファイル「埼玉」シート名「データ」 行数 --A列----B列----C列-----D列----E列----F列---- 10   11223344         後1 第23号  11   11223344         一般会社 第44号  のような場合はE1に●になるようにしたいのです。 それ以外は空白で。 あまり詳しくないので、よろしくお願いします。

  • エクセルで、2つの条件に一致する値を返す方法 教えてください

    A B C D E F 1 日付 分数 2 Aさん Bさん Cさん Aさん Bさん Cさん 3 3/2 2/12 3/15 9 10 10 4 3/4 2/12 3/15 2 3 3 5 3/4 2/12 3/15 30 30 30 6 3/3 2/12 3/15 1 1 2 7 3/4 2/12 3/15 3 5 4 8 3/4 2/12 3/15 29 29 29 上記の表より 列A,B,Cは日付 列D,E,Fは分数です ・3行目のG列にD3:F3の範囲で最小値であり、A3:C3の範囲で最新の日付(最大値)である時の 日付を表示したい。 G3のセルを下に引っ張り各行ごとに値を表示したいです。 関数(式)を教えてください。

  • Excelでの文字列とりだしについて

    Excel(version2013)について質問です。 ある文字列を検索範囲内で検索し、みつかった場合、 その文字列を返すようにしたいです、どのような関数を使えば宜しいでしょうか。 例えば下記A列に検索したいリスト(りんご、ばなな、ぶどう)があり、 検索したい範囲がD1~E5とします。 その場合、B列に関数を使った式を入れ、 りんご、ばなな、空文字、りんご、ぶどうと並ぶようにしたいです。 どのような関数を使えば宜しいでしょうか。       A         B      C      D        E 1  りんご   (式)        りんご  みかん 2  ばなな  (式)        ばなな すいか 3  ぶどう   (式)        すいか みかん 4              (式)        りんご  すいか      5              (式)        ぶどう  みかん                                      

  • エクセル:複数セルからの参照

    お世話になります。 A,B,C列にデータが入っています。 D,E,F列に参照のためのデータがあります。 A,B,C列はそれぞれD,E,F列に対応しています。 A,B,C列と同じ並びのデータが入っている行をD,E,F列から探し、その隣のG列の値をH列に返す。 D,E,F列の並びが重複する行はありません。 A,D列は場所の名前、B,C,E,F列には数字が入っている。 例) A1に事務室 B1に20 C1に3 が入っているとする。 D/E/F列が 事務室/20/3 の並びになっているのが10行目の場合、H1にG10のセルの値を返す。 この場合、H列にはどんな計算式を入れておけばよいのでしょうか? A,B,C列と同じ並びのデータがD,E,F列で見つからない場合は空白をH列に返す。 ちなみにD/E/F列が 事務室/20/3 の並びになっている行は10行目しかないです。 よろしくお願いします。

  • エクセルで一致しないものを抜き出す方法

     またエクセル関数の質問があります。 セルA1:A6にA~Fがランダムに入力されています。 セルB1:B6にA~Fの一部がランダムに入力されています。空白もあります。 別なセルに一致しない記号を表示させたいのですが.... 例   A B C D 1 F C B 2 D   D 3 B A 4 A F 5 E 6 C E 別なセル(上記ではC1、C2)に表示させられますか? A列とB列の記号は変化します。  よろしくお願いします。

  • Excelについて

    Excelに下記のようなデータが入っているのですが A列   |   B列 りんご |     2 みかん | 3 ばなな | 1 りんご | 6 すいか | 7 かき | 3 みかん | 4 すいか | 8 りんご | 1 *(実際には100件ぐらいのデータが入っています。) A列で同じ「りんご」があれば、同じ行にあるB列の値を合計したいのでがどうすればよいですか? また「りんご」だけでなく他にもあればその値を合計して出したいのですが。 例えば、今回の例では「りんご」が三箇所あるので「2+6+1]で9と表示したいのですが。 イメージとしては、 A列  |   B列 |   C列   |  D列 りんご |    2  |    りんご |  9 みかん |    3  |    みかん | 7 ばなな | 1  |    ばなな | 1 りんご | 6  |    すいか | 15 すいか | 7  |    かき | 3 かき | 3 | みかん | 4 | すいか | 8 | りんご | 1 | というようにしたいです。どなたか教えてください。