業務を行っていると管理しているExcelのデータがどこが変更されて、追加されたデータなのかを確認する場面に時々直面するので、その際にシートと睨めっこしなくて済む方法を紹介します。
【1.比較するシートの準備】
①比較したいシートAの準備
②比較したいシートBの準備
①で準備したシートに対して比較したいデータを①と同じセルの位置に貼り付けたシートを用意します。
後々分かると思いますが、今回の方法だと別の位置に比較したデータを貼り付けると欲しい結果が得られませんので注意してください。
変更箇所は赤枠の部分です。
①所属を入れ替えた
②3名分データを追加した
【2.差分の確認】
確認方法
①確認用の新規シート作成
②列名を貼り付けと見やすいので先頭にコピペ(今回の「ID」のように主キーとなるモノも記載すると尚見やすい)
③「=シートA!A2=シートB!A2」と記入
④ドラッグして必要な範囲まで広げる
これで変わった部分が「FALSE」表示されるので、ここらは目検で確認して該当箇所を修正すれば完了です。
追加されて比較対象がない場合も「FALSE(不一致)」として表示されます。
また、結果が見づらい場合は「=IF(シートA!A2=シートB!A2,”〇”,”×”)」などとしてもいいですし、以下のように該当箇所に色付けすると見やすいです。
[条件付き書式] → [新しいルール] → [指定の値を含むセルだけを書式設定]
【補足:比較箇所を準備するのが面倒な場合】
紹介した方法だと比較したいシートのデータのセルの位置を揃えないといけないので、下準備の対応が面倒な場合あると思います。
そういう場合は、Power Queryを使うと一致していない部分をセル単位で抽出することができます。
※ただし、主キーになるような列(カラム)は必要です。
①Power Queryの起動
[データ] → [データの取得] → [ファイルから] → [Excelブックから] → [押下後対象のシートがあるファイルを選択] → [シートを選択] → [データの変換を押下]してデータをインポートしてPower Queryを起動します。
②比較したいシート同士を結合(UNION)
[クエリの追加] → [クエリ新規クエリとして追加] → [比較するシートAとシートBを選択] → [OKを押下]
③横持データから縦持ちデータに変換
[主キーの列を選択] → [列のピボット解除] → [その他の列のピボット解除]を押下。
これで横持データから縦持ちデータに変更することができます。
※変更後のテーブル
④主キー + 値を結合した列を作成
ID + 値の列を作成することで、重複確認ができるようになるのでそのための列を新規作成します。
[主キー(今回は「ID」)と「値」列を選択] → [列のマージ] → [区切り記号]を選択 → [OK]を押下
これで以下のように、「主キー+値」の列を作成することができました。
※変更後のテーブル
⑤確認
④で確認用の列を作成したので、あとはこれを使って2つのシートの差分の部分を確認していきます。
[ホーム] → [閉じて読み込む]で保存 → Power Queryを終了
[見やすいように「ID+値」の列をソート] → [条件付き書式] → [セルの強調表示ルール] → [重複する値] → [一意] に変更 → [色フィルター]で重複を除外
これで、上記の画像のように追加箇所と変更箇所を抽出することができました。
※追加された行については元々一意なので、抽出されてしまいます。
以上がシートの差分を確認する方法になります。参考になれば幸いです。
その他の記事も読む
・地域住民の生活行動範囲に基づいた「生活圏エリアマーケティング -LAM-」
・【Excel】CSVファイルの文字化けを解消する方法
・【Excel】住所から都道府県名だけを抜き出す方法
・Excel Power Pivotをリボンに表示する方法
・【Excel】bin切りをpivot table内で実行
・ExcelのデータバーをPowerpointに貼る方法
・【Excel】XMATCH関数の基本的な使い方とINDEX関数の組み合わせ
・Excelで2つのシートを比較する方法
・【Excel】重複なしのデータ個数を算出する方法
・【Excel】セルの数式をそのままコピーペーストする方法