Excelで似たような2つのシートがあり、それのどこが違うのか調べたいことはないだろうか。2人で別々に手入力したアンケート結果を比較したい、作業途中で複数に分かれてしまったシートでどこを編集したのかを確認したい、といったケースだ。このような場合、目視では見落としもあるし、表が大きければ面倒な作業になる。そこで、簡単に2つのシートを比較する方法を紹介しよう。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
対象:Excel 2016/2019/365
「Microsoft Excel(エクセル)」で作業を行っていると、バックアップとしてブックを別のファイルに保存したり、回復処理などでブックファイルが複数になってしまったりすることがある。すると、似たようなシートができてしまい、それが同じかどうかを比較したくなることはないだろうか。特に、コピーしたブックを間違えて、古い方で作業してしまうと、どちらが「古い」のかブック名から判断できなくなってしまう。
また、複数人でシートの編集をしていると、どこが変更されたか分からないこともある。
ところが、Excelには、標準ではシート同士を比較する機能がない。そこで、本Tech TIPSでは、2つのシートの各セルが同じかどうかを、条件付き書式で比較する方法を解説する。この方法はどのエディションのExcelでも可能だ(ただし、記事の検証はMicrosoft 365版ExcelとExcel 2016で行っている)。
シートに含まれる表がそれほど大きくないのであれば、条件付き書式を使って、シートの値に応じた色やアイコンを表示させ、目視で比較するという方法がある。縦横が数個程度ならこの方法を使うことで、簡単に比較できる。
特に表中の大半が空セルであったり、ゼロであったりする場合には、色のパターンを全体的に見ることができるため比較が容易だ。
とはいえ、大きな表を持つシートを比較することは少なくない。この場合には、数式を使った条件付き書式を使うことで、シート間の違いがあるセルにだけに色を付けることができる。ただし、比較するシート同士は、同じブックになければならない。というのは、条件付き書式で利用できる数式では、他のブックへのセル参照が行えないからだ。
異なるブックに含まれるシート同士を比較するには、新規にブックを作り、そこに比較したいシートをコピーするのが最も簡単だ(シートにはクリップボードを使わずに簡単にコピーする方法がある。後述)。どちらか一方のシートに条件付き書式を設定してしまうため、やはりコピーを作った方が、後で条件付き書式を削除する必要がないため、後始末が楽になる。
なお、条件付き書式を使う方法では、セル値とセル値同士、数式と数式同士が同じであることは判定できる。しかし、セル値と数式の結果が同一であることの判定はできない。例えば、「1」という数字が入っているセルと「=1*1」という数式が入っているセルは、どちらも「1」と表示されユーザーからは同じように見える。
条件付き書式による比較では、これを同じと判定させることはできない。こうした「値」と「数式」の同一判定を行いたいのであれば、比較したい2つのシートは、比較用ブックの新規シートにクリップボードを使って「値として貼り付け」を行う。列幅や書式が変わってしまうものの、値の判定には影響がない。
このことからも分かるように、条件付き書式を使うこの方式では、セルの書式設定やセル幅が同じであるかどうかの判定もできない。Excelの数式ではユーザー定義書式を扱えないため、書式などの同一性の判定にはマクロ(VBA)などを使う必要がある。ただ、この方法は複雑なので、ここでは解説しない。
では、具体的な操作の説明に入ろう。ここでは、比較用に作成するブックを「比較用ブック」、比較対象の2つのシートを「比較元シート」と呼ぶことにする。
まずは、比較用ブックに2つの比較元シートをコピーする。比較用ブックへシートをコピーする方法に関しては、Tech TIPS「『マウスで表を選んでコピー&ペースト』よりもスマートな方法あります」を参照してほしい。
あらかじめ比較用ブックを開いておき、比較元シートの「シートタブ」を右クリックして、コンテキストメニューから[移動またはコピー]を選択し、「移動先ブック名」に比較用ブックを指定したら、[コピーを作成する]のチェックを「オン」にして、[OK]ボタンを押す。
2つの比較元シートをコピーしたら、元のシートとの対応がはっきりするようにコピー先のシート名を変更しておくとよい。似たようなシートを比較するのだとしたら、双方に同じシート名が付いている可能性が高いからだ。
例えば、比較元シートが2つとも「Sheet1」のままだったとすると、後からコピーしたシートは「Sheet1 (2)」といったシート名になってしまい、区別が付きにくくなる。
シートの比較では、単に同じかどうかだけを判定したいといった使い方もあり、必ずしもシートの名前を変更して対応をはっきりさせる必要がないこともある。だが、異なったセルを見つけて修正するといった場合には間違いを防ぐためにシート名を変更しておくことをお勧めする。
ここでは、ブックAからコピーしたシートを「Sheet-A」、ブックBからコピーしたシートに「Sheet-B」という名前を付けたとして説明を進める。
ここでは「Sheet-A」に条件付き書式を設定するとしよう(「Sheet-B」の方でもよい)。
比較用ブックが作成できたら、「Sheet-A」を開いて、シートの比較したい範囲を選択する。表内のセルを選択してから、[Ctrl]+[A]キーで表全体を選択することも可能だ。
この状態で、[ホーム]タブの[スタイル]グループにある[条件付き書式]−[新しいルール]を選択する。
Copyright© Digital Advantage Corp. All Rights Reserved.