会員リストや商品マスターなど、並び順が変わる表データでも、キーを指定するだけで 追加・削除・変更された行を自動検出します。変更項目は新旧の値を色分けして表示。
このツールはブラウザの中だけで動いています。入力した内容が、外部に送信されることはありません。入力内容は外部に送信されません。
詳しく旧データ
クリックまたはドラッグ&ドロップ
CSV / JSON
新データ
クリックまたはドラッグ&ドロップ
CSV / JSON
CSV・JSONの差分比較とは?「キー」で行を特定して追加・削除・変更を検出する仕組み
二つの表データを比較する際、単純に上から順番に行を比べる「テキスト差分」では、行の並び順が変わっただけで全行が「変更あり」と誤判定されてしまいます。実務で扱う会員リストや商品マスターは、並び順が入れ替わったり行が追加・削除されたりするのが前提のため、この方式では正確な比較ができません。
本ツールは、会員番号や商品コードといった「キー」となる列を指定し、同じキーを持つ行同士だけを比較するオンラインツールです。キーが新データにしかない行は「追加」、旧データにしかない行は「削除」、両方にあるが内容が異なる行は「変更」として、変更された列だけをハイライト表示します。
複数列を組み合わせた複合キーや、更新日時のように毎回値が変わる列を比較対象から除外する設定にも対応しているため、「実質的な変更」だけを正確に抜き出せます。結果はCSVとして書き出せるため、そのまま報告資料やシステムへの反映作業に利用できます。
こんなシーンで便利です
顧客リスト・会員データの更新確認
EC・CRM担当者が新旧の会員データを比較し、入会・退会・プラン変更などの差分を一括で確認する用途に使えます。
商品マスターの更新チェック
新しい商品マスターを本番に反映する前に、価格や在庫区分、カテゴリなどの変更点を事前に把握したい場合に。
システム移行・データ移行の検証
移行前後のデータをそれぞれエクスポートして比較し、欠落や変換ミスがないかをエンジニアが検証する作業に。
定期的なデータ棚卸し・バックアップ比較
月次で取得したデータのスナップショットを比較し、意図しない変更が発生していないかを確認する用途に使えます。
使い方は簡単 5ステップ
- 「旧データ」「新データ」にそれぞれCSVまたはJSONファイルをドラッグ&ドロップ、またはクリックして選択します。
- 両方のファイルが読み込まれると共通する列の一覧が表示されます。会員番号や商品コードなど、行を一意に識別できる列を「比較キー」として選択します(複数選択で複合キーにも対応)。
- 必要に応じて「詳細設定」から、比較対象外にしたい列(更新日時など)や、表記の揺れを無視する設定を行います。
- 「追加」「削除」「変更」「変更なし」の件数と一覧が自動表示されます。変更があった列は新旧の値を色分けして確認できます。
- 結果はCSVとして書き出せます。全体の差分一覧、または変更箇所だけをまとめた詳細一覧を選んで保存できます。
※比較キーや除外設定を変更すると、結果はその場で再計算されます。
ご利用時の注意点
- 本ツールは行の並び順に関係なく、指定したキーで同じ行を特定して比較します。並び順が異なる表でも正しく差分を検出できます。
- 同じキーの行が複数存在する場合(重複キー)は警告が表示されます。比較には同じキーを持つ最後の行が使用されるため、重複がある場合は元データの確認をおすすめします。
- 表記ゆれ(全角半角・大文字小文字・前後の空白)がある列をキーに使うと、同じ行として扱われず誤って「追加」「削除」と判定されることがあります。「表記の揺れを無視する」設定を有効にすると防げます。
- 「変更なし」の行は、大量データでも軽快に動作させるため件数のみを表示し、一覧には表示していません。
比較方法の違いと使い分け早見表
「差分を取る」ツールにはいくつかの種類があります。扱うデータの性質に応じて適切な方式を選んでください。
| 比較方法 | 向いている用途 | 行の並び順の影響 |
|---|---|---|
| テキスト差分(行単位) | 文章やソースコードの変更比較 | 並び順が同じである必要がある |
| 完全一致の重複行抽出 | 表の中から完全に同じ行を探す | 影響なし |
| キー指定のレコード差分(本ツール) | 会員リストや商品マスターなど、並び順が変わる表の追加・削除・変更を検出 | 影響なし(キーで突合) |
| あいまい一致(名寄せ) | 表記ゆれのある同一人物・同一企業の統合 | 影響なし |
【選び方の目安】
行の並び順が保証されているテキストやコードならテキスト差分、並び順が変わる表データ(会員リスト・商品マスターなど)ならキー指定のレコード差分(本ツール)を選んでください。
※完全一致・あいまい一致は、1つのファイル内の重複を探す用途であり、新旧2ファイルの比較用途とは目的が異なります。
キー比較による差分検出の考え方と、実務でのつまずきやすいポイント
CSV・JSONのレコード差分を正確に取るために知っておきたい、キー設計と比較設定の考え方を解説します。
結論:行の比較は「内容の一致」ではなく「キーの一致」が先
テキスト差分や単純な行比較は、行の位置(何行目か)を基準に内容を比べます。一方、会員リストや商品マスターのようなレコード型データは並び順が保証されないため、まず「どの行とどの行が同じ対象か」を決める必要があります。
そのために使うのが一意に識別できる列(キー)です。会員番号・商品コード・SKUなど重複しない値を持つ列をキーに指定することで、並び順に関係なく正確な追加・削除・変更を検出できます。
複合キーが必要になるケースとは
1つの列だけではレコードを一意に識別できない場合があります。例えば「店舗コード」と「商品コード」の組み合わせで1行が決まる在庫データや、「年月」と「部門コード」で1行が決まる月次データなどです。
このような場合は、複数の列を同時にキーとして選択する複合キーを使うことで、単独の列では重複してしまうデータでも正しく突合できます。
重複キーを放置すると比較結果がずれる理由
同じキーを持つ行が元データに複数存在する場合、どちらの行を比較対象にするかが曖昧になります。
本ツールでは同じキーの行が複数あった場合、最後に読み込まれた行を比較に使用し、重複が検出された件数と該当キーの例を警告として表示します。
重複が意図したものでない場合(キー列の入力ミスや、本来は複合キーにすべき列を単独キーにしているなど)は、比較前にキーの設計を見直すことをおすすめします。
更新日時など「毎回変わる列」を除外する理由
システムが自動で記録する更新日時・処理IDなどの列は、内容に実質的な変更がなくても値が変わってしまうことがあります。これらをそのまま比較対象に含めると、本当は変わっていない行まで「変更あり」と判定されてしまいます。
「比較から除外する列」の設定でこうした列をあらかじめ外しておくことで、業務上意味のある変更だけを正確に抜き出せます。
よくある失敗と対策
キーに表記ゆれがあり、同じ対象のはずの行が「追加」と「削除」の両方に出てしまう
会員番号の前後に空白が入っていたり、全角と半角が混在していたりすると、本来は同じキーのはずなのに別の値として扱われ、同じ対象が「削除された行」と「追加された行」として両方に出現してしまいます。
💡 対策・解決策を見る▼
重複キーに気づかず比較し、件数が合わない
同じキーを持つ行が元データに複数存在する状態で比較すると、一部の行が比較対象から漏れてしまい、手元で数えた件数と結果の件数が一致しない原因になります。
💡 対策・解決策を見る▼
更新日時など毎回変わる列を含めて比較し、実質変更のない行まで「変更あり」になる
システムが自動更新するタイムスタンプ列や処理ID列を比較対象に含めると、内容に意味のある変更がなくても「変更あり」の件数に含まれてしまい、本来確認すべき変更点が埋もれてしまいます。
💡 対策・解決策を見る▼
ヘッダー名の微妙な違いで、比較キーとして選びたい列が候補に出てこない
旧データでは「会員番号」、新データでは「会員No」のように、同じ意味の列でもヘッダー名の表記が異なると、本ツールは共通の列として認識できず、比較キーの候補にも表示されません。
💡 対策・解決策を見る▼
Shift-JISで保存されたCSVを読み込み、日本語が文字化けする
Excelで保存した日本語CSVがShift-JIS(ANSI)形式のままだと、ブラウザでの読み込み時に文字化けが発生し、キーの一致判定や内容の比較が正しく行えなくなります。
💡 対策・解決策を見る▼
よくある質問(FAQ)
Q.行の並び順が違う2つの表でも、正しく比較できますか
A. はい、正しく比較できます。本ツールは行の位置ではなく、指定した「キー」列の値で同じ対象を特定するため、並び順が異なっていても、行が途中で追加・削除されていても、内容の変更を正確に検出できます。
Q.キーは複数の列を組み合わせて指定できますか
A. はい、可能です。1つの列だけでは行を一意に識別できない場合(店舗コードと商品コードの組み合わせなど)、複数の列を同時に選択することで「複合キー」として比較できます。
Q.Excelファイル(.xlsx)はそのまま読み込めますか
A. 現在はCSVとJSON形式に対応しており、.xlsxファイルは直接読み込めません。Excelの「ファイル」→「名前を付けて保存」から「CSV UTF-8(コンマ区切り)」形式で書き出してからご利用ください。
Q.数十万行の大きなデータでも動作しますか
A. 対応しています。キーを使ったハッシュ比較により、数十万行規模のデータでも実用的な速度で差分を計算できるよう設計しています。ただし端末のメモリやブラウザの性能によって動作速度は変わるため、極端に大きなファイル(数GB単位)の場合は、処理に時間がかかることがあります。
Q.入力したデータが外部に送信されることはありませんか
A. ありません。本ツールはファイルの読み込みから差分の計算まですべてブラウザ内のJavaScriptで処理しており、入力したデータが外部サーバーへ送信されることはありません。
Q.変更があった列だけをまとめて確認する方法はありますか
A. 「変更」タブで、行ごとに変更された列とその新旧の値を一覧で確認できます。また「変更箇所の詳細をCSVで書き出す」を使うと、キー・列名・旧データの値・新データの値を1行ずつまとめたCSVとして保存できます。
Q.同じキーの行が複数あった場合はどうなりますか
A. 重複キーとして検出され、警告メッセージと該当するキーの例が表示されます。比較には同じキーを持つ行のうち、最後に読み込まれた行が使用されます。重複が意図しないものであれば、元データの確認をおすすめします。
あなたの声で、
このツールをより鋭く。
「こんな機能が欲しい」「ここを直してほしい」といったご意見や、新しいツールのリクエストを募集しています。エンジニアが直接目を通し、開発の参考にさせていただきます。