CSVの差分を、行番号ではなくIDで比較する
一覧が更新されるたびに、どこが変わったのか探していませんか。並び替えや行の追加がある一覧では、同じ行番号のセルを比べるだけだと、大量の差分が出てしまいます。商品コードなどの変わらないIDを使うと、同じ項目の内容を比べられます。
先に「1行は何を表すか」を確認する
商品単位の表なら商品ID、案件単位なら案件IDです。ただし、商品IDが支店ごとに繰り返される表では商品IDだけでは足りません。1つの商品・支店の組を表すなら、商品IDと支店コードの2列をキーにします。
例:商品一覧が更新された場合
変更前 A 商品ID,商品名,価格 001,コーヒー豆,1200 002,マグカップ,1800 003,ドリッパー,2400 変更後 B 価格,商品ID,商品名 1900,002,マグカップ 1200,001,コーヒー豆 2000,004,タンブラー
商品IDをキーにし、「商品名」「価格」を対応させると、行や列の並びが違っても次の結果になります。
| 商品ID | 判定 | 内容 |
|---|---|---|
| 001 | 一致 | 比較した列に変更なし |
| 002 | 変更 | 価格 1800 → 1900 |
| 003 | 削除 | Aにあり、Bにない |
| 004 | 追加 | Bにあり、Aにない |
3つのCSVを使い分ける
- 照合一覧:追加・削除・変更・一致を含む、照合できた行の一覧。
- セル変更:変わった列の「変更前」と「変更後」を1行ずつ記録。
- 要確認:キー空欄や重複などで1対1に照合できなかった行。
「要確認」の行は、照合一覧には入れません。照合一覧だけを見て「すべて比較した」と判断しないでください。
比較対象外の列にも注意する
片方にしかない列や対応を外した列は比較しません。たとえば価格列を外した場合、価格が変わっていても「一致」になります。「一致」は指定した列の範囲で同じ、という意味です。画面に表示する比較対象外の列を確認してください。
次回用にレシピを保存する
設定レシピには、列名の対応、キー、空白などの比較ルールを保存します。翌月のCSVを読み込んでからレシピを読み込むと、同じ条件で比較できます。列名が変わったときは、対応を設定し直してください。元の行データはレシピに含めません。