今回は、ExcelのUNIQUE関数を用いて、リストの中から重複のないデータを抽出する手順を紹介します。
UNIQUE関数の概要と導入の背景
Excelで日々のデータ管理を行っていると、顧客名簿や商品売上データなどの記録から、重複を省いた一覧表を作成したい場面に遭遇します。これまでは、リボンメニューの「重複の削除」機能や複雑な配列数式を組むことが一般的でした。しかし、Microsoft
365やExcel 2021から導入されたUNIQUE関数を用いると、数式を一つ入力するだけでこの作業が完結します。
UNIQUE関数は、指定した範囲から一意の値だけを取り出して表示する機能を持っています。大きな利点は、元のデータが追加・変更された際に、抽出結果も自動的に更新される点にあります。「重複の削除」機能ではデータが更新されるたびに同じ操作を繰り返す必要がありましたが、UNIQUE関数を組み込んでおけば、その手間を省くことが可能です。
UNIQUE関数の基本的な書式と使い方
UNIQUE関数の基本的な書式と、もっともシンプルな使い方について解説します。
引数の構成
UNIQUE関数は、以下の3つの引数で構成されています。
=UNIQUE(配列, [列の比較], [回数指定])
- 配列:重複を取り除きたいデータが含まれているセル範囲を指定します。(必須)
- 列の比較:行方向で比較するか、列方向で比較するかを指定します。省略した場合やFALSEを指定した場合は、行方向(縦方向)で比較されます。(任意)
- 回数指定:リスト内に1回だけ出現する項目のみを抽出するか、重複をまとめた上で全ての項目を1回ずつ表示するかを指定します。省略した場合やFALSEを指定した場合は、後者(重複をまとめた一覧)になります。(任意)
多くの業務においては、最初の引数である「配列」のみを指定する形で十分に対応可能です。
単一の列からデータを抽出する手順
たとえば、A2からA50のセルに都道府県データが入力されており、そこから重複のない都道府県リストを作成したい場合を想定します。
抽出結果を表示させたい先頭のセルを選択し、以下の数式を入力します。
=UNIQUE(A2:A50)
数式を確定すると、重複のない都道府県の一覧が自動的に展開されます。このように、数式を入力したセルだけでなく、隣接する空白セルにも結果が溢れて表示される仕組みを「スピル」と呼びます。
複数列から一意のデータを抽出する方法
UNIQUE関数は、複数の列を対象にすることも可能です。
たとえば、A列に「担当者名」、B列に「商品名」が入力されている表があるとします。担当者と商品名の組み合わせとして重複のないリストを作成したい場合、配列に複数列を含めます。
=UNIQUE(A2:B50)
この数式を入力すると、担当者名と商品名の組み合わせが完全に一致するものだけが1つにまとめられ、抽出されます。担当者が同じでも商品名が異なる場合は、行全体として別のデータとみなされ、それぞれ個別の項目として抽出されます。マスターデータを作成する際などに役立つ使い方です。
抽出データを活用する実践的なアイデア
UNIQUE関数で抽出したデータは、他の機能と組み合わせることでさらに効果を発揮します。
入力規則のドロップダウンリストへの応用
データ入力のミスを防ぐために、ドロップダウンリストを利用することがあります。UNIQUE関数で抽出したリストを、このドロップダウンリストの元の値として設定することが可能です。
別の場所へUNIQUE関数を使って重複のないリストを作成します。次に、入力規則を設定したいセルを選択し、「データの入力規則」ダイアログを開きます。元の値の入力欄に、UNIQUE関数を入力した先頭セルの番地と「#」(スピル演算子)を組み合わせて入力します(例:=$K$2#)。
このように設定すると、元のデータに新しい項目が追加された際、ドロップダウンリストの選択肢も連動して追加されます。
COUNTIF関数を使った件数の集計
UNIQUE関数で作成した項目リストを基準にして、それぞれの項目が元のデータに何件あるかを集計するのも実用的です。
抽出されたリストの隣の列に、COUNTIF関数を入力します。検索条件として、UNIQUE関数の結果が表示されているセル範囲(スピル演算子を用いた形式)を指定することで、各項目の出現回数をまとめて求めることができます。
UNIQUE関数を使う際の注意点
UNIQUE関数を活用するにあたり、知っておくと役立つポイントがあります。
スピルエラー(#SPILL!)への対応
UNIQUE関数の結果が表示される予定の範囲に、すでにデータが入力されていると、数式が展開できずに「#SPILL!」というエラーが表示されます。
このエラーが出た場合は、抽出結果が展開されるための十分な空白セルがあるかを確認します。邪魔になっているデータを移動したり削除したりすると、エラーが解消されて結果が正しく表示されます。
空白セルの扱いと「0」の非表示
指定した配列内に空白セルが含まれている場合、UNIQUE関数の抽出結果には「0」が表示されることがあります。元の表に予備の空行を含めて範囲指定している場合などに起こりやすい現象です。
これを回避するためには、FILTER関数を使って事前に空白セルを除外してからUNIQUE関数に渡すというアプローチが有効です。
他の関数との組み合わせ
UNIQUE関数は、同じくスピル機能を持つ他の関数と組み合わせることで、より高度な処理が可能になります。
SORT関数との組み合わせで並べ替え
抽出したリストを並べ替えたい場面で役立つのがSORT関数です。
=SORT(UNIQUE(A2:A50))
このように記述すると、UNIQUE関数で抽出された結果をSORT関数が受け取り、自動的に昇順で並べ替えられた状態で表示されます。データが規則的に並ぶため、リストとしての実用性が高まります。
FILTER関数との組み合わせで条件付き抽出
特定の条件を満たすデータの中から、重複のないリストを作りたい場合は、FILTER関数と組み合わせます。
たとえば、C列のステータスが「完了」となっているデータのうち、A列の担当者名から重複を省いたリストを作成する形です。
=UNIQUE(FILTER(A2:A50, C2:C50=”完了”))
FILTER関数で条件に合うデータだけを絞り込み、その結果をUNIQUE関数に渡すことで、目的に合ったスマートなリストが完成します。
まとめ
ExcelのUNIQUE関数を使用することで、手作業で行っていた重複排除の作業を自動化し、データの更新にも柔軟に対応できるようになります。
基本的な配列の指定から始まり、複数列での比較や、SORT関数・FILTER関数との連携まで、幅広いシーンで応用できる便利な関数です。日々のデータ集計や名簿整理、マスターデータの作成場面でこの機能を取り入れることで、作業の効率化に繋がります。