Excelスプレッドシートが2つあります: Header2018とHeader2019
どちらも同じ列ヘッダーが含まれていますが、レコード エントリが異なります。これらのエントリの一部は同じであり、どれが同じかを見つけたいです。
すべての重複レコード (列: asset_id に基づく) を新しいスプレッドシートに結合し、残りの列間に違いがあるかどうかを確認したいと思います。
ヘッダーの例 2018:
asset_id Name Country
2 Trent CAN
3 Alex CAN
4 Derek CAN
5 Louis CAN
6 Teresa CAN
ヘッダー2019:
asset_id Name Country
4 Derek CAN
5 Louis USA
1 Kate CAN
7 Pat CAN
8 Steven CAN
9 Tom CAN
結果の表:
asset_id Name Country
4 Derek CAN
5 Louis CAN
4 Derek CAN
5 Louis USA
結果のテーブルに基づいて、asset_id は同じだが別の列が異なるレコードを見つけられるようにしたいと考えています。
前もって感謝します!
答え1
答え2
両方のシートから共通の行を抽出するには、ヘルパー列と配列数式が必要なメソッドを提案したいと思います。
シート1:
- セル内の
A2
数式ヘルパー値:
=COUNTIF(Sheet2!$B$2:$B$7, B2)
シート2:
- セル内の数式
A2
:
=COUNTIF(Sheet1!$B$2:$B$6, B2)
注意
両方のシートに重複IDが複数ある場合(2以上)の代わりにカウント、この式を使って見つけるのがよいでしょう重複。
=IF(ISERROR(MATCH(B2,Sheet2!B$2:B$7,0)),"","Duplicate")
そしてマスターシートセルの基準
E59
は重複の代わりに1。
マスターシート:
セル内の配列数式
G60
:{=IFERROR(INDEX(Sheet1!$B$2:$D$6, SMALL(IF(COUNTIF($E$59, Sheet1!$A$2:$A$6), ROW(Sheet1!$B$2:$D$6)-MIN(ROW(Sheet1!$B$2:$D$6))+1), ROW(A1)), COLUMN(A1)),IFERROR(INDEX(Sheet2!$B$2:$D$7, SMALL(IF(COUNTIF($E$59, Sheet2!$A$2:$A$7), ROW(Sheet2!$B$2:$D$7)-MIN(ROW(Sheet2!$B$2:$D$7))+1), ABS(ROW(A1)-2)), COLUMN(A1)),""))}
仕上げフォーミュラCtrl+Shift+Enter右に記入してから下に記入します。
配列数式は
ABS(ROW(A1)-2))
調整に使用されています行番号Sheet 2
〜のために1
。
必要に応じて、数式内のセル参照を調整できます。