オフィスソフト Microsoft

「Excel」で値の重複を見つける--内蔵機能を活用して対処するには

値の重複は別に悪いことではない。それどころか必要な場合も多い。だが、レコードの重複があると、レポーティングや分析に差し障りが生じかねない。ここでは、「Excel」で値の重複を見つける方法を紹介する。

 値の重複は別に悪いことではない。それどころか必要な場合も多い。だが、レコードの重複があると、レポーティングや分析に差し障りが生じかねない。1つの列内にある重複データを探すのであれ、重複するレコードを探すのであれ、作業の大部分はExcelがやってくれる。この記事では、高度なフィルター機能と条件付き書式のルールを適用して、重複を探す簡単な方法を紹介する。まず、「重複」という言葉を定義しておこう。別に意味のあいまいな言葉ではないが、言葉の意味は文脈によって決まるものだ。続いて、Excelの内蔵機能を利用して重複を探していく。

 筆者は64ビット版の「Windows 10」で「Excel 2016」を使用しているが、ここで紹介するテクニックは、「リボン」メニューを採用しているものであれば、古いバージョンでも使える。自分のデータで作業をしてもいいし、「.xlsx」形式のデモファイルをダウンロードしてもいい。

「重複」の定義

 「重複」は、1つの列内にのみ出現することもある。その列に複数回現れる値は「重複」だ。Excelのデータセットでは、同一列内の重複はよくあり、間違っていることはめったにないが、間違いだという可能性もある。「重複」が、あるレコード内の複数の列に現れたり、すべての列に現れたりすることもあり得る。たとえば、学生のデータベースなら、日付と学年の列があり、両方の列で多くの値が複数回登場するだろう。だが、学生の名前が同じで、課題も日付も学年も同じ2つのレコードがあったら、それは重複と考えていいかもしれない。もし重複であれば、間違った分析やレポーティングを避けるために修正(または削除)すべきだ。というわけで、「重複」の定義は、適用する業務ルールに左右される。

重複のフィルタリング

 重複を探す主な理由は、削除するためかもしれないが、必ずしもそうとは限らない。一時的に回避したい場合もあるかもしれない。その場合は、Excelのフィルター機能が役に立つだろう。重複を検索してくれるわけではないが(フィルタリングにそういう働きはない)、この機能のもっと高度なオプションを利用して重複を非表示にし、重複のないレコードセットで作業を行うことができる。レコードをインプレースでフィルタリングしてもいいし、重複のないレコードセットを別の範囲にコピーしてもいい。

 図Aのデータセットをインプレースでフィルタリングすることから始めよう。列の一部の値が重複しているが、これでいい。よく見ると、レコード全体の重複があるのもわかるだろう。4行目と11行目のレコードが同じだ。以下の要領で、重複しているレコードをフィルタリングしよう。

  1. データセット内のどこかをクリックしてから、「データ」タブをクリックする。
  2. 「並べ替えとフィルター」グループ内の「詳細設定」をクリックする。現れるダイアログボックスに、範囲が表示される。この機能を利用する前に1つのセルをクリックしておくと、デフォルトでは、そのセルから連続する内容がこの範囲になる。
  3. 「重複するレコードは無視する」オプション(図B)にチェックを入れ、「OK」をクリックする。図Cを見ればわかるように、11行目が非表示になっている。

図A:重複するレコードを非表示にできる。
図A:重複するレコードを非表示にできる。
図B:「重複するレコードは無視する」オプションを選択する。
図B:「重複するレコードは無視する」オプションを選択する。
図C :11行目の重複しているレコードが非表示になった。
図C :11行目の重複しているレコードが非表示になった。

 この例では、重複しているレコードを非表示にしているので、一時的に重複のないデータセットで作業できる。以下のようにすれば、元のデータセットとは無関係に、重複のないデータセットを別の場所にコピーして作業することができる。

  1. データセット内のどこかをクリックしてから、「データ」タブをクリックする。
  2. 「並べ替えとフィルター」グループ内の「詳細設定」をクリックする。
  3. ダイアログボックスの「指定した範囲」をクリックする。
  4. 「重複するレコードは無視する」オプションにチェックを入れる。
  5. 「抽出範囲」の中をクリックしてからシート内のアンカーセル(図D)をクリックするか、参照範囲を入力して、コピー範囲を指定する。
  6. 「OK」をクリックする。新たに作成された図Eのデータセットでは、レコードが表示されているが、重複するレコードはコピーされていない。

図D:コピー範囲を指定する。
図D:コピー範囲を指定する。
図E:コピーされたデータセットには、11行目の重複レコードが含まれていない。
図E:コピーされたデータセットには、11行目の重複レコードが含まれていない。

ホワイトペーパーランキング

  1. 新たな個人データ保護の時代到来!~2018年EU-GDPR施行とその対応~
  2. クラウドファーストと言うけれど…理由あって実現できない企業の「次の手」
  3. IBM Watson が拡げるビジネスの可能性
  4. セキュリティチーム内の情報連携不足が深刻なリスクに?“脅威インテリジェンス”の活用と自動化で危機回避
  5. 次世代 モダンBI・分析プラットフォームを正しく選ぶための選定ポイントとは

編集部おすすめ

ピックアップ製品

サーバ
PC・モバイル
ストレージ
ネットワーク
仮想化
クラウドサービス
OS・ミドルウェア
開発
データベース
運用
セキュリティ
新興技術
財務・経理
人事・労務
マーケ・営業
購買・調達
生産・製造
データ分析
コミュニケーション
通信・通話
文書・コンテンツ
サイト構築
PCソフト
オフィスソフト
OCR
学習

ベンダー座談会

Follow TechRepublic Japan