[Office Master] | |||||||||||
Excelワークシートで重複データを検出する
|
|||||||||||
|
解説 |
Excelで大量のデータを含むリストを作成している場合、重複データの発生が気になるケースはないだろうか。もちろん、一意となるべき項目について並べ替えなどを行なえば、比較的用意に重複データを見つけることはできるだろう。だがデータが何百件、何千件ともなれば、目視でのチェックは非常に面倒であるし、完全に漏れなくチェックすることはほぼ不可能である。
ExcelではAccessのような主キー(primary key。テーブル内のデータを一意に識別するための列データ)の設定はできないが、その代わり、条件付き書式と入力規則を用いることで、擬似的に重複データの発生を防ぐことが可能となる。
本稿では、すでに用意されているリストから重複データを「検出する」方法と、これから入力するデータの重複を「防ぐ」方法と、2つの観点から紹介を行なってみたい。
操作方法 |
手順1―元となるリストを用意する
リストの内容は特に問わないが、ここではサンプルとしてサイトURLリストを扱ってみることにしたい。リストは次のように「サイトタイトル」「URL」「アクセス数」から構成されるものとする。ここで主キー(重複してはならない項目)は「URL」とする。
サンプルExcelファイル |
「サイトタイトル」「URL」「アクセス数」という3つの列を持つExcelファイル。このうち、「URL」の内容が重複しないようにデータを管理するものとする。 |
- サンプル・ファイルのダウンロード
(注:サンプルduplicate.xlsをダウンロードするには、上のリンクを右クリックして、duplicate.xlsというファイル名で保存してください)
手順2―条件付き書式を設定する
まずは既存のリストから重複データの有無を確認してみることにしたい。重複を検出したい項目「URL」(C列)全体を選択状態にした上で、メニュー・バーから[書式]−[条件付き書式]を選択する。すると「条件付き書式の設定」ダイアログが表示されるので、必要な条件を入力する(条件付書式を使った例については、「TIPS―n行おきにExcelのセル書式を変更する」も参照のこと)。
条件付書式の設定 | |||||||||
これを使うと、条件に応じて変化する書式を定義することができる。 | |||||||||
|
条件式には、以下のような式を入力する。
=COUNTIF(C:C,C1)>1 |
COUNTIF関数は指定された範囲内で検索条件に合致した値がいくつあるかをカウントする関数で、構文は次の通りである。
COUNTIF(範囲, 検索条件) |
つまり、上で示した条件式は、「C列(C:C)の中にセルC1で表わされる値が1より大きい(重複した値が2個以上ある)」場合にTrueを返す。
ここで「検索条件」をC1に限定していることが奇妙に感じるかもしれないが、条件付き書式を列全体に指定する場合には、これで各セルごとに相対パスが設定される。試しに条件付き書式をいったん確定した後に、セルC3のみを選択して、条件付き書式の設定を確認してみよう。条件式は、以下のようにセットされているはずだ。
=COUNTIF(C:C,C3)>1 |
さて設定が完了したら、任意の行を追加し、重複するようなデータを入力してみて欲しい。すると、重複するセルの背景色が灰色に変わるはずだ。
手順3―入力データ規則を設定する
次は、新しくデータを追加する際に、重複データが入力できないように「入力データ規則」を設定してみよう。手順2と同様に、重複を検出したい項目である「URL」(C列)全体を選択状態にしたうえで、メニュー・バーから[データ]−[入力規則]を選択する。
「データの入力規則」ダイアログが表示されるので、必要な条件を入力してみよう。
データの入力規則の設定 | ||||||
入力規則を設定すると、入力されるデータに対して制約を付けることができる。与えられた条件がTrueになる場合にのみ、データが入力される。 | ||||||
|
条件式には、次のような式を入力することにする。
=COUNTIF(C:C,C1)=1 |
つまり、「C列(C:C)の中にセルC1で表わされる値が1である(入力値がC列のいかなる値とも重なっていない)」場合にのみ入力を許可する。
設定が完了したら、また任意の行を追加し、重複するようなURLを入力してみよう。すると以下のようなエラー・メッセージが表示されるはずだ。このエラー・メッセージの指定方法や、入力時にユーザーが指定したメッセージを表示させる方法については、「TIPS―Excelでユーザー・カスタムの入力規則を定義する」を参照して欲しい。
エラー・メッセージ |
入力規則を満たさないデータが入力されると、このようなメッセージが表示される。 |
この記事と関連性の高い別の記事
- n行おきにExcelのセル書式を変更する(TIPS)
- Excelでユーザー・カスタムの入力規則を定義する(TIPS)
- Excelでユーザー・カスタムの書式設定を定義する(TIPS)
- Excelでプルダウンリスト(ドロップダウンメニュー)を作成して入力効率をアップする(TIPS)
- WindowsでExcelと外部データベースとを連携させる(TIPS)
このリストは、デジタルアドバンテージが開発した自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
「Windows TIPS」 |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|