- ベストアンサー
エクセル関数でシートの比較を行う方法
- エクセルでシートの比較を行い、異なる詳細内容を別のシートに書き出す方法を教えてください。シート1とシート2の同じ型番同士を比較し、異なる詳細内容をシート3に書き込みたいです。
- Excelの関数やVBAを使用して、シート1とシート2の同じ型番同士を比較し、異なる詳細内容をシート3に出力する方法を教えてください。Excel2000を使用しています。
- Excel2000で、シート1とシート2の同じ型番同士を比較して、異なる詳細内容をシート3に書き出す方法を教えてください。関数を使うことができればベストですが、VBAでもかまいません。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
[ANo.2この回答への補足]に対するコメント、 》 この3つがSheet3に書き出されるようにお願いします。 今更そんな元気もないので、「Sheet1にあってSheet2にはない」ものだけを Sheet4 に「書き出される」例を提示しておきます。後は自分でそれを応用してください。 Sheet1 Sheet2 A B C D E A B C D 1 5001 A1 B5 F3 Z4 1 5001 A1 B5 2 5002 E6 C2 A7 2 5002 E6 C1 A6 3 5003 B9 M8 3 5004 B9 M8 4 Sheet3 Sheet4 A B C D E A B C 1 5001 4 5 1 5001 F3 Z4 2 5002 3 4 2 5002 C2 A7 3 5003 2 3 3 5003 B9 M8 4 4 Sheet1 のA列を Sheet3 と Sheet4 のA列にコピー&ペーストした後で、次式を入力して右方および下方にズズーッとドラッグ&ペースト Sheet3!B1: =IF(ISERROR(MATCH(Sheet1!B1,OFFSET(Sheet2!$A$1,MATCH($A1,Sheet2!$A:$A,0)-1,1,,200),0)),IF(Sheet1!B1="","",COLUMN(B1)),"") Sheet4!B1: =IF(ISERROR(SMALL(OFFSET(Sheet3!$A1,,1,,200),COLUMN(A1))),"",OFFSET(Sheet1!$A1,,SMALL(OFFSET(Sheet3!$A1,,1,,200),COLUMN(A1))-1))
その他の回答 (2)
[ANo.1この回答への補足]に対するコメント、 》 Sheet1を正として、Sheet2と異なる部分をSheet3で挙げました。 そういうことなら、「結果」は次のようにするのが正解でしょ? 5001 F3 Z4 5002 C2 A7 ← ここ 5003 B9 M8 ← 5004 はなし 》 …そうでないといけないことはないので、…かまいません。 そういうことでなく、ご希望のルールを明確にして、首尾一貫した例を示して欲しかっただけです。
お礼
すいません。お礼の欄をお借りして、補足の訂正を 書かせていただきます。 >Sheet1にあってSheet2にはない。 >Sheet2にあってSheet1にはない。 >Sheet1,2と異なる部分。 >この3つが・・・ と言いましたが、 異なる部分は上の2つと同じなので、 Sheet1にあってSheet2にはない。 Sheet2にあってSheet1にはない。 この2つがSheet3に書き出されるように お願いします。
補足
そうですね。ご指摘の通りです。 異なる部分を抜き出す例を挙げるときに、 書きにくく、こんなことになってしまいました。 こちらでいろんな質問を見て、勉強させて いただいていたつもりなのですが。 いざ実際に質問するとなると難しいですね。 Sheet1にあってSheet2にはない。 Sheet2にあってSheet1にはない。 Sheet1,2と異なる部分。 この3つがSheet3に書き出されるように お願いします。
「結果」の表において、 品番 5002 に C2 および A7 がないのはなぜ?(5001 には Sheet2 にはない F3 および Z4 があるのに)
補足
Sheet1を正として、Sheet2と異なる部分をSheet3で挙げました。 絶対にそうでないといけないことはないので、 Sheet3の5002にC2,A7,C1,A6全て挙がってきてもかまいません。 説明不足で申し訳ありませんが、よろしくお願いいたします。
お礼
できました。 ありがとうございました。