dポイントプレゼントキャンペーン実施中!

例えばシート1が
A列     B列   C列
123さん 12番  1番
345さん 13番  2番
678さん 14番  3番

シート2は

A列    B列    C列    D列  
345さん  A   13番   3番   
123さん  B   12番   1番   
678さん  C   14番   3番   

という表があった場合にシート1の123さんのB列とC列が
シート2の123のC列とD列の番号と一致しているかどうか
をE列に●×で表示させたい時はどのような関数を使え
ばいいのでしょうか?ちなみにシート1とシート2は順番も
項目も違う内容になっています。
VLOOKとIFを組み合わせたりしたのですが、どうしも
うまくいかず困っています。
どなたかおわかりでしたら教えてください。

A 回答 (5件)

たとえばSheet2のE2セルに以下の数式を入力します。



=IF(AND(VLOOKUP(A2,Sheet1!$A:$C,2,0)=C2,VLOOKUP(A2,Sheet1!$A:$C,3,0)=D2),"○","×")
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
できました!

お礼日時:2011/11/14 21:17

こんなのは、VLOOKUP関数を使うしかない。


VLOOKUP関数など、多少エクセル関数をやったものにはエクセルの常識。
Googleで「エクセル 関数 VLOOKUP」で照会して読んで見たら。第4引数はFALSE型だ。膨大な記事があり、このコーナーでも、2シート比較も含めて、FAQだ。
ただしVLOOKUPはデータの存在する行のデータは取れるが、行そのものは捉えない・使わないので、MATCH関数を使う手もある。
そして123さんが2度出てくる場合は、使えない。これを書いてないのは経験不足の人。
他シートのセル範囲を指定するのでSheet2!$A$1:$D$100のような書き方が出て来るだけ。
ーー
但し、
(1)AにあってBにもある
(2)AにあってBにはない
(3)Aに無くてBには在る
の(3)がA側では検出しようがない。
だからB側からのVLOOKUP関数の検索も行い併用する必要があると思う。
>VLOOKとIFを組み合わせたりしたのですが、どうしも
うまくいかず困っています。
うまく行かないのはどの点か、書いて、質問の論点を絞ること。
ここを文章ででも書けるようになってこそ勉強した人。
比較は、一方はB列セル、一方はVLOOKUPの第3引数で指定する列(例C列)になるだけ。
ーー
関数以外でVBAでやるのが良い課題だが。
    • good
    • 0
この回答へのお礼

勉強不足で申し訳ありません。
回答ありがとうございました。

お礼日時:2011/11/14 21:08

データが多くなっても計算が重くならずに分かり易い方法は作業列を作って対応する方法です。


シート1のD1セルには次の式を入力して下方にオートフィルドラッグします。

=IF(A1="","",A1&"/"&B1&"/"C1

シート2のE1セルには次の式を入力して下方にオートフィルドラッグします。

=IF(A1="","",IF(COUNTIF(Sheet1!D:D,A1&"/"&C1&"/"&D1),"●","×"))
    • good
    • 1
この回答へのお礼

ご回答ありがとうございました。

お礼日時:2011/11/14 21:19

簡易版で


E1に
=IF(SUMPRODUCT(VLOOKUP(A1,Sheet1!A:C,{2,3},FALSE)-C1:D1),"×","○")
とします。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

お礼日時:2011/11/14 21:13

半分遊びで(というか酔っぱらいなので)


Sheet2!E1セルに
=AND(INDEX(Sheet1!B:C,MATCH(Sheet2!A1,Sheet1!A:A,0),)=C1:D1)
[Ctrl]+[Shift] +[Enter] で確定、配列数式です({}で囲まれる)
「データの整合性のエクセル関数教えてくださ」の回答画像1
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

お礼日時:2011/11/14 21:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!