Excelシートのセルに設定される「書式」とは、セルの“見せ方”や“体裁”です。
別の言い方をすれば、任意のセルを選択しておき、[Ctrl]+[1]キーを押して現れる「セルの書式設定」ダイアログで設定できるものを指します。(下図)

 

新規に Excelブックを開き、何も入力されていないセルの書式を“標準”と呼びますが、これは書式がないという状態ではありません。
“標準”であっても、フォントとして「游ゴシック」「11pt」が設定されているように、デフォルトの書式が設定されているだけです。

ところで、前任者や先輩から引き継いだシートの表を修正したりデータを追加していくうちに、同種のデータなのに異なる書式が混ざってしまったということはありませんか?
コピーするときにコピー元の書式もコピーするようにしているときなどに起きます。

そんなとき、書式が同じセルを探す方法を知っていると助かります。

(1) 同じ書式が設定されているセルを探す

簡単な例ですが、下図のような表があり、外部データをコピーしたときにコピー元のフォントのままコピーしたものです。

 

ここでは分かりやすくするため、当該セルに水色の塗りつぶしを施してあり、これらは「メイリオ」フォント、他は「游ゴシック」フォントとしています。

任意のセルを選択し、[Ctrl]+[F]キーを押して「検索と置換」ダイアログを出します。(下図)

 

「検索」タブで「書式」ボタンをクリックします。
「書式の検索」ダイアログが現れます。(下図)

 

これは最初の図「セルの書式設定」ダイアログと内容は同じものです。
「フォント」タブで「フォント名」欄の下部にあるフォントリストから「メイリオ」を選択し「OK」します。
そして、元の「検索と置換」ダイアログに戻ったら「すべて検索」ボタンを押します。
シート内で「メイリオ」フォントを使用しているセルが 6つ見つかりました。(下図)

 

なお、「検索と置換」ダイアログの「書式」ボタン右端のプルダウンボタンから「セルから書式を選択」をクリックすると、注目しているセルの書式を簡単に取り込むことができます。
例えば、「セルから書式を選択」をクリック後、A5セルをクリックすれば、A5セルに設定されている書式をまとめて検索する書式とすることができます。

便利なのですが、反面注意が必要です。
A5セルを選択すると、「メイリオ」フォントだけでなく、水色の塗りつぶしや施している罫線なども検索する書式として設定されます。
これらの書式設定のうち 1つでも異なるセルは、検索されないことになります。

次に、ある書式設定(表示形式)が施されているセルを検出する方法についてご紹介します。

(2) 表示形式が設定されているセルを検出する

VBAなどを使用する方法もありますが、ここでは「CELL」関数を使ってみます。
CELL関数については「Excel シート名」記事でシート名を取得する方法としてご紹介しました。
また、Microsoftのサポートページ「CELL 関数」もご参照ください。

ここでは「=CELL("format", 参照セル)」というように、第1引数「検査の種類」として「"format"」を使います。
例えば、上図の表データ以外の空いているセルに「=CELL("format",A5)」と入力すると「G」と返されます。
この「G」という戻り値は、セルの表示形式が“標準”であることを表しています。

「10%」と表示されている F1セルについて「=CELL("format",F1)」とすると「P0」と返されます。
これは「パーセント」表示で、小数点以下の桁数が「0」であることを示しています。
また、桁区切りスタイルを施した D4セルなどについて「=CELL("format",D4)」とすると、「,0-」と返されます。
これは、「桁区切りスタイル」表示で、小数点以下の桁数が「0」であることを示し、負数に対応する色で書式設定されていることを「-」(マイナス)で表わしています。

他にも「=CELL("format", 参照セル)」に対する表記については、上記サポートページ「CELL 関数」に記載されていますので、ご参照ください。

1つ 1つのセルについて調べるのではなく、セル範囲にわたってまとめて調べたければ、条件付き書式を使って「=CELL("format",A1)<>"G"」などとしてセルの塗りつぶしの色を設定すればよろしいでしょう。