2つのスプレッドシートの変更点を見つける方法
2つのスプレッドシートの変更点を見つけるには、古いファイルの各行を新しいファイル内の対応する行と照合し、対になった行ごとにセルを比べます。難しいのは照合です。行が挿入されたりファイルが並べ替えられたりすると、位置で比べる行ごとの比較は失敗します。以降のすべての行が別の相手と比べられてしまうためです。注文番号などのキー列で照合すれば、行が動いても、各行は自分のレコードと正しく対応したままになります。
スプレッドシートの比較ファイルの変更点を見つけたい無料で使う行の順番で単純な比較が崩れる理由
2行目と2行目を比べるのは速くて簡単ですが、誤りやすい方法です。最上段に1行追加すると、以降のすべての行が別の行と比べられてしまいます。その結果、実際は1か所の変更なのに、何百もの「変更」が出てしまいます。並べ替えでも同じ問題が起きます。並べ替えではデータは変わらないのに、位置で比較すると動いたすべての行が変更されたと報告されます。差分が多すぎると感じたら、まず順番を確認してください。
キー列を使う
キー列は行を識別する列で、その行については値が変わりません。注文番号、製品コード、顧客IDなどです。各値が1回だけ現れる列を選びましょう。キーが重複すると、比較でどの行がどれかを判別できないため、より適した列を探すか、2列を組み合わせてください。
キーがあると、すべての行は次の4つのいずれかに分類されます。
- 追加。 キーが新しいファイルにだけ存在します。
- 削除。 キーが古いファイルにだけ存在します。
- 変更。 キーが両方のファイルに存在し、少なくとも1つのセルが異なります。
- 変更なし。 キーが両方に存在し、比較したすべてのセルが一致します。
2つのファイルを比較するでは、キー列を選択でき、各分類とその件数を表示し、変更された各行でどのセルが異なるかを一覧できます。
変更されたセルと、常に変わる列
変更された行でも、30セルのうち1つだけが異なることがあるので、セルを見てください。12.50から13.00への価格変更と、同じ行での新しい住所は、性質の異なる変更です。「最終更新日時」のように保存のたびに変わる列は無視して、一覧が無関係な変更で埋まらないようにしましょう。
大文字と小文字、空白も影響します。「Berlin」と「berlin 」はコンピューターでは異なるものとして扱われます。大文字小文字と前後の空白を無視すれば、このような誤った変更を取り除けます。ただし、修正された綴りは本当の変更なので、その違いが問題にならない場合にだけこれらのオプションを使ってください。
表示は違うが値が等しい数値
2つのセルは表示されるテキストが異なっていても、同じ値を保持している場合があります。これは誤った変更の最も一般的な原因です。
- 桁区切り。 1,000と1000は同じ数値です。
- 小数点以下の桁数。 12.5を12.50と表示しても、同じ値を異なる表示で示しているだけです。
- 通貨の書式。 £5と書式設定されたセルは数値5を保持しています。£記号を付けて文字列として入力されたセルは、そうではありません。
- 日付。 スプレッドシートは日付をシリアル値として保存し、選んだ形式で表示します。そのため、03/04/2026と2026-04-03は同じ日を指している場合があります。
比較ツールは、スプレッドシートが数値を書き込むのと同じ方法で数値を読み取り、数式ではなく、Excelが保存した値を読みます。文字列として保存された数値は文字列として比較されるため、その列の比較結果を信頼する前に各列のデータ型を確認してください。
コンピューターは小数を2進数で保存するため、ほとんどのプログラミング言語では0.1 + 0.2は正確に0.3になりません。許容誤差の設定では、差が0.01(1セント)など、選んだ量以下であれば数値を等しいとみなします。
共通のキーがない場合
名前と生年月日など、最も安定したペアを代わりに使い、サンプルを手作業で確認してください。それでも位置で比較する場合は、結果を「同じ位置にある行が異なる」という意味として読み、何が変わったかの証拠とはみなさないでください。
結合と照合:関連する作業
比較は、1つの表の2つのバージョンの間で何が異なるかを問います。結合は、2つの別々の表がどう対応するかを問います。VLOOKUPは最も単純な結合で、別の表から一致するキーを探し、そこから値を返します。驚きの多くは2つの落とし穴が原因です。VLOOKUPは範囲の最初の列しか見ないため、キーは左端になければなりません。また、最初に見つかった一致を返すため、重複するキーは黙って1行に減らされます。最後の引数を省略すると、近似一致にもなります。XLOOKUPではキーを左端に置く必要はありませんが、それでも1回の検索につき1つの一致を返します。
2つのスプレッドシートを共通の列で結合するは、数式を使わずに同じ作業をします。各表でキーと結合の種類を選んでください。
- 左の行をすべて保持 は、最初の表のすべての行を残し、一致する列があればそれを追加します。
- 一致した行のみ は、両方に見つかった行だけを残します。
- 一致しない左の行 は、2つ目の表にないものを一覧にします。多くの場合、最も役立つ結果です。
キーが重複している場合、最初の一致 はVLOOKUPと同じ動きをします。すべての一致 は一致ごとに行を追加するので、右側に3回現れる顧客は結果にも3回現れます。結合の前後で行数を数え、まず重複を確認してください。
綴りが異なる名前
同じものが2通りに書かれていると、完全一致のキーでは照合に失敗します。例えば「Jon Smith」と「John Smith」、「Müller」と「Mueller」です。名前のあいまい照合は、一方のリストの各名前に、もう一方の中で最も近い名前をスコア付きで割り当てます。スコアは2つの指標のうち高いほうです。1つ目は文字を順番に比べ、先頭が一致している場合を高く評価します。これは「Smith」と「Smyth」に適しています。2つ目は単語を比べるため、一方の名前のすべての単語が他方の名前に含まれていれば100になります。一方の名前に余分な単語がある場合の100は、注意して読んでください。このツールはアクセント記号と句読点を無視し、Inc や Ltd のような会社名の語は除外することがあります。スコアはあくまで推定なので、受け入れる前にペアを確認してください。
特殊なケース
- 見えない文字 があると、同じに見えるキーが一致しなくなります。同じ見た目のキーがどうしても一致しない場合は、見えない文字を削除してください。
- 先頭の0 は、ファイルをスプレッドシートで開くと消えるため、「00421」はテキスト版と一致しなくなります。結合で先頭の0を無視にチェックを入れると、両方の表記が同じキーとして扱われます。
- 非表示の列 は、無視しない限り比較では依然として数えられます。
手順の要約
- 両方のファイルでキー列を選び、一意であることを確認します。
- キーで比較し、違いが問題にならない場合にだけ、大文字小文字と空白のルールを有効にします。
- 保存のたびに変わる列は無視します。
- 合計を確認します。キーが一意であれば、変更なし+変更+削除=古い行数、変更なし+変更+追加=新しい行数になります。
クイック回答
1行挿入しただけで、すべてが変更と表示されるのはなぜですか?
位置による比較は、各行を同じ番号の行と対応させるため、挿入によって以降のすべての行がずれます。代わりにキー列で比較してください。
同じ数値のファイルなのに変更が表示されるのはなぜですか?
値が文字列として保存されているか、異なる書式で設定されている可能性があります。列の型を確認してください。
英語原文をもとに、AIの支援を受けて翻訳しています。
コメント
まだコメントはありません。最初のコメントを書いてみましょう。


