書式・表示形式

【Excel】条件付き書式で重複するセルを強調表示する

スポンサーリンク
この記事は約5分で読めます。
条件付き書式 重複 タイトル画像

Excel(エクセル)で様々な情報をリスト化する時、項目の端から端まで全く同じ内容のデータが複数回入ってしまうと様々なエラーの要因となります。しかし、入力している時にひょんなきっかけで間違って同じものを入れてしまうこともよくあるんですよね。

そんな事態を避ける方法として、今回は「条件付き書式」を使って重複データを強調表示する手順を見ていきたいと思います。入力前に仕込んでおけば重複データの誤入力防止になりますし、すでに入力済のリストで重複がないかチェックする時にも使えます。

※解説画像はMicrosoft365のExcelを使用しています

スポンサーリンク

重複する値を強調表示する

条件付き書式には、あらかじめ組み込みで「重複」をチェックするパターンが用意されていますので、まずはそれを使ってみましょう。

こちらの表は「会員様1人につき1回しか申し込めない特別チケット」的な物の申込リストを入力するという想定で作った例です。B列に重複する会員番号が入力された時に書式を変化させて知らせるようにしてみたいと思います。

会員番号と会員情報を入力する表

まず、書式を設定する範囲をドラッグして選択します。

書式を設定する範囲を選択したところ

[ホーム]タブのスタイルグループにある「条件付き書式」をクリックします。

ホームタブの位置
条件付き書式ボタン

セルの強調表示ルール」をクリックします。

条件付き書式のメニューで強調表示ルールを選択

強調表示ルールの選択肢の中から「重複する値」をクリックします。

重複する値を選択

重複する値ダイアログボックスが開きます。初期値では「重複する値が入れられた時は濃い赤の文字、明るい赤の背景になる」という組み込みの書式が選択されていますが、「書式」のドロップダウンリストを開いて他のパターンに変える事もできますのでお好みで変更してください。ここでは初期値のまま進めます。

重複する値ダイアログボックス
はにわ先生
はにわ先生

「ユーザー設定の書式」をクリックすると「セルの書式設定」ダイアログボックスが開き、そこからオリジナルの書式パターンを設定することもできます。

[OK]をクリックしてダイアログボックスを閉じると設定完了です。下図は実際にデータを入れてみたところですが、すでに入力済の会員番号がもう一度打たれた時に「濃い赤の文字、明るい赤の背景」が適用されました。

表に重複値が入力された時の結果

この例では表内に先に条件付き書式を設定した上で後からデータを入力しましたが、既に値の入力されたリストでも同じように範囲選択して条件付き書式を設定すれば重複をチェックすることができます。

「〇回以上」重複したら強調するように修正する

先の重複フラグでは、重複している値が2つであろうが3つであろうが、同じものが複数回入っているセルすべてに指定した書式が適用されます。

同じ値が3つありすべてに指定書式が適用されている例

しかし、時には「重複2回までならOK、3回目になったらNG」というような回数制限を設けた条件を立てたい事もあると思います。

そのような場合は、条件付き書式にCOUNTIF関数を組み込むというやり方があります。

COUNTIFは、指定した範囲から検索条件と一致する値の数を数える関数です。下図は「会員番号」のB4~B10の範囲内で、それぞれのセルに入力された値がいくつあるかを数える式をC列に求めてみた例です。重複しているものには「2」以上の数値が結果として返されます。

COUNTIFで重複する値を数えた結果

ただ、これだけでは単に数を数えるだけで終わってしまいます。更に「3回目が打たれたら強調する」としなければいけませんので、不等号を使って、COUNTIFの結果が「2より大きい場合は」という条件式にします。すると以下のような式になります。

=COUNTIF($B$4:$B$10,B4)>2

(不等式を「>=3」と入れると「3以上」という条件になります。結果は上記と同じです)

この数式を条件付き書式の数式ボックスに入れれば良い、という事ですね。では、先ほど設定した重複のルールを修正してみましょう。

条件付き書式を設定した範囲の先頭セルを選択し、[ホーム]タブ⇒「条件付き書式」⇒「ルールの管理」をクリックします。

ルールの管理

条件付き書式ルールの管理ダイアログボックスが開きます。先に設定した重複ルールが「ルール」の欄に表示されていますので、選択して「ルールの編集」をクリックします。(編集したいルールをダブルクリックしても大丈夫です)

条件付き書式ルールの管理ダイアログボックス

書式ルールの編集ダイアログボックスが開きます。まず、「ルールの種類を選択してください」の一覧から「数式を使用して、書式設定するセルを決定」をクリックします。

書式ルールの編集ダイアログボックス

ダイアログボックスの下半分が数式入力用のフォーマットに変化します。「次の数式を満たす場合に値を書式設定」の白抜きボックスを1回クリックし、カーソルを表示します。

数式入力用のボックスをクリックしたところ

ここに、先ほどの数式を入力します。もし書式も変更したい時は[書式]ボタンをクリックしてお好みで設定しましょう。(ここでは最初の書式を継続して使用します)
[OK]をクリックしてダイアログボックスを閉じます。

数式を入力したところ
Point

条件付き書式で数式を入力する場合、関数パレットや名前ボックスから関数を選択できないため、頭の=(イコール)から手打ちで入れる必要があります。うまくいかない時は、条件付き書式の編集を始める前にシートの関係ない位置で数式を作って数式バーの式をコピーしておき、この段階に至った時にボックスにカーソルを置いて「貼り付け」すると簡単です。

「条件付き書式ルールの管理」ダイアログボックスに戻りますので、そこも[OK]をクリックして閉じましょう。

こちらが完成した状態です。同じ値が2つまでの時はノーマークですが、3つ目を入れたところで指定した書式が適用されます。

3回目の入力で指定書式が適用されたところ

補足事項

MOS試験の勉強などを行っている方は、テキストの条件付き書式の項で「条件を満たした時に行全体を指定の書式で塗りつぶす」という課題に当たった事があると思います。

行ごと塗りつぶしたい時のコツなどは【Excel】条件付き書式を行全体に適用したいの回で書いていますので参考にしていただければと思うのですが、私個人的には実務で条件付き書式を使う場合は極力設定する箇所は絞った方が得策と考えています。

なぜかというと、条件付き書式を多用すると『値が入力されるごとに計算が走るので挙動が重くなる』『ファイルサイズが肥大化してしまう』という事象が起こる場合があるからです。

もちろん、行全体でアピールすることで効果を発揮する表もあるので、その時はその時で遠慮なく塗りつぶしてしまいましょう。ただ、今回のように「重複を注意喚起する」だけの目的であれば、1列だけにフラグが立つようにすれば充分だと思います。できるだけ最小限に、かつ効果的な位置で強調されるように工夫してみてください。

スポンサーリンク