Excelで大量のデータの中から、重複しない値だけを抜き出したい場面はありませんか。
例えば、顧客リストからユニークな会社名だけを抽出したり、アンケート回答からユニークな意見だけをリストアップしたりする際に便利です。
本記事では、ExcelのUNIQUE関数を使って、重複しない一意の値を簡単に抽出する方法を解説します。
この関数を使いこなせば、データ整理の効率が格段に向上します。
【要点】Excelで重複しない一意の値を抽出するUNIQUE関数の使い方
- UNIQUE関数: 指定した範囲から重複しない一意の値を抽出して返します。
- 引数: 配列(必須)と、行または列で一意の値のみを返すオプション(省略可)を指定します。
- 活用例: 住所録からユニークな都道府県を抽出したり、商品リストからユニークな商品名を抽出したりできます。
ADVERTISEMENT
目次
UNIQUE関数の基本仕様とできること
UNIQUE関数は、Microsoft 365のExcelや、Excel for the webで利用できる動的配列関数の一つです。指定した配列(セル範囲や配列定数)から、重複する値を除いた一意の値だけを返します。
この関数は、元のデータが更新されると、抽出結果も自動的に更新されるという特徴を持っています。これにより、常に最新の一意の値リストを維持できます。
例えば、商品リストからユニークな商品名を抽出したい場合、UNIQUE関数を使えば、手作業で重複を削除する手間が省けます。また、抽出されたリストは常に最新の状態に保たれるため、データ管理が非常に楽になります。
UNIQUE関数の基本的な使い方
- UNIQUE関数を入力する
一意の値を表示したいセルを選択します。数式バーに「=UNIQUE(」と入力します。 - 配列を指定する
抽出したい重複する値が含まれるセル範囲を、マウスでドラッグするか、セル参照を入力して指定します。例えば、A1セルからA10セルまでを対象にする場合は「A1:A10」と入力します。 - 閉じ括弧を入力して確定する
数式バーの閉じ括弧「)」を入力し、Enterキーを押します。
これで、指定した範囲から重複しない一意の値が、選択したセルから下方向(または右方向)に自動的に展開表示されます。この現象を「スピル」と呼びます。
例えば、A1:A10の範囲に「りんご」「みかん」「りんご」「ぶどう」「みかん」と入力されている場合、UNIQUE関数を入力したセルには「りんご」「みかん」「ぶどう」と表示されます。
UNIQUE関数と引数で抽出結果を操作する
UNIQUE関数には、配列の他にオプションの引数を指定することで、抽出結果をさらに細かく制御できます。
行のみ、または列のみで一意の値を抽出する
UNIQUE関数の2番目の引数「by_col」は、配列をどのように比較するかを指定します。この引数を省略するか「FALSE」を指定すると、配列全体を1つの列として扱い、行ごとに重複がないかを確認します。
一方、「TRUE」を指定すると、配列全体を1つの行として扱い、列ごとに重複がないかを確認します。これは、横方向に並んだデータから一意の値を抽出したい場合に便利です。
例えば、A1:C3の範囲に以下のようなデータがあるとします。
| A | B | C |
|---|---|---|
| りんご | みかん | りんご |
| ぶどう | もも | ぶどう |
| りんご | みかん | なし |
この場合、=UNIQUE(A1:C3)と入力すると、以下のような結果がスピルされます。
| A | B | C |
|---|---|---|
| りんご | みかん | りんご |
| ぶどう | もも | ぶどう |
| なし |
しかし、=UNIQUE(A1:C3,,TRUE)のようにby_col引数をTRUEにすると、列ごとに重複を判断します。
| A | B | C |
|---|---|---|
| りんご | みかん | りんご |
| ぶどう | もも | ぶどう |
| なし |
この場合、A列からは「りんご」「ぶどう」「なし」、B列からは「みかん」「もも」、C列からは「りんご」「ぶどう」が抽出されます。by_col引数をTRUEにすると、配列全体が1つの行として扱われ、列ごとに重複がないかを確認するため、結果が異なります。
重複する値の出現回数を指定して抽出する
UNIQUE関数の3番目の引数「exactly_once」は、重複する値のうち、何回出現した値だけを抽出するかを指定します。この引数を「TRUE」に設定すると、一度だけ出現する(重複しない)値のみを抽出します。省略した場合や「FALSE」の場合は、すべてのユニークな値を抽出します。
先ほどのA1:C3の例で、=UNIQUE(A1:C3,,FALSE)と入力すると、すべてのユニークな値(りんご、みかん、ぶどう、もも、なし)が抽出されます。これがデフォルトの動作です。
一方、=UNIQUE(A1:C3,,,TRUE)と入力すると、一度だけ出現する値のみが抽出されます。この例では、A1:C3の範囲で「なし」が一度だけ出現するため、「なし」のみが抽出されるはずです。しかし、この例では「りんご」が3回、「みかん」が2回、「ぶどう」が2回出現しています。もし、A1:C3の範囲で一度だけ出現する値があれば、それが抽出されます。
例えば、A1:A10の範囲に「りんご」「みかん」「りんご」「ぶどう」「みかん」「りんご」「ぶどう」「なし」「なし」「もも」と入力されているとします。
=UNIQUE(A1:A10)と入力すると、「りんご」「みかん」「ぶどう」「なし」「もも」が抽出されます。
=UNIQUE(A1:A10,,,TRUE)と入力すると、「もも」のみが抽出されます。これは、「もも」だけが1回しか出現していないためです。
ADVERTISEMENT
UNIQUE関数と他の関数との組み合わせ
UNIQUE関数は、他のExcel関数と組み合わせることで、さらに強力なデータ分析ツールとなります。ここでは代表的な組み合わせを紹介します。
SORT関数と組み合わせて昇順・降順に並べ替える
UNIQUE関数で抽出した一意の値のリストは、そのままでは元のデータの並び順や、Excelの自動的な並び順になります。これを、特定の順序で並べ替えたい場合は、SORT関数と組み合わせます。
例えば、A1:A10の範囲からユニークな値を抽出し、それを昇順に並べ替えたい場合は、以下の数式を入力します。
=SORT(UNIQUE(A1:A10))
この数式は、まずUNIQUE関数でA1:A10の範囲から一意の値を抽出し、その結果をSORT関数で昇順に並べ替えます。降順にしたい場合は、SORT関数の第2引数に-1を指定します。
=SORT(UNIQUE(A1:A10),-1)
FILTER関数と組み合わせて条件に合う一意の値を抽出する
特定の条件に合致するデータだけから、さらに一意の値を抽出したい場合は、FILTER関数とUNIQUE関数を組み合わせます。
例えば、A列に商品名、B列にカテゴリーが入っているデータ(A1:B10)で、「カテゴリー」が「果物」である商品名の中から、ユニークなものを抽出したいとします。
=UNIQUE(FILTER(A1:B10,B1:B10=”果物”))
この数式は、まずFILTER関数でB列が「果物」である行のA列(商品名)を抽出します。次に、UNIQUE関数でその結果から重複しない値だけを抽出します。FILTER関数は、条件に合うデータがない場合にエラーを返すことがあるため、IFERROR関数と組み合わせることも一般的です。
=IFERROR(UNIQUE(FILTER(A1:B10,B1:B10=”果物”)),”該当なし”)
COUNTA関数と組み合わせてユニークな値の数を数える
データの中から重複しない値がいくつあるかを知りたい場合は、COUNTA関数とUNIQUE関数を組み合わせます。
=COUNTA(UNIQUE(A1:A10))
この数式は、UNIQUE関数で重複しない値のリストを作成し、COUNTA関数でそのリストのセルの数を数えます。これにより、データ全体に含まれるユニークな項目の総数を簡単に把握できます。
UNIQUE関数が利用できない場合と代替策
UNIQUE関数は、比較的新しい関数であるため、すべてのExcelバージョンで利用できるわけではありません。お使いのExcelのバージョンによっては、この関数が存在しない場合があります。
Excelのバージョンを確認する
UNIQUE関数は、Excel for Microsoft 365、Excel 2021以降で利用可能です。Excel 2019以前のバージョンでは、この関数は搭載されていません。
代替策1:重複の削除機能を使う
UNIQUE関数が使えない環境では、Excelの標準機能である「重複の削除」機能を利用するのが最も簡単な代替策です。
- 対象範囲を選択する
重複しない値だけを抽出したいデータ範囲を選択します。 - 「重複の削除」機能を開く
「データ」タブの「データツール」グループにある「重複の削除」をクリックします。 - 列を選択して実行する
「列」ダイアログボックスが表示されるので、重複を削除したい列にチェックを入れて「OK」をクリックします。
この機能は、選択した範囲から重複する値を持つ行を削除し、一意の値だけを残します。ただし、この操作は元のデータを直接変更してしまうため、作業前にデータのバックアップを取るか、コピーしたデータに対して実行することをお勧めします。
代替策2:FILTER関数とCOUNTIF関数を組み合わせる(配列数式)
Excel 2019以前のバージョンでも、FILTER関数とCOUNTIF関数を組み合わせた配列数式(CSE数式)を使うことで、同様の処理を実現できます。
例えば、A1:A10の範囲から重複しない値を抽出する場合、まず空のセルに以下の数式を入力します。
=FILTER(A1:A10,COUNTIF(OFFSET(A$1,0,0,ROW(A1)-ROW(A$1)+1),A1:A10)=1)
この数式を入力した後、Ctrl+Shift+Enterキーを同時に押して確定します(CSE数式)。これにより、配列数式として認識され、重複しない値が抽出されます。
この方法は、UNIQUE関数に比べて数式が複雑になり、理解しにくいというデメリットがあります。また、Excel 2019以前のバージョンでは、動的配列機能がないため、結果がスピルせず、手動で数式をコピーペーストする必要があります。
UNIQUE関数使用時の注意点とよくある質問
UNIQUE関数は非常に便利ですが、いくつか注意しておきたい点や、よくある質問があります。
スピル範囲にデータがあるとエラーになる
UNIQUE関数は、結果を複数のセルに自動的に展開(スピル)します。もし、UNIQUE関数を入力したセルの下や右側に、すでにデータが入っている場合、「スピル範囲にデータがあります」というエラー(#SPILL!エラー)が発生します。このエラーを解消するには、スピル範囲に重なっているデータを削除するか、UNIQUE関数を入力するセルを変更してください。
大文字・小文字は区別されない
UNIQUE関数は、文字列の大文字と小文字を区別しません。例えば、「Apple」と「apple」は同じ値として扱われ、どちらか一方のみが抽出されます。
空白セルやエラー値の扱い
UNIQUE関数は、配列内に空白セルやエラー値が含まれている場合も、それらを一意の値として抽出します。例えば、空白セルも1つの「ユニークな値」としてリストに含まれることがあります。エラー値も同様に抽出されます。
もし、空白セルや特定のエラー値を除外したい場合は、FILTER関数やIFERROR関数と組み合わせて、事前に除外処理を行う必要があります。
UNIQUE関数で抽出したリストを編集したい場合
UNIQUE関数によってスピルされたリストは、個々のセルを直接編集しようとするとエラーになります。リスト全体を編集したい場合は、UNIQUE関数の数式が入力されている元のセルを編集する必要があります。リストの一部だけを削除したい場合は、UNIQUE関数そのものを削除するか、スピル範囲全体を削除する必要があります。
UNIQUE関数とVLOOKUP/XLOOKUP関数の使い分け
UNIQUE関数は、データから一意のリストを作成するのに役立ちますが、そのリストを使って情報を検索したい場合は、VLOOKUP関数やXLOOKUP関数と組み合わせて使用します。
| 機能 | UNIQUE関数 | VLOOKUP関数 | XLOOKUP関数 |
|---|---|---|---|
| 主な目的 | 重複しない値のリスト作成 | 範囲の左端列で値を検索し、同じ行の別列の値を取得 | 範囲内で値を検索し、対応する値を取得(より高機能) |
| 返り値 | 一意の値の配列 | 検索値が見つかった行の指定列の値 | 検索値が見つかった列の対応する値 |
| 検索方向 | 該当なし | 左から右のみ | 双方向(左右) |
| 重複の扱い | 重複を排除する | 最初に見つかった値を返す | 最初に見つかった値を返す(または複数返せる) |
| Excelバージョン | Microsoft 365, 2021以降 | 全バージョン | Microsoft 365, 2021以降 |
UNIQUE関数は、まずデータソースからユニークなリストを作成し、そのリストをVLOOKUP関数やXLOOKUP関数の検索値として使用することで、より高度なデータ分析が可能になります。
まとめ
本記事では、ExcelのUNIQUE関数を使って、重複しない一意の値を効率的に抽出する方法を解説しました。
UNIQUE関数を使えば、面倒な手作業で重複を削除する手間が省け、常に最新の一意の値リストを自動で維持できます。
さらに、SORT関数やFILTER関数と組み合わせることで、データの並べ替えや条件付き抽出も容易になります。
お使いのExcelバージョンでUNIQUE関数が利用できない場合でも、「重複の削除」機能や、FILTER関数とCOUNTIF関数を組み合わせた配列数式で代替可能です。
ぜひUNIQUE関数を活用して、Excelでのデータ整理・分析業務の効率化を図ってみてください。
ADVERTISEMENT
超解決 Excel・Word研究班
企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。
Office・仕事術の人気記事ランキング
- 【Outlook】宛先が「オートコンプリート」に出ない・間違っている時の修正手順|履歴の削除と再構築
- 【Outlook】メールの受信が数分遅れる!リアルタイムで届かない時の同期設定と送受信グループ設定
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Excel】矢印キーで「セルが動かず画面がスクロールする」!ScrollLockの解除方法(ノートPC対応)
- 【Outlook】「メール送信を5分遅らせる」設定!誤送信を防ぐ最強のディレイ機能
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Outlook】予定表の「祝日」が表示されない!最新カレンダーの追加と二重表示の修正手順
- 【Teams】会議の「参加者リスト」を出席後にダウンロードする!誰が参加したか確認する手順
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Excel】文字がセルの枠からはみ出す・隠れる!「折り返して表示」と「縮小して全体を表示」の使い分け
