同じコードが両方の一覧にあるのに、件数が違うときは?
同じコードを1件ずつ照合し、片方の一覧に余っている分を見つけます。コードの種類だけでなく、重複を含む件数も確認できます。
両方の一覧に同じコードがあっても、それぞれの件数が異なることがあります。JOIN SHEETで結合キーを設定せず「値を比較」を使うと、同じ値を1件ずつ対応させて余った分を確認できます。
存在確認だけでは見逃す重複
ListAはR1が2件、R2が1件です。ListBはR1が1件、R2が2件です。値の種類だけを見ると同じですが、件数を対応させるとAのR1とBのR2が1件ずつ余ります。
表中の∅は空欄を示す説明用の記号で、入力する文字ではありません。
ListA
| CodeA |
|---|
| R1 |
| R1 |
| R2 |
ListB
| CodeB |
|---|
| R1 |
| R2 |
| R2 |
結合キーを設定せずにコードを比較する
- 列名とともに2つの一覧を読み込みます。重複が比較対象なので、事前の重複削除は行いません。
- CodeAとCodeBを結びます。線上の条件メニューで「VS」を押して「値を比較」に切り替え、別の結合キーは追加しません。
- 「結果のプレビュー」で一致した行と片側だけの行を確認します。
- 余った分だけを保存する場合は、「結果を整理」で「絞り込み」を追加します。「項目」は比較結果、「条件」は「等しくない」、「値」は「両方に存在」を選び、「適用」を押します。全比較の件数とフィルター後の件数を区別してください。
片方の一覧に余った1件ずつを確認する
結果は4行で、「両方に存在」が2行、「1つ目のみ」と「2つ目のみ」が1行ずつです。「両方に存在」を除くと、件数が合わなかった2行だけが残ります。元の各一覧は3件なので、一致した2件と余った1件を合わせれば元の件数と一致します。
| 比較結果 | CodeA | CodeB |
|---|---|---|
| 両方に存在 | R1 | R1 |
| 1つ目のみ | R1 | ∅ |
| 両方に存在 | R2 | R2 |
| 2つ目のみ | ∅ | R2 |
出現回数と記録の識別は別
この結果だけでは、R1のどの取引が欠けたのかまでは分かりません。個々の記録を特定するには取引IDなどの固有キーが必要です。コードと日付の組み合わせを比較するなら、比較対象の列を追加します。
自分のファイルで始めましょう
JOIN SHEETを使ってみる ↗Excel・CSVの作業はPCでご利用ください。
新しいタブで開くため、作業中のデータは置き換わりません。
サンプルの検証日:
出典
How to compare two columns while accounting for duplicates within a column (Reddit r/excel)
原文は、それぞれの列に重複がある場合に、2列の差を調べる方法を質問しています。 上の表と手順は、この質問を参考に別途作成した架空の例です。質問者の実データや製品の利用体験ではありません。