関数UNIQUEを使って「重複データを除外したリスト」を作成するときに、「複数の列」を対象にしたい場合もあるだろう。関数UNIQUEは複数列のデータ指定にも対応しているが、思い通りの結果を得るには「どのように重複データが除外されるのか?」について学んでおく必要がある。関数UNIQUEの注意点とあわせて詳しく説明していこう。

複数列を対象に関数UNIQUEを使用した場合は?

今回も関数UNIQUEの使い方を紹介していこう。関数UNIQUEを使って重複データを除外するときに「複数の列」を対象にしたい場合もあるだろう。この場合、「どのような仕組みで重複データが除外されるか?」について詳しく学んでおく必要がある。

  • 複数列を対象にした関数UNIQUEの応用的な使い方

今回は、連絡先をまとめた表から「重複データを除外する方法」を例に、関数UNIQUEの挙動について説明していこう。

以下の図は、各社員が個別に管理している名刺情報を集約するために、それぞれが所有する情報を表に入力してもらったものだ。状況を把握しやすくするために、データ数は12件に抑えてあるが、実際には数百件、数千件という規模のデータが存在すると考えて頂きたい。

  • 各自が名刺データを登録した表

この表をよく見ると、情報が重複しているデータがあることに気付くと思う。「麒麟設計の小久保さん」は同じ連絡先データが2件も登録されているし、「イヌワシ運送の藤本さん」は「部署」と「TEL」が異なる形で2件のデータが登録されている。

  • 情報が重複しているデータ

これらの重複データを関数UNIQUEで除外してみよう。まずは「社名」~「メールアドレス」のセル範囲を関数UNIQUEに指定した例を紹介する。

  • 関数UNIQUEの入力

  • 関数UNIQUEにより取得されたデータ

このままでは状況を把握しづらいと思うので、セルに色を付けた図を使って解説していこう。

  • 除外されたデータの確認

連絡先のデータがすべて一致している「麒麟設計の小久保さん」は、問題なく重複データが除外されている。一方、「イヌワシ運送の藤本さん」はデータが2つとも残っており、重複は解消されていない。

これは関数UNIQUEの仕様に従った結果といえる。セル範囲に「複数の列」を指定した場合は、「すべての列でデータが一致する場合」のみ重複データとみなされる。先ほどの図において、「イヌワシ運送の藤本さん」は「部署」と「TEL」のデータが異なるため、重複データとはみなされない。よって、出力リストからも除外さない、という結果になる。

では、どのようにセル範囲を指定すれば上手くいくのだろうか? 解答例を一つ紹介しておこう。たとえば、以下の図のように「社名」と「氏名」のセル範囲だけを対象にして関数UNIQUEを実行すると、重複データを確実に除外することが可能となる。

  • 関数UNIQUEの入力

  • 関数UNIQUEにより取得されたデータ

念のため、セルに色を付けた図も紹介しておこう。データが重複していた「麒麟設計の小久保さん」と「イヌワシ運送の藤本さん」が、それぞれ1件のデータとして取得されているのを確認できるだろう。

  • 除外されたデータの確認

これで重複データを除外できたことになるが、「社名」と「氏名」しかない状態では連絡先としての役割を果たさなくなってしまう。よって、他のデータを補完してあげる必要がある。

重複を除外して最新データだけを残すには?

この記事は
Members+会員の方のみ御覧いただけます

ログイン/無料会員登録

会員サービスの詳細はこちら