【Excel】そっくりなExcelブックを簡単比較:Spreadsheet Compareアプリの使い方:Tech TIPS
Excelで作業を行っていると、バックアップしたブックを間違って編集してしまったり、回復処理などで似たようなブックが複数できたりする。こうしたブックの違いを見つけるのは厄介だ。Office Professional PlusのExcelならば、付属ツールのInquireアドインで簡単に比較分析できる。その方法を解説しよう。
対象:Office Professional Plus 2013,/2016/2019/Microsoft 365 Apps for enterprise
「Microsoft Excel(エクセル)」で作業を行っていると、バックアップとしてブックを別のファイルに保存したり、回復処理などでブックファイルが複数になってしまったりすることがある。すると、似たようなシートができてしまい、それが同じかどうかを比較したくなる。Tech IIPS「【Excel】もう眉間にシワはよらない 2つのシートを比較して同じか違うかチェックする」で紹介したように、条件付き書式を使って表の比較を行うことで判別可能だ。
一部のExcelには、ブックの比較や分析が可能になる「Inquire」アドインが付属している。これを使うことで、シートの高度な比較や分析などが可能になる。ただし、ソフトウェアは英語表記であり、現在のExcelヘルプでは、利用できるのはパッケージ版のOffice Professional Plus以上かMicrosoft 365 Apps for enterprise(月額1300円/ユーザー) やMicrosoft 365 E3、Microsoft 365 E5などの契約が必要とされている。過去に販売されたパッケージ版などについての記述がなく、利用できる正確な対象が分からない。
簡易には、[スタート]メニューの「Microsoft Officeツール(場合によっては、Microsoft Office 2016ツール)」に「Spreadsheet Compare」アプリが登録されていれば、利用が可能と考えられる。
Inquireアドインは、Microsoft Officeがパッケージ版でしか販売されていなかったExcel 2010からの機能である。過去には、日本語化されたこともあったが、現在ではメニューやリボンなどが英語表記(ただし日本語環境での利用には問題がない)での提供となっている。
なお、「Microsoft Officeツール」に登録されている「Spreadsheet Compare」アプリは、Inquireアドインのブックファイル比較機能を実現しているアプリケーションであり、ブックの比較だけならInquireアドインを有効にしなくても利用可能だ。
ただInquireアドインは、ブック比較以外の分析機能があること、Excelで開いているブックを比較できるため、わざわざブックファイルのパスを指定する必要がないことなど、使い勝手が異なる。Inquireアドインを登録した方が作業効率は上がる。ここでは、アドインを登録する前提で解説を行う。確認は、Inquireアドインが含まれたMicrosoft 365版ExcelとOffice 2016 Professional Plus版のExcelで行った。
InquireアドインをExcelに登録する
Inquireアドインは、標準で読み込まれない設定であるため、これをExcelに登録する。それにはまず、[ファイル]タブの[オプション]を選択し、[Excelのオプション]ダイアログを開き、左ペインで[アドイン]を選択する。利用しているMicrosoft OfficeのパッケージなどにInquireアドインが含まれている場合、「アクティブでないアプリケーションアドイン」欄に「Inquire」アドインが表示されているはずである。
続いて、ウィンドウの下端にある「管理」のプルダウンリストボックスで[COMアドイン]を選択し、[設定]ボタンを押す。
すると、[COMアドイン]ダイアログが開き、COMアドインのみのリストが表示されるので、「Inquire」のチェックボックスを「オン」にする。このとき、下の「読み込み時の動作」に「スタート時に読み込む」と表示されれば、Inquireアドインの電子証明が信頼されている状態である。
しかし「読み込まれていません。マクロを使用不可に設定しています」と表示された場合、Inquireアドインの電子署名に対して信頼済みの設定がなされていない。Excel再起動後に電子署名の信頼を設定する必要がある。
なお、署名元はMicrosoftなので、基本的には信頼して問題ない。もちろん、Microsoftの電子署名を信頼しないこともユーザーの判断によるが、その場合には、Inquireアドインは利用できない。ただし、前述の「Spreadsheet Compare」アプリの利用は可能だ。
Inquireアドインを登録する(1)
[ファイル]タブで[Excelのオプション]ダイアログを開き、左ペインで[アドイン]を選択する。ウィンドウ下の「管理」で[COMアドイン]を選択し、[設定]ボタンを押す。
どちらの場合も、[OK]ボタンを押してダイアログを閉じ、Excelに戻ったら、一回終了させて、再度Excelを起動する。
署名元が信頼済みでない場合、再起動時にリボンの下に「セキュリティの警告」メッセージバーが表示される。「一部のアクティブコンテンツが無効にされました。クリックすると詳細が表示されます。」というメッセージ部分をクリックすると、リボンのファイルタブ(バックステージビュー)にある「情報」が表示される。
ここで[コンテンツの有効化]ボタンをクリックして表示されるメニューから[詳細オプション]を選択する。表示される[Microsoft Officeセキュリティオプション]ダイアログには、警告の原因が表示されている。この中に「Inquire」アドインのデジタル署名に関するものがあるはずだ。証明書の有効期限が切れていないことを確認したら、「この発行元から発行されたコードをすべて有効にする」を選択して、[OK]ボタンをクリックする。
Inquireアドインの読み込みに失敗した場合(1)
電子署名の証明書が信頼されていない場合、[COMアドイン]ダイアログで、「Inquire」アドインにチェックを入れて、[OK]ボタンをクリックすると、画面にように「読み込まれていません」というメッセージが表示される。
Inquireアドインの使い方
Inquireアドインの組み込みが完了すると、[検査]タブが追加される。ここには、4カテゴリーに分けられた7つ(ヘルプを除く)の機能がある。このうち「ファイルの比較」がワークシートの比較機能(Spreadsheet Compare)に相当する。
「ブックの分析」と「ダイヤグラム」は、ブックやワークシートに関する情報をテキストや画像で表示するものだ。メールで送信したブックが実は他のブックを参照していて、送り先でブックを開こうとするとメッセージが表示されてしまうということがある。あるいは、シート間に参照関係があるので、特定のシートだけを別のブックにコピーしても正しく表示されないこともある。
もちろん、ブックの内容を熟知していて、どこにどういう参照があるのかを記憶しているなら問題はないだろうが、たまたま1つの数式だけ、他のブックやシートへの参照を入れていたということもある。「ダイヤグラム」の機能はこうした参照関係をグラフィックスで表示できる。
「不要なセル書式の消去」は、空白セルに適用されている書式設定などを削除し、ブックファイルを軽量化できる。例えば、表の列に書式を指定する場合、列見出し部分を選択して書式設定を行うとその列の最後の行まで書式設定が行われてしまう。Excelのシートは、最大104万8576行になるため、こうした空白セルに対する書式設定も大量になると、ファイルサイズに大きく影響することがある。
「ブックのパスワード」は、「ファイル比較」で開くブックのパスワードを記憶させておくものだ。これを使うことで、特定のブックを比較するときに毎回パスワードを入力する手間を省くことができる。
2つのブックの比較を行う
[検査]タブにある「ファイルの比較」を使うと、2つのブックの比較が行える。ブックのコピーを誤って編集したなどで発生するブックの違いを見つけることができる。
2つのブックファイルを「比較」「比較対象」として指定する。どちらのファイルを先に指定しても、意味としては、同じ結果だが、行や列の挿入、削除は、「比較」に指定した方のブックを基準に判定される。比較と比較対象のブックを入れ替えると、挿入/削除が入れ替わる点に注意されたい。
[検査]タブからこの機能を利用する場合には、比較する2つのブックを先にExcelで開いておく必要がある。[スタート]メニューの[Microsoft Officeツール]から「Spreadsheet Compare」アプリを起動した場合には、比較対象とする2つのブックファイルを直接指定できるので、Excelでブックが開いている必要はない。ブックを指定すると、[Spreadsheet Compare]ウィンドウが開き、比較が開始される。
2つのブックの比較を行う
比較したいブックを開き、[検査]タブの[ファイルの比較]をクリックする。開いているブックのうち、どの2つを比較するかを指定するダイアログが開くので、比較したい2つのブックを選択し、[比較]ボタンをクリックする。
[Spreadsheet Compare]ウィンドウの[Home]タブは、「Compare(比較)」「View(ブックの表示)」「Export(結果の出力)」「Information(オプション設定とヘルプ)」で構成されている。[Home]タブの下は大きく5つの領域に分かれている。
グループ | 機能名 | 機能 | |
---|---|---|---|
Compare | Compare Files | ブックの指定と比較 | |
Show Details | 詳細表示ウィンドウを開く | ||
View | Show Formulas | ブック表示領域で「数式の表示」を行う | |
Resize Cells to Fit | ブック表示でセル幅を表示に合わせる | ||
Show Workbook Formatting | ブック表示で書式適用のオン/オフ | ||
Export | Export Results | 結果(差分)をExcelのブックとして保存 | |
Copy Results to Clipboard | 結果(差分)をクリップボードにコピー | ||
Information | Options | オプション設定 | |
Help | ヘルプの表示 | ||
[Spreadsheet Compare]ウィンドウの[Home]タブの構成 |
比較結果が[Spreadsheet Compare]ウィンドウで表示される
[Spreadsheet Compare]ウィンドウが開き、2つのブックの比較結果が表示される。結果は、リボン下の2つのウィンドウで表示される。
リボンのすぐ下は、左右2つに分割されていて、比較する2つのブックが表示される。さらにその下は、横に3つに分割されていて、左から「比較項目」「差分」「比較項目別の差分グラフ」になっている。
簡単に言うと、左側の「比較項目」のチェックボックスを使って、何を比較するのかを選択し、中央の差分を選択すると、上の2つのブック表示に該当のシート/セルが色付きで表示される。
「比較項目」には、下表のようなものがある。
Option | 比較項目 |
---|---|
Select All | 全ての比較項目を有効にする |
Entered Values | 入力した値 |
Calculated Vales | 計算した結果 |
Formulas | 数式 |
SysGen Formulas | 自動的に書き換えられた数式 |
SysGen Formulas Errors | 自動的に書き換えられた数式エラー |
Structural | シートなどのブック構造 |
Names | 名前 |
SysGen Names | 自動的に付けられた名前 |
SysGen Names Error | 自動的に付けられた名前のエラー |
Macros | マクロ |
Data Connection | データ接続(クエリなど) |
Cell Format | セル書式 |
Cell Protection | セルの保護 |
Sheet/Workbook Protection | シートやブックの保護 |
「比較項目」で設定できる項目 |
[Options]で変更できるブックの比較動作
ブックの比較動作は、[Home]タブの[Information]グループにある[Options]をクリックして開く、[Compare Options]ダイアログで設定できる。
[Compare Options]ダイアログの「Process cell contents in inserted rows/columns」を「オン」にすると、行や列の挿入があったとき、挿入されたセル全部を違いとして表示するようになる。
[Compare Options]ダイアログの画面
[Home]タブの[Information]グループにある[Options]をクリックして開く、[Compare Options]ダイアログでブックの比較動作が設定できる。
デフォルトの「オフ」では、単に、行/列の挿入だけが差分として表示され、挿入された個々のセルは差分としては表示されない。
同様に「Process cell contents in deleted rows/columns」は、行や列の削除があったときに、残った方の個々のセルを差分に表示するかどうかを指定する。どちらも「オン」にするとその分、処理内容が増えるため、比較に時間がかかり、差分に表示される項目が増える。
どの設定も変更すると、ブックの比較が自動的にやり直される。
「比較項目」領域にある「SysGen Formulas」とは、行や列の編集などによりセル範囲などが自動的に書き換えられた数式を指す。例えば、列を削除したとき、その範囲を含むSUM関数の引数(合計の範囲)が自動的に書き換えられる。こうした数式が「SysGen Formulas」である。
「SysGen Name」は、印刷範囲を指定したときの「Print_Area」のようなExcelが自動的に付ける「名前」のことだ。この「SysGen」関連の比較項目は、[Compare Options]ダイアログの「Include system generated changes in result」を「オン」にしないと、差分には表示されない。
通常は、これらを普通の数式や名前と区別する必要はなく、この項目は「オフ」のままで構わない。編集を繰り返したブックでは、これらが大量にあり、「オン」にしてしまうと、表示される差分の量が多くなり、かえって比較が面倒になる。
「比較項目」はソートしない方が無難
「比較項目」領域では、一番上の「Option」と表記のある見出し部分をクリックすると、比較項目がアルファベット順にソートされる。しかし、どのような場合でも一番先頭の項目は、「Select All」(全て選択)という動作になる(バグと思われる)。これを元の状態に戻すことはできず、[Worksheet Compare]ウィンドウを開き直すしかないため、見出し部分はさわらないようにした方がよい。
「差分」情報はクリップボード経由でコピー&ペーストした方がよい
[Home]タブの[Export]グループにある[Copy Results to Clipboard]を使うと、「差分」領域の情報をコピーできる。同様に[Export Results]を使うと、差分領域の情報をExcelブックとして書き出すこともできる。
どちらも内容としては同じものだ。このため、Excelの空白ブックなどにクリップボード内容を貼り付けても同様の情報が得られる。ただ、[Export Results]で書き出される差分情報は、英語環境向けに書式設定されていて、フォントなどがあまり見やすくないので、日本語環境では、[Copy Results to Clipboard]を使う方がいいだろう。
比較するブックの修正反映や取り違えには要注意
[Spreadsheet Compare]ウィンドウには、[終了]ボタンなどはなく、タイトルバーの[終了]ボタンで閉じる。また、「比較」ウィンドウが開いていても、終了させることなく、検査タブからウィンドウを別に開くことも可能だ。
[Spreadsheet Compare]ウィンドウが開いていても、Excel側で元のブックは編集が可能だ。このため、相違点などを見ながらブックを修正できる。
ただし、ブックを修正しても、[Spreadsheet Compare]ウィンドウ側のブック表示は変化しない。ブックの修正を反映させるには、Excel側でブックを保存した後、再度[検査]タブの[ファイルの比較]で「Spreadsheet Compare」を起動する必要がある。
[Spreadsheet Compare]ウィンドウの[Compare]グループにある[Compare Files]は、前回ユーザーが「Spreadsheet Compare」アプリを起動したときに開いたファイルパスを記憶している。そのため、[検査]タブから起動したものと違うブックファイルを記憶していることがある点に注意が必要だ。複数の似たファイル名の比較を行っている場合に混同する可能性がある。
マクロを含むブックの比較は避けた方が無難
InquireアドインやSpreadsheet Compareアプリには、マクロに関する比較機能もある。しかし、筆者の環境では、マクロ付きブック(xlsm)を比較させようとすると、いつまでたっても比較処理が終わらないことがあった。InquireアドインやSpreadsheet Compareアプリは、ブックファイルを壊すことはないと思われるが、念のため、マクロ付きブックの比較はやめておいた方がよさそうだ。
長期間にわたって1つのブックで作業すると、バックアップのつもりで作成したコピーをついうっかり編集してしまうことがある。あるいは、似たようなファイル名のブックがあると、間違って編集することもある。すぐに気が付けばよいが、2つのブックをそれぞれ更新し続けてしまうと大変だ。こうしたときに復元作業を行う場合、ブックを詳細に比較できるInquireアドインを使うことで、差分を正確に知ることが可能だ。
Copyright© Digital Advantage Corp. All Rights Reserved.