- 公開日:
エクセルで2つのシートを比較して抽出する方法
Excelを使用してデータを比較する際、2つのシートを活用する方法があります。
この方法を使えば、同じデータが入ったシート同士を比較し、差異や一致点を簡単に抽出することが可能です。
特に大量のデータを取り扱う場合やデータの整合性を確認する際には非常に便利です。今回は、2つのエクセルシートを比較して抽出する方法について詳しく解説していきます。
エクセルで2つのシートを比較して抽出する方法
2つのシートを比較して異なる値を抽出したい場合は、IF関数が有効です。
条件に合う合わないで表示方法を変えられるため、どの値が異なっているのが一目で分かるようになります。
詳しい方法については、以下の通りです。
![シートの違い](https://office-hack.com/wp-content/uploads/how-to-compare-and-extract-two-sheets-in-excel1.png)
ここでは例として、同じレイアウトではあるものの一部内容が異なる「Sheet1」「Sheet2」を用意しました。
Sheet1とSheet2では、赤枠で囲った3つのデータが異なっています。
異なる値を分かりやすく抽出するため、関数を使用してみましょう。
![IF関数を入力](https://office-hack.com/wp-content/uploads/how-to-compare-and-extract-two-sheets-in-excel2.png)
ここでは分かりやすいように、Sheet2の表に「Sheet1との違い」という見出しを作成しました。
任意のセル(例:D3)に「=IF(C3=Sheet1!C3,"なし",Sheet1!C3)」と入力し、Ctrl + Enterを押します。
IF関数の書式は「=IF(論理式,値が真の場合,[値が偽の場合])」です。条件に一致するかしないかで処理を変える関数です。関数については以下の記事をご覧ください。
ExcelのIF関数の使い方|論理式の条件(IF文)によって処理を分岐
今回の例では、「C3=Sheet1!C3」が条件にあたります。
つまり「C3セルが、Sheet1のC3セルと一致する場合」と指定しています。
一致する場合「なし」と表示し、しない場合は「Sheet1のC3セルのデータ」を表示するようにしています。
![オートフィルする](https://office-hack.com/wp-content/uploads/how-to-compare-and-extract-two-sheets-in-excel3.png)
関数を入力したセルの右下にあるフィルハンドルを選択し、関数を入力したいセル(例:D8)までドラッグします。
![違いを抽出できた](https://office-hack.com/wp-content/uploads/how-to-compare-and-extract-two-sheets-in-excel4.png)
関数が入力されました。
Sheet1と比較したうえで、データに違いがない場合は「なし」、違いがある場合は「Sheet1のデータ」を表示しています。
これにより、Sheet1とSheet2で異なるデータを抽出できます。
新しいシートに異なるデータを抽出したい場合
新しいシートに異なるデータのみを抽出したい場合は、IF関数を少し調整します。関数をコピペするだけの簡単な作業で抽出可能です。
![関数を入力](https://office-hack.com/wp-content/uploads/how-to-compare-and-extract-two-sheets-in-excel5.png)
新しいシートを用意し、どこでも良いので任意のセル(例:A1)に「=IF(Sheet2!B2:C8<>Sheet1!B2:C8, Sheet2!B2:C8, "")」と入力し、Enterキーを押します。
今回のIF関数では、スピルを使って一気に異なるデータを抽出しています。
簡単に説明すると、「Sheet2のB2:C8セル」と「Sheet1のB2:C8セル」間で異なるデータがあった場合、「Sheet2のデータ」を抽出し、異なるデータがない場合は「空白("")」で返すように指定しています。
![抽出された](https://office-hack.com/wp-content/uploads/how-to-compare-and-extract-two-sheets-in-excel6.png)
関数の入力を確定すると、自動的に異なるデータのみが抽出されます。