Excel でシート間の重複データ(Sheet1のA=Sheet2のA かつ Sheet1のB=Sheet2のB)
Excel2000です。
Sheet1のA列・B列・C列・・・にデータが入っています。
Sheet2のA列・B列・C列・・・にデータが入っています。
Sheet1のA列とSheet2のA列は、似たようなデータが入っています。
Sheet1のB列とSheet2のB列も、同様です。
C列以降のデータは、シート間で全然関係ありません。
Sheet1の行データ(A列・B列)が、Sheet2(A列・B列)にも存在しているかどうか、
を知るには、どうすればよいですか。
C列以降の列のデータは、比較する際に使いません。
つまり、
Sheet1のA = Sheet2のA
かつ
Sheet1のB = Sheet2のB
であるような行を知りたいのですが、
どうすればよいのでしょうか。
回答(3件)
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示
No.3ベストアンサー10pt
VBAでSheet1のA列の1つに対し、Sheet2のA列を総なめして,一致していれば両シートの両行のB列同士を比較して同じなら重複データとしてSheet3に書き出すとか、Sheet1か2のその行に記しを付ければ良いでしょう。総なめ法は、平均でA行数xB行数x1/2ぐらい読む時間がかかるが、最近のパソコンは処理が早くて直ぐ終わるでしょう。
関数ならSheet1とSheet2の比較キーを正確に桁を反映した合成キーを作る必要があるでしょう。=A1&B1は場合によっては危険。
この回答へのお礼
ご回答ありがとうございます。
すみません、VBAはよくわかりません。
>=A1&B1は場合によっては危険。
それは全くおっしゃるとおりだと思います。
"あいうえお" & "かきくけこ"
"あいうえ" & "おかきくけこ"
この2つは違います。
ただ、今回の私のデータ処理に関しては、このようなことは意識しなくていいデータなので、
便法として、=A1&B1 は使えそうです。
No.2ベストアンサー20pt
Sheet1、Sheet2 ともに空いている列に =A1&B1 のような連結データを作り、Matchなどで比較するとか、、、
Sheet1 の E1 =A1&B1
Sheet2 の E1 =A1&B1
Sheet1 の F1 =MATCH(E1,Sheet2!E:E,0)
この回答へのお礼
ご回答ありがとうございます。
今回のデータ処理については、Sheet1とSheet2の別の列Eに
=A1&B1
でデータを作り、
更にSheet1の別の列に
=COUNTIF(Sheet2!E:E,"="&E1)
というようにして、一致データを知るようにしたいと思います。
Sheet3に式設定してはどうでしょう?不一致の行がわかるように。
Sheet1でもSheet2の空いた列でも良いですが。
Sheet3のA1に式[=IF(AND(Sheet1!A1=Sheet2!A1,Sheet1!B1=Sheet2!B1),"","NG")]を設定。
行数分コピーする。
不一致行にはA列に"NG"が表示されます。
この回答への補足
どうも、意図しないような結果になっています。
質問の仕方が悪かったように思います。すみません。
Sheet1の内部では、データの重複はありえます。
Sheet2の内部でも、同様です。
Sheet1のレコードの並び順と、Sheet2のレコードの並び順は、関係ありません。
質問で「行」という言葉を使ったのは、まずかったかもしれません。
Sheet1のA1とSheet2のA200が、一致しているかもしれません。
そして、Sheet1のB1とSheet2のB200が、一致しているかもしれません。
この場合も、
Sheet1のA = Sheet2のA かつ Sheet1のB = Sheet2のB
と考えて、重複データとします。
すみませんが、よろしくお願いします。
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示











