エクセルのデータが追加されたとき、すぐにどれが追加されたデータなのか探すのが大変!
2つのデータを比較し、追加されたデータ(不一致データ)を簡単に探す方法を紹介します。
ExcelとAccessだとAccessの方が簡単です。
ただしAccessの場合はエクセルデータによっては、修正しないとインポートできない場合があります。
その他に、ExcelのPowerQuery を使った方法もあります。
エクセルデータの不一致の例
例:左が最初のデータ(シート名「1」)で、右が追加後のデータ(シート名「2」)です。
![](https://officeqa.net/wp-content/uploads/2021/02/excel-fuicchidata-3.png)
最初のデータ「シート1」にないものを探すにはどうするか。
![](https://officeqa.net/wp-content/uploads/2021/02/excel-fuicchidata-1.png)
この例ではわかりやすくするために、同じ順番に並べています。
不一致データは、6行目と7行目です。
データが大量にあり、データの順番がバラバラの場合は、不一致データを探すのが大変です。
エクセルの関数で不一致データを探す方法
簡単な方法は、C列にVLOOKUP関数を使って探します。
![](https://officeqa.net/wp-content/uploads/2021/02/excel-fuicchidata-4.png)
=VLOOKUP(A2,'1'!A:A,1,FALSE)
VLOOKUP関数をもう少し詳しく知りたい場合は、次の記事を参照してください。
![](https://officeqa.net/wp-content/uploads/2021/01/excel-kakeibo-4-300x169.png)
関数入力後です。「#NA」と表示されているデータが不一致です。
![](https://officeqa.net/wp-content/uploads/2021/02/excel-fuicchidata-4-1.png)
追加されたデータだけを表示する場合は、フィルターで「#NA」を抽出します。
![](https://officeqa.net/wp-content/uploads/2021/02/excel-fuicchidata-5.png)
抽出後の画面です。
![](https://officeqa.net/wp-content/uploads/2021/02/excel-fuicchidata-6.png)
Accessのクエリで不一致データを探す
Accessでのデータ比較は、まず比較するエクセルデータを取り込みます。
その後、クエリを使って不一致を探します。
エクセルデータのインポート
(1)Accessを起動し、空のデータベースをクリックし、名前を付けて保存します。自動で開くテーブルは「×」で閉じます。
(2)[ 外部データ ] タブ > [ 新しいデータソース ] > [ ファイルから ] > [ Excel ] をクリックします。
![](https://officeqa.net/wp-content/uploads/2021/02/excel-fuicchidata-accsess-1.png)
(3)インポートするエクセルデータを選択します。
![](https://officeqa.net/wp-content/uploads/2021/02/excel-fuicchidata-import.png)
(4)ワークシート「1」を選択し、次へをクリックします。
![](https://officeqa.net/wp-content/uploads/2021/02/excel-fuicchidata-accsess-2.png)
(4)「先頭行をフィールド名として使う」にチェックを入れ、「次へ」を2回クリックします。
![](https://officeqa.net/wp-content/uploads/2021/02/excel-fuicchidata-accsess-3.png)
(5)主キーの設定で、「次のフィールドに主キーを設定する」より「ID」を選択し、「次へ」をクリックします。
![](https://officeqa.net/wp-content/uploads/2021/02/excel-fuicchidata-accsess-4.png)
(6)インポート先のテーブル名を入力して「完了」をクリックします。ここではシート名と同じままにしています。
![](https://officeqa.net/wp-content/uploads/2021/02/excel-fuicchidata-accsess-5.png)
(7)次の画面表示のインポート操作の保存は何もせず、「閉じる」をクリックします。
(8)ワークシート「2」を「1」と同様にインポートします。
インポートウィザードの最初の画面は、既にテーブルが存在しているので画面が少し異なります。
![](https://officeqa.net/wp-content/uploads/2021/02/excel-fuicchidata-accsess-6.png)
2つのエクセルデータ取り込み後の画面です。
![](https://officeqa.net/wp-content/uploads/2021/02/excel-fuicchidata-accsess-8.png)
クエリで不一致を探す
(1)[ 作成 ] タブ > [ クエリ ] グループ > [ クエリデザイン ] をクリックします。
![](https://officeqa.net/wp-content/uploads/2021/02/excel-fuicchidata-accsess-9.png)
(2)テーブル「1」と「2」を選択し、「選択したテーブルを追加」をクリックします。
![](https://officeqa.net/wp-content/uploads/2021/02/excel-fuicchidata-accsess-10.png)
テーブル追加後の画面です。
![](https://officeqa.net/wp-content/uploads/2021/02/excel-fuicchidata-accsess-11.png)
(3)「1」の「名前」を選択し「2」の「名前」へドラッグします。
(4)結合の線をダブルクリックし、結合プロパティを開きます。
(5)「2の全データと1の同じ結合フィールドのレコードだけを含める」を選択し、「OK」をクリックします。
![](https://officeqa.net/wp-content/uploads/2021/02/excel-fuicchidata-accsess-12.png)
(6)両方のテーブルのフィールドを追加します。ここではわかりやすくするためすべてのフィールドを追加しました。
![](https://officeqa.net/wp-content/uploads/2021/02/excel-fuicchidata-accsess-13.png)
(7)テーブル「1」の抽出条件に、「null」と入力しエンターキーを押します。
![](https://officeqa.net/wp-content/uploads/2021/02/excel-fuicchidata-accsess-15.png)
「Is Null」と設定されます。
![](https://officeqa.net/wp-content/uploads/2021/02/excel-fuicchidata-accsess-16.png)
(8)リボンより実行「!」をクリックします。
![](https://officeqa.net/wp-content/uploads/2021/02/excel-fuicchidata-accsess-17.png)
大量のデータがある場合、この方法だとすぐに不一致データ(追加されたデータ)を抽出することができます。
問題点は、最初に述べた通り、インポートデータが結合加工等されていると、データを修正する必要があります。