- 作成日 : 2025年12月2日
スプレッドシートで比較する方法とは?2つのシートの差分を効率的に見つける実践テクニック
Googleスプレッドシート(Google Sheets)で複数のシートやデータを比較することは、データの変更履歴を追跡し、ミスを発見し、情報の整合性を確認する上で欠かせない作業です。特に定期的に更新されるデータベースや、複数人で編集する文書では、変更箇所を正確に把握することが業務効率に直結します。
本記事では、スプレッドシートで2つのシートの差分を比較する様々な方法から、関数を使った自動化、条件付き書式による視覚化まで、実践的な比較テクニックを詳しく解説します。
目次
スプレッドシートで2つのシートを比較する方法
2つのシートの差分を比較する最も基本的な方法は、IF関数やEXACT関数を使用して、対応するセルの値を比較し、一致・不一致を判定することです。 この方法により、データの違いを体系的に検出し、変更箇所を明確に把握できます。
まず、比較したい2つのシートがある場合、3つ目のシートを「比較結果」として作成します。この比較結果シートのA1セルに、=IF(Sheet1!A1=Sheet2!A1,”一致”,”不一致”)という数式を入力します。この数式は、Sheet1のA1セルとSheet2のA1セルの値を比較し、同じであれば「一致」、異なれば「不一致」と表示します。この数式を比較したい範囲全体にコピーすることで、全体的な差分を一覧で確認できます。
より詳細な比較を行いたい場合は、EXACT関数を使用します。=EXACT(Sheet1!A1,Sheet2!A1)という数式は、大文字小文字の違いも含めて厳密に比較し、完全一致の場合はTRUE、わずかでも違いがあればFALSEを返します。これは、テキストデータの微妙な違いを検出する際に特に有効です。
差分の具体的な内容を表示する方法
単に一致・不一致を表示するだけでなく、具体的にどのように異なるのかを表示することも重要です。以下の数式を使用することで、両方の値を並べて表示できます。
=IF(Sheet1!A1=Sheet2!A1,”同じ”,Sheet1!A1&” → “&Sheet2!A1)
この数式により、値が異なる場合は「元の値 → 新しい値」という形式で変更内容が表示されます。これにより、何がどのように変更されたのかを一目で確認できます。
数値データの比較では、差額を計算することも有用です。
=IF(ISNUMBER(Sheet1!A1),Sheet2!A1-Sheet1!A1,””)という数式で、数値の場合のみ差額を表示し、テキストの場合は空白にすることができます。売上データや在庫数など、数値の増減を追跡する際に便利です。
配列数式による一括比較
ARRAYFORMULA関数を使用すると、範囲全体を一度に比較できます。例えば、以下の数式で、A列からZ列、1行目から100行目までを一括で比較できます。
=ARRAYFORMULA(IF(Sheet1!A1:Z100=Sheet2!A1:Z100,”○”,”×”))
この配列数式により、大量のデータを効率的に比較でき、手動で数式をコピーする手間が省けます。また、シートの構造が変更されても、自動的に比較範囲が調整されるため、メンテナンスが容易です。
条件付き書式を使った視覚的な差分表示
条件付き書式を活用することで、変更があったセルを自動的に色付けし、視覚的に差分を把握しやすくなります。 カラーコーディングにより、大量のデータの中から変更箇所を瞬時に発見できます。
条件付き書式を設定するには、先ほど作成した「比較結果シート」の範囲を選択します。「表示形式」メニューから「条件付き書式」を選択し、「セルの書式設定条件」で「テキストが次を含む」を選びます。値に「不一致」(または「×」)と入力し、書式設定で背景色を赤などの目立つ色に設定します。これにより、差異がある箇所が瞬時にハイライトされ、一目で分かるようになります。
同様の手順で、「一致」(または「○」)の場合には緑色の背景を設定することも可能です。 これにより、問題ない箇所は緑、確認が必要な箇所は赤、というようにヒートマップのような直感的な比較シートが完成します。大量のデータであっても、色の違いだけで修正すべき箇所を即座に特定できるようになります。
グラデーションによる変化量の表現
数値データの比較では、変化の大きさに応じてグラデーションで表現する方法も効果的です。条件付き書式の「カラースケール」機能を使用することで、差分の大きさに応じてセルの色を滑らかに変化させ、直感的に規模感を把握できます。 例えば、価格の変動率の列にカラースケールを設定し、「最小値」を白、「最大値」を濃い赤に設定します。すると、変動が小さいものは白く、変動が大きいものほど赤色が濃く表示されるため、注意すべき大きな変化を一瞬で特定できます。これにより、重要な変更を見逃すリスクを最小限に抑えられます。
VLOOKUP関数を使った行単位の比較
データの順序が異なる場合や、行が追加・削除されている場合は、VLOOKUP関数やINDEX-MATCH関数を使用して、キー項目を基準に比較することが効果的です。 これにより、単純な位置対応ではなく、論理的な対応関係に基づいた比較が可能になります。
例えば、商品コードをキーとして在庫数を比較する場合、以下のような数式を使用します。
=IFERROR(VLOOKUP(A2,Sheet2!A:B,2,FALSE)-B2,”新規追加”)
この数式は、Sheet1の商品コードに対応するSheet2の在庫数を検索し、差分を計算します。対応する商品が見つからない場合は「新規追加」と表示されます。
双方向の比較
完全な比較を行うには、両方向からの確認が必要です。Sheet1にあってSheet2にない項目、Sheet2にあってSheet1にない項目の両方を検出する必要があります。
=IF(COUNTIF(Sheet2!A:A,A2)=0,”削除された”,””)
この数式により、Sheet1には存在するがSheet2では削除された項目を特定できます。逆方向の確認も同様に行うことで、追加・削除・変更のすべてを網羅的に把握できます。
QUERY関数による高度な比較分析
QUERY関数を使用すると、SQL風の構文で複雑な比較条件を設定し、特定の条件を満たす差分のみを抽出できます。 これにより、大規模なデータセットから重要な変更のみをフィルタリングできます。
例えば、前段で作成した「比較結果シート」から、変動幅が大きい要注意商品のみを抽出する場合: =QUERY(‘比較結果’!A:E, “SELECT A, B, C, D WHERE D >= 1.1 OR D <= 0.9”) このように、一度VLOOKUP等で整合性を取った比較シートに対してQUERY関数を使用することで、数千行のデータの中から「売上が10%以上変動した商品」だけをリストアップするといった高度な抽出が可能になります。
集計による差分サマリー
QUERY関数を使って、差分の統計情報を作成することも可能です。
=QUERY(比較結果!A:C,”SELECT COUNT(A) WHERE C=’不一致’ GROUP BY B”)
これにより、カテゴリー別の変更件数を集計し、どの領域で多くの変更が発生したかを把握できます。
Google Apps Scriptを使った自動比較
より高度な比較処理を自動化したい場合は、Google Apps Scriptを使用してカスタム関数を作成し、複雑な比較ロジックを実装できます。 プログラミングにより、標準機能では実現できない柔軟な比較処理が可能になります。
以下は、Sheet1とSheet2のA列(IDなど)〜B列を比較し、差異がある行を「比較結果」シートに書き出すスクリプトの例です。
JavaScript
function compareSheets() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet1 = ss.getSheetByName(“Sheet1”);
var sheet2 = ss.getSheetByName(“Sheet2”);
// 比較結果シートを取得(なければ作成)
var resultSheet = ss.getSheetByName(“比較結果”);
if (!resultSheet) {
resultSheet = ss.insertSheet(“比較結果”); }
resultSheet.clear(); // 初期化
// データの取得
var data1 = sheet1.getDataRange().getValues();
var data2 = sheet2.getDataRange().getValues();
var diffData = [[“行番号”, “Sheet1の値”, “Sheet2の値”, “判定”]]; // ヘッダー
// 行ごとの比較ループ(行数が少ない方に合わせる例)
var maxRows = Math.min(data1.length, data2.length);
for (var i = 0; i < maxRows; i++) {
// 1列目と2列目を結合して比較(簡易チェック)
var row1 = data1[i].join(“_”);
var row2 = data2[i].join(“_”);
if (row1 !== row2) {
diffData.push([i + 1, row1, row2, “不一致”]);}}
// 結果の書き込み
if (diffData.length > 1) {
resultSheet.getRange(1, 1, diffData.length, diffData[0].length).setValues(diffData);}}
スクリプトを使用することで、定期的な自動比較、メール通知、変更履歴の記録など、より高度な機能を実装できます。
効率的なデータ比較のためのコツ
データ比較を効率化するためには、事前の準備が重要です。まず、比較する前にデータの形式を統一します。日付形式、数値の桁数、文字の全角半角などを揃えることで、不要な差分検出を防げます。
また、比較用のダッシュボードを作成し、重要な指標の変化を一目で確認できるようにすることも有効です。ピボットテーブルやグラフを組み合わせることで、数値の羅列ではなく、意味のある情報として差分を把握できます。
定期的な比較作業では、テンプレート化とマクロ化を進めることで、作業時間を大幅に削減できます。比較手順を標準化し、チーム内で共有することで、誰でも同じ品質で比較作業を実行できるようになります。
2つのシートを効率的に比較し業務効率を向上
Googleスプレッドシートで2つのシートを比較する方法は、単純な関数から高度なスクリプトまで多岐にわたります。IF関数やVLOOKUPによる基本的な比較から始め、条件付き書式で視覚化し、必要に応じてQUERY関数やGoogle Apps Scriptを活用することで、あらゆる比較ニーズに対応できます。
重要なのは、比較の目的と規模に応じて適切な方法を選択することです。
小規模な比較では手動での関数設定で十分ですが、大規模で定期的な比較では自動化を検討しましょう。
本記事で紹介した技術を組み合わせることで、効率的で正確なデータ比較を実現し、業務の品質向上につなげてください。
この記事をお読みの方におすすめのガイド5選【部署別紹介】
最後に、この記事をお読みの方によく活用いただいている人気の資料・ガイドを紹介します。すべて無料ですので、ぜひお気軽にご活用ください。
経理担当者向け
①Excel関数集 32選まとめブック
経理担当者の方をはじめ、ビジネスパーソンが知っておきたい便利なExcel関数集を初級~上級までギュッと網羅。新人社員の研修用などにもお使いいただけます。Google スプレッドシートならではの関数もご紹介しています。
②勘定科目・仕訳辞典(税理士監修)
勘定科目・仕訳に関する基本知識、および各勘定科目の仕訳例を具体的かつ網羅的にまとめた、50ページを超えるガイドを無料で提供しております。お手元における保存版としてでだけでなく、従業員への印刷・配布用としてもぜひご活用ください。
人事労務担当者向け
①入社・退職・異動の手続きガイドブック
書類の回収・作成・提出など手間のかかる入社・退職・異動(昇給・昇格、転勤)の手続き。
最新の制度をもとに、よくある質問やチェックポイントを交えながら、各手続きに必要な情報をまとめた人気のガイドですす。
②社会保険・労働保険の手続きガイド
企業において社会保険および労働保険の加入・喪失手続きは必ず発生し、手続きを誤れば保険事故が発生した際に従業員が不利益を被る可能性があります。
各保険の基本的な手続き方法を入社・退職・異動のシーン別にギュッとまとめた分かりやすいガイドです。
総務・法務担当者向け
契約書ひな形まとめ30選
業務委託契約書や工事請負契約書…など各種契約書や、誓約書、念書・覚書、承諾書・通知書…など、使用頻度の高い30個のテンプレートをまとめた、無料で使えるひな形パックです。
※ 掲載している情報は記事更新時点のものです。
※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。
関連記事
COUNT関数の使い方とは?スプレッドシートで使える?
COUNT関数は、指定した範囲内の数値セルの数をカウントする非常に便利な関数です。スプレッドシートにおいても使用可能で、データ分析や集計を行う際に重宝します。この記事では、COUNT関数の基本的な使い方から、具体的な利用シーン、関連するCO…
詳しくみるエクセルの検索機能の使い方をわかりやすく解説
エクセルは、膨大なデータを扱うツールとして非常に便利ですが、その中から必要な情報を素早く見つけ出すためには検索機能を使いこなすことが重要です。この記事では、エクセルの検索機能の基本的な使い方から、便利なショートカットや実際の利用シーン、検索…
詳しくみるスプレッドシートにラジオボタンを設置するには?代替手段で単一選択するテクニック
Googleスプレッドシート(Google Sheets)でアンケートフォームや入力画面を作成する際、複数の選択肢から一つだけを選ぶラジオボタンを使いたいと考える場面もあるでしょう。しかし、残念ながらスプレッドシートには、HTMLフォームや…
詳しくみるマニュアル作成にExcelを活用するには?手順やポイントをわかりやすく解説
Excelは、業務マニュアルの作成においても幅広く活用されているツールです。表形式での情報整理や関数による計算、グラフの活用などが可能なため、定型業務や数値を扱う手順書に適しています。近年はクラウド型の専用ツールも普及していますが、Exce…
詳しくみるスプレッドシートでシートやセルをロック・保護するには?
Googleスプレッドシートで重要なデータを扱う際、誤った編集や意図しない変更を防ぐため、特定のシートやセルを保護したいという場面は多いでしょう。特にチームで共同作業を行う場合や、計算式を含む重要な領域を保護したい場合には、シートや範囲の保…
詳しくみるエクセルで条件付き書式をコピーする方法まとめ
エクセルでは、条件付き書式を活用することでデータを視覚的に分かりやすくすることができます。本記事では、エクセルでの条件付き書式のコピー方法をまとめました。特定の範囲内でのコピーはもちろん、別シートへのコピーや、コピーに関する注意点についても…
詳しくみる



