リスト内の共通値、つまり重複値を比較することは、多くの場合、多くの変数を伴う作業です。同じリスト内の値を比較することもあれば、あるリストと別のリストを比較することもあります。そして、重複の定義があります。インターネットで検索すれば多くの解決策が見つかりますが、万能の解決策は見つかりません。データの内容を理解し、適切な解決策を適用する必要があります。
この記事では、条件付き書式を使ってリストを比較し、重複を見つけます。まず、組み込みの重複ルールを適用して1つのリスト内の項目を比較し、次に同じルールを使って2つのリストを比較します。さらに、組み込みルールが適切でない場合に、カスタムの条件付き書式ルールを使って重複を見つけます。
Windows 10 システムで Excel 2016(デスクトップ版)を使用していますが、これらのルールは以前のリボンバージョンでも利用可能です。ご自身のデータを使用することも、デモ用の .xls ファイルと .xlsx ファイルをダウンロードすることもできます。ブラウザ版では既存の条件付き書式ルールがサポートされており、組み込みルールを適用することもできます。ただし、ブラウザではカスタムルールを適用できません。
組み込みルール
条件付き書式を使った数式を使ってデータを比較することもできますが、場合によっては組み込みルールで十分です。専門知識は必要ありませんが、面倒な作業を避けるために、この機能の仕組みを理解しておく必要があります。まずは、図Aに示すシンプルなシートを使って、組み込みルールが単一のリスト内の項目をどのように比較するかを見てみましょう。
- 最初のリスト、B1:B12を選択します。(最後の項目は意図的に繰り返しています。)
- [ホーム] タブの [スタイル] グループで [条件付き書式] をクリックします。
- [セルの強調表示ルール] を選択し、次のメニューで [重複する値] を選択します (図 A )。
- 表示されたダイアログで適切な形式を選択し、「OK」をクリックします。図Bに示すように、1つの列を選択したため、この組み込みルールによって同じ列内の重複がハイライト表示されました。
図A
この組み込みの重複ルールは、単一のリスト内の項目を比較します。
図B
組み込みルールにより、同じ列内の重複が強調表示されます。
同じ組み込みルールを使って、列Bのリストと列Cのリストを比較してみましょう。B2:C12を選択し、上記と同じ手順に従います。図Cに結果を示します。このルールは、項目が複数回(どこにでも)出現する場合に強調表示を適用します。これには、同じ列に重複して出現する項目や、両方の列に複数回出現する項目が含まれます。
図C
重複ルールは、選択した範囲内で複数回出現する項目を強調表示します。
参照:知らないかもしれないExcelの時間節約術10選(TechRepublic)
カスタムルール
図Aに示す2つのリストは似ていますが、微妙な違いがあります。両方のリストに固有の項目がいくつかあります。さらに、列Bの項目が列Cの対応する項目と異なる場合もあります。このセクションでは、カスタム条件付き書式ルールを使用して、列間で異なる項目を特定します。これらの項目は不一致であると考えることができます。組み込みルールは任意の位置にあるすべての値を評価することを既に説明しましたが、これは私たちが求めているものではありません。
条件付き書式を使用すると、次の形式の式を使用して、列ごとに 2 つのリスト間の違いをすばやく識別できます。
=COUNTIF(その他のリスト,選択されたリストの最初のセル) = 0
ここで、このルールを次のように列 B に適用してみましょう。
- 列 B のリスト、B2:B12 を選択します。
- [ホーム] タブをクリックし、[スタイル] グループの [条件付き書式] をクリックして、ドロップダウン リストから [新しいルール] を選択します。
- [数式を使用して、書式設定するセルを決定する] オプションを選択します。
- 数式コントロールに=COUNTIF(C2:C2,B2)=0 と入力します。
- 「書式」をクリックし、「塗りつぶし」タブをクリックして色を選択し、「OK」をクリックします。図Dは書式とルールを示しています。
- [OK]をクリックすると、図Eに示すシートに戻ります。
図D
このルールは、列 C の対応する項目と一致しない列 B の項目を強調表示します。
図E
列 B の強調表示された項目は、列 C の対応する値と一致しません。
このルールは重複をハイライト表示しません。列Bの値に、列Cの対応するセルに存在しない値が含まれている場合、セルの塗りつぶし色のコントラストにより簡単に識別できます。組み込みルールのように、両方の列に出現する値はハイライト表示されません。代わりに列Bにルールを適用するには、C2:C11を選択してから、=COUNTIF(B2:B2,C2)=0というルールを使用します。
このルールは、テキスト入力だけでなく値にも適用されます。リストのサイズも一致している必要はありません。例えば、列Cの対応するセルが空白であるため、このルールでは最後の値「Mishi Kobe Niku」が強調表示されます。さらに、わずかな違いも考慮されます。例えば、「Bob's」からアポストロフィ文字を削除すると、項目は一致しなくなります。一方、比較では大文字と小文字は区別されません。書式設定によって項目が期待どおりに強調表示されない場合は、2つの項目を比較してください。余分なスペース文字が含まれている可能性があります。
次に、少し異なる参照で同じ手法を使用して 2 つのリストを比較します。列 B の項目が列 C のどこにも見つからない場合は、列 B のその項目を強調表示します。先ほど、列間で一致しない項目を強調表示しましたが、今度は両方の列で一致しない項目を強調表示します。
この例では、次のように、列 C に存在しない列 B の項目を強調表示します。
- B2:B12 をハイライトします。
- [ホーム] タブをクリックし、[スタイル] グループの [条件付き書式] をクリックして、ドロップダウン リストから [新しいルール] を選択します。
- [数式を使用して、書式設定するセルを決定する] オプションを選択します。
- 数式コントロールに=COUNTIF($C$2:$C$12,$B2)=0 と入力します。
- 「書式」をクリックし、「塗りつぶし」タブをクリックして色を選択し、「OK」をクリックします。図Fは書式とルールを示しています。
- [OK]をクリックすると、図Gに示すシートに戻ります。
図F
このルールは、列 C のどこにも出現しない列 B の項目を強調表示します。
図G
列 B の値で列 C にないものは、セルの塗りつぶし色のコントラストにより簡単に識別できます。
ご覧のとおり、列Bには列Cにはない項目が3つあります。では、列Cはどうでしょうか?列Bにはない列Cの項目を特定するには、上記の手順を繰り返します。ただし、手順1ではC2:C12を選択し、手順4では数式=COUNTIF($B$2:$B$12,$C2)=0を入力します。手順5では、必要に応じて別の色を選択します。図Hに示すように、列Cの4つの項目(C12の空白を含む)は、列Bには存在しません。
図H
2 つの同様のルールにより、他のリスト (列) のどこにも出現しない項目が強調表示されます。
乞うご期待
次回の記事では、さらに複雑な重複検出問題を取り上げます。
Officeに関するご質問をお送りください
読者の質問には可能な限りお答えしますが、必ずお答えできるとは限りません。リクエストがない限り、ファイルは送信しないでください。添付ファイル付きの初回サポートリクエストは未読のまま削除されます。ご質問を明確にするために、データのスクリーンショットを送信していただくことも可能です。お問い合わせの際は、できるだけ具体的にご記入ください。例えば、「ワークブックのトラブルシューティングを行い、問題点を修正してください」といった質問では返答がないかもしれませんが、「この数式が期待どおりの結果を返さない理由を教えていただけますか?」といった質問であれば、回答が得られるかもしれません。ご使用のアプリとバージョンを明記してください。読者サポートにあたり、TechRepublicから時間や専門知識の報酬を受け取ることはありません。また、サポートした読者から料金を請求することもありません。お問い合わせは[email protected]までお願いいたします。
以下も参照:
- 特定の制限を保護する Excel 検証コントロールを適用する方法 (TechRepublic)
- PowerPoint 2016で透明なテキストを作成する方法(TechRepublic)
- 365 Microsoft Forms を使って素早く簡単にオンラインフォームを作成する方法 (TechRepublic)
- Excel 2016でシンプルなタイムシートを作成する方法(TechRepublic)
-
あなたはこれまでずっと Excel を間違った使い方をしてきました (それで問題ありません) (ZDNet)