1つだけ過去を変えられるとしたら?

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
であるような行を知りたいのですが、

どうすればよいのでしょうか。

A 回答 (3件)

Sheet1、Sheet2 ともに空いている列に =A1&B1 のような連結データを作り、Matchなどで比較するとか、、、



Sheet1 の E1 =A1&B1
Sheet2 の E1 =A1&B1
Sheet1 の F1 =MATCH(E1,Sheet2!E:E,0)
    • good
    • 1
この回答へのお礼

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

今回のデータ処理については、Sheet1とSheet2の別の列Eに
=A1&B1
でデータを作り、
更にSheet1の別の列に
=COUNTIF(Sheet2!E:E,"="&E1)
というようにして、一致データを知るようにしたいと思います。

お礼日時:2004/09/25 19:50

VBAでSheet1のA列の1つに対し、Sheet2のA列を総なめして,一致していれば両シートの両行のB列同士を比較して同じなら重複データとしてSheet3に書き出すとか、Sheet1か2のその行に記しを付ければ良いでしょう。

総なめ法は、平均でA行数xB行数x1/2ぐらい読む時間がかかるが、最近のパソコンは処理が早くて直ぐ終わるでしょう。
関数ならSheet1とSheet2の比較キーを正確に桁を反映した合成キーを作る必要があるでしょう。=A1&B1は場合によっては危険。
    • good
    • 0
この回答へのお礼

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

すみません、VBAはよくわかりません。

>=A1&B1は場合によっては危険。

それは全くおっしゃるとおりだと思います。
"あいうえお" & "かきくけこ"
"あいうえ" & "おかきくけこ"
この2つは違います。

ただ、今回の私のデータ処理に関しては、このようなことは意識しなくていいデータなので、
便法として、=A1&B1 は使えそうです。

お礼日時:2004/09/25 19:42

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
と考えて、重複データとします。

すみませんが、よろしくお願いします。

補足日時:2004/09/25 15:23
    • good
    • 0

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


おすすめ情報