ExcelのUNIQUE関数は、データセットより重複を排除して、一意の値のみを抽出したい場合に便利なツールです。特に、大規模なデータを扱う際に、重複の排除を手動で行うのは非常に手間がかかり、かつエラー発生の要因にもなり得ます。
この記事では、簡単に重複の排除を行うことができるUNIQUE関数の基本的な使い方から、実践的な応用例までを幅広く解説します。具体的な使用例や他の重複排除方法と比較することで、UNIQUE関数の「活用メリットや効果的な活用方法が理解しやすい内容となっています。
チャット一括管理アプリ「OneChat」が今なら初月無料!!
OneChatのダウンロードはこちらから
UNIQUE関数の基本
UNIQUE関数の基本について理解しましょう。
UNIQUE関数とは?
UNIQUE関数とは、Excelでデータセットより重複を排除して、一意の値のみを抽出するために用いられる関数です。この関数を用いることで、大量のデータより重複している値を簡単に排除することが可能となり、必要な情報のみを抽出することができます。
基本的な構文と使用方法
UNIQUE関数の基本的な構文と使用方法について紹介します。
UNIQUE関数の基本的な構文は次の通りです。
=UNIQUE(配列, [列の比較], [回数指定])
簡単な例を用いた使用方法について紹介します。
例:単一列より重複データを除去する
以下のデータセットより重複している値を排除します。
行\列 | A |
1 | Apple |
2 | Banana |
3 | Cherry |
4 | Banana |
5 | Cherry |
6 | Cherry |
7 | Dates |
8 | Dates |
9 | Elderberry |
10 | Apple |
上記データセットより重複している値を排除するための数式は次の通りです。
=UNIQUE(A1:A10)
この数式では、「A1」セルから「A10」セルの内、重複している値を排除して、一意の値を取り出します。
上記数式を任意のセル(例:B1)に入力した場合の結果は次の通りです。
行\列 | B |
1 | Apple |
2 | Banana |
3 | Cherry |
4 | Dates |
5 | Elderberry |
UNIQUE関数の引数の説明
UNIQUE関数の各引数について詳しくみていきましょう。
引数 | 説明 |
配列 | 重複を取り除きたいデータが入力されている範囲を指定します。 |
列の比較 | 行単位でのデータ評価を行うか、列単位でのデータ評価を行うかを指定します。この値はTRUE、またはFALSEにより指定します。TRUEを指定すると行単位での評価、FALSEを指定すると列単位での評価となります。 |
回数指定 | データ内に一度のみ現れる値を抽出するか、すべての一意の値を抽出するかを指定します。この値はTRUE、またはFALSEにより指定します。TRUEを指定するとデータ内に一度のみ現れる値の抽出、FALSEを指定するとすべての一意の値の抽出となります。 |
UNIQUE関数の具体的な使用例
UNIQUE関数の具体的な使用方法についていくつか紹介します。
重複データの除去
例:単一列より重複データを除去する
以下のデータセットより重複している値を排除します。
行\列 | A |
1 | Apple |
2 | Banana |
3 | Cherry |
4 | Banana |
5 | Cherry |
6 | Cherry |
7 | Dates |
8 | Dates |
9 | Elderberry |
10 | Apple |
上記データセットより重複している値を排除するための数式は次の通りです。
=UNIQUE(A1:A10)
この数式では、「A1」セルから「A10」セルの内、重複している値を排除して、一意の値を取り出します。
上記数式を任意のセル(例:B1)に入力した場合の結果は次の通りです。
行\列 | B |
1 | Apple |
2 | Banana |
3 | Cherry |
4 | Dates |
5 | Elderberry |
異なる列のユニークな値の取得
異なる列のユニークな値の取得について具体例を用いてみていきましょう。
例①:重複データを行単位で除去する
以下のデータセットより行単位で重複している値を排除します。
行\列 | A | B |
1 | 101 | Apple |
2 | 102 | Banana |
3 | 103 | Cherry |
4 | 102 | Banana |
5 | 103 | Cherry |
6 | 103 | Dates |
7 | 104 | Elderberry |
8 | 104 | Elderberry |
9 | 105 | Fig |
10 | 101 | Apple |
上記データセットより行単位で重複している値を排除するための数式は次の通りです。
=UNIQUE(A1:B10)
この数式では、「A1」セルから「B10」セルの内、行単位で重複している値を排除して、一意の値を取り出します。
上記数式を任意のセル(例:C1)に入力した場合の結果は次の通りです。
行\列 | C | D |
1 | 101 | Apple |
2 | 102 | Banana |
3 | 103 | Cherry |
4 | 103 | Dates |
5 | 104 | Elderberry |
6 | 105 | Fig |
例②:重複データを列単位で除去する
以下のデータセットより列単位で重複している値を排除します。
行\列 | A | B | C |
1 | 101 | Apple | 100 |
2 | 102 | Banana | 200 |
3 | 103 | Cherry | 100 |
4 | 102 | Banana | 200 |
5 | 103 | Cherry | 300 |
6 | 103 | Dates | 300 |
7 | 104 | Elderberry | 100 |
8 | 104 | Elderberry | 200 |
9 | 105 | Fig | 300 |
10 | 101 | Apple | 200 |
上記データセットより列単位で重複している値を排除するための数式は次の通りです。
=UNIQUE(A1:C1, TRUE)
この数式では、「A1」セルから「C1」セルの内、各列に対して個別に評価を行い、一意の値を取り出します。
上記数式を任意のセル(例:D1)に入力した場合の結果は次の通りです。
行\列 | D | E | F |
1 | 101 | Apple | 100 |
2 | 102 | Banana | 200 |
3 | 103 | Cherry | 300 |
4 | 104 | Dates | |
5 | 105 | Elderberry | |
6 | Fig |
条件付きでユニークな値を取得する方法
条件付きでユニークな値を取得する方法について具体例を用いてみていきましょう。
例①:FILTER関数と組み合わせて条件を設定し、一意の値を取得する
行\列 | A | B | C |
1 | 商品名 | カテゴリ | 売上 |
2 | A | 食品 | 100 |
3 | B | 文房具 | 200 |
4 | C | 食品 | 150 |
5 | D | 文房具 | 200 |
6 | E | 衣料 | 100 |
7 | F | 食品 | 300 |
7 | G | 衣料 | 150 |
8 | H | 食品 | 100 |
9 | I | 文房具 | 300 |
10 | J | 食品 | 200 |
上記データセットより、カテゴリが食品に該当する商品名の一意な値の抽出をFILTER関数と組み合わせることにより行います。この場合の数式は次の通りです。
=UNIQUE(FILTER(A2:A11, B2:B11=”食品”))
この数式では、「FILTER(A2:A11, B2:B11=”食品”)」で「B2」セルから「B11」セルに入力されているカテゴリの内、「食品」に該当する商品名のリストを返します。UNIQUE関数は、FILTER関数で抽出した値から一意の値のみを取り出します。
上記数式を任意のセル(例:D1)に入力した場合の結果は次の通りです。
行\列 | D |
1 | A |
2 | C |
3 | F |
4 | H |
5 | J |
例②:複数の条件を組み合わせて一意の値を取得する
行\列 | A | B | C |
1 | 商品名 | カテゴリ | 売上 |
2 | A | 食品 | 100 |
3 | B | 文房具 | 200 |
4 | C | 食品 | 150 |
5 | D | 文房具 | 200 |
6 | E | 衣料 | 100 |
7 | F | 食品 | 300 |
7 | G | 衣料 | 150 |
8 | H | 食品 | 100 |
9 | I | 文房具 | 300 |
10 | J | 食品 | 200 |
上記データセットより、カテゴリが「食品」、かつ売上が「200以上」に該当する商品名の一意な値を抽出を行います。この場合の数式は次の通りです。
=UNIQUE(FILTER(A2:A11, (B2:B11=”食品”) * (C2:C11>=200)))
この数式では、「FILTER(A2:A11, (B2:B11=”食品”) * (C2:C11>=200))」でカテゴリが「食品」である、かつ売上の値が「200以上」に該当する商品名のリストを返します。UNIQUE関数は、FILTER関数で抽出した値から一意の値のみを取り出します。
上記数式を任意のセル(例:D1)に入力した場合の結果は次の通りです。
行\列 | D |
1 | F |
2 | J |
例③:他の条件付きフィルタとの組み合わせ
行\列 | A | B | C | D |
1 | 商品名 | カテゴリ | 地域 | 売上 |
2 | A | 食品 | 東日本 | 100 |
3 | B | 文房具 | 西日本 | 200 |
4 | C | 食品 | 東日本 | 150 |
5 | D | 文房具 | 東日本 | 200 |
6 | E | 衣料 | 西日本 | 100 |
7 | F | 食品 | 西日本 | 300 |
7 | G | 衣料 | 東日本 | 150 |
8 | H | 食品 | 西日本 | 100 |
9 | I | 文房具 | 西日本 | 300 |
10 | J | 食品 | 東日本 | 200 |
上記データセットより、カテゴリが「食品」、かつ地域が「東日本」に該当する商品名を抽出します。この場合の数式は次の通りです。
=UNIQUE(FILTER(A2:A11, (B2:B11=”食品”) * (C2:C11=”東日本”)))
この数式では、「FILTER(A2:A11, (B2:B11=”食品”) * (C2:C11=”東日本”)) 」でカテゴリが「食品」かつ、地域が「東日本」に該当する商品名のリストを返します。UNIQUE関数は、FILTER関数で抽出した値から一意の値のみを取り出します。
上記数式を任意のセル(例:E1)に入力した場合の結果は次の通りです。
行\列 | E |
1 | A |
2 | C |
3 | J |
応用編:複数の条件でUNIQUE関数を使用する
複数の条件を指定してUNIQUE関数を使用する方法について紹介します。
複数の条件を指定する方法
UNIQUE関数単体では、直接複数の条件を指定して用いることはできません。そのため、UNIQUE関数を複数の条件を指定して使用したい場合は、他の関数と組み合わせる必要があります。
他の関数と組み合わせた使用例
複数の条件を指定してUNIQUE関数を使用したい場合は、FILTER関数と組み合わせると良いでしょう。具体的な使用例について解説します。
例①:FILTER関数と組み合わせて条件を設定し、一意の値を取得する
行\列 | A | B | C |
1 | 商品名 | カテゴリ | 売上 |
2 | A | 食品 | 100 |
3 | B | 文房具 | 200 |
4 | C | 食品 | 150 |
5 | D | 文房具 | 200 |
6 | E | 衣料 | 100 |
7 | F | 食品 | 300 |
7 | G | 衣料 | 150 |
8 | H | 食品 | 100 |
9 | I | 文房具 | 300 |
10 | J | 食品 | 200 |
上記データセットより、カテゴリが食品に該当する商品名の一意な値の抽出をFILTER関数と組み合わせることにより行います。この場合の数式は次の通りです。
=UNIQUE(FILTER(A2:A11, B2:B11=”食品”))
この数式では、「FILTER(A2:A11, B2:B11=”食品”)」で「B2」セルから「B11」セルに入力されているカテゴリの内、「食品」に該当する商品名のリストを返します。UNIQUE関数は、FILTER関数で抽出した値から一意の値のみを取り出します。
上記数式を任意のセル(例:D1)に入力した場合の結果は次の通りです。
行\列 | D |
1 | A |
2 | C |
3 | F |
4 | H |
5 | J |
例②:複数の条件を組み合わせて一意の値を取得する
行\列 | A | B | C |
1 | 商品名 | カテゴリ | 売上 |
2 | A | 食品 | 100 |
3 | B | 文房具 | 200 |
4 | C | 食品 | 150 |
5 | D | 文房具 | 200 |
6 | E | 衣料 | 100 |
7 | F | 食品 | 300 |
7 | G | 衣料 | 150 |
8 | H | 食品 | 100 |
9 | I | 文房具 | 300 |
10 | J | 食品 | 200 |
上記データセットより、カテゴリが「食品」、かつ売上が「200以上」に該当する商品名の一意な値を抽出を行います。この場合の数式は次の通りです。
=UNIQUE(FILTER(A2:A11, (B2:B11=”食品”) * (C2:C11>=200)))
この数式では、「FILTER(A2:A11, (B2:B11=”食品”) * (C2:C11>=200))」でカテゴリが「食品」である、かつ売上の値が「200以上」に該当する商品名のリストを返します。UNIQUE関数は、FILTER関数で抽出した値から一意の値のみを取り出します。
上記数式を任意のセル(例:D1)に入力した場合の結果は次の通りです。
行\列 | D |
1 | F |
2 | J |
例③:他の条件付きフィルタとの組み合わせ
行\列 | A | B | C | D |
1 | 商品名 | カテゴリ | 地域 | 売上 |
2 | A | 食品 | 東日本 | 100 |
3 | B | 文房具 | 西日本 | 200 |
4 | C | 食品 | 東日本 | 150 |
5 | D | 文房具 | 東日本 | 200 |
6 | E | 衣料 | 西日本 | 100 |
7 | F | 食品 | 西日本 | 300 |
7 | G | 衣料 | 東日本 | 150 |
8 | H | 食品 | 西日本 | 100 |
9 | I | 文房具 | 西日本 | 300 |
10 | J | 食品 | 東日本 | 200 |
上記データセットより、カテゴリが「食品」、かつ地域が「東日本」に該当する商品名を抽出します。この場合の数式は次の通りです。
=UNIQUE(FILTER(A2:A11, (B2:B11=”食品”) * (C2:C11=”東日本”)))
この数式では、「FILTER(A2:A11, (B2:B11=”食品”) * (C2:C11=”東日本”)) 」でカテゴリが「食品」かつ、地域が「東日本」に該当する商品名のリストを返します。UNIQUE関数は、FILTER関数で抽出した値から一意の値のみを取り出します。
上記数式を任意のセル(例:E1)に入力した場合の結果は次の通りです。
行\列 | E |
1 | A |
2 | C |
3 | J |
UNIQUE関数と他の重複排除方法の比較
UNIQUE関数と他の重複排除方法の違いについてそれぞれの観点から比較していきましょう。
手動での重複排除
Excelに備わっている機能を用いて手動での重複排除方法についてメリットとデメリットを紹介します。
①重複の削除
「重複の削除」機能を用いて重複データを手動で削除します。
メリット
- 簡単に設定可能で、GUI操作による直感的な操作が可能
- 複数のデータセットや列に対する操作を一度に可能
デメリット
- 実行後は結果が固定されるため、データが変更された場合は再度機能を実行する必要がある
- 関数やスクリプトとは異なり、機能の実行を手動で行う必要がある
②フィルター
「フィルター」機能を用いて重複データを非表示にします。
メリット
- 「フィルター」機能のオプションより「重複しない」フィルターを選ぶだけで適用可能
- 結果が即時反映される
デメリット
- 実行後は結果が固定されるため、データが変更された場合は再度機能を実行する必要がある
- あくまでも非表示に過ぎないので、重複データをExcelから削除することはできない
ピボットテーブルを使った重複排除
ピボットテーブルを使った重複排除方法についてメリットとデメリットを紹介します。
メリット
- 簡単にデータの分析や集計を実行可能
- 豊富なカスタマイズにより多様な表示形式や集計方法を選択可能
デメリット
- 複雑な設定が必要なため、一定の知識や習熟が求められる
- データが変更された場合に自動更新させるためには、追加の設定や手動のリフレッシュを必要とする
他のExcel関数(COUNTIF、FILTERなど)との併用
UNIQUE関数と他のExcel関数を併用した重複削除方法についてみていきましょう。
①FILTER関数と併用する
FILTER関数は、指定した条件と一致するデータを抽出してくれる関数です。この関数をUNIQUE関数と併用することにより、指定した条件と一致した一意の値のリストを作成することができます。
行\列 | A | B | C |
1 | 商品名 | カテゴリ | 売上 |
2 | A | 食品 | 100 |
3 | B | 文房具 | 200 |
4 | C | 食品 | 150 |
5 | D | 文房具 | 200 |
6 | E | 衣料 | 100 |
7 | F | 食品 | 300 |
7 | G | 衣料 | 150 |
8 | H | 食品 | 100 |
9 | I | 文房具 | 300 |
10 | J | 食品 | 200 |
上記データセットより、カテゴリが食品に該当する商品名の一意な値の抽出をFILTER関数と組み合わせることにより行います。この場合の数式は次の通りです。
=UNIQUE(FILTER(A2:A11, B2:B11=”食品”))
この数式では、「FILTER(A2:A11, B2:B11=”食品”)」で「B2」セルから「B11」セルに入力されているカテゴリの内、「食品」に該当する商品名のリストを返します。UNIQUE関数は、FILTER関数で抽出した値から一意の値のみを取り出します。
上記数式を任意のセル(例:D1)に入力した場合の結果は次の通りです。
行\列 | D |
1 | A |
2 | C |
3 | F |
4 | H |
5 | J |
②COUNTIF関数と併用する
COUNTIF関数は、指定した条件と一致するセルの数を数えてくれる関数です。この関数をUNIQUE関数と併用することにより、重複のチェックや条件に基づいたデータの抽出を行うことができます。
例:以下のデータセットより、重複回数が1回(重複なし)の値を抽出します。
行\列 | A |
1 | 商品名 |
2 | Apple |
3 | Banana |
4 | Apple |
5 | Cherry |
6 | Banana |
7 | Dates |
8 | Elderberry |
この場合の数式は次の通りです。
=UNIQUE(FILTER(A2:A8, COUNTIF(A2:A8, A2:A8) = 1))
この数式では、「COUNTIF(A2:A8, A2:A8) = 1」で各商品の出現回数のカウントを行い、その内、出現回数が1回(重複なし)のデータのみを抽出します。COUNTIF関数で抽出した値の商品名をFILTER関数で抽出し、その結果をUNIQU関数で一意の値の商品リストとして表示します。
上記数式を任意のセル(例:B1)に入力した場合の結果は次の通りです。
行\列 | B |
1 | Cherry |
2 | Dates |
3 | Elderberry |
③SORT関数と併用する
SORT関数は、指定した条件に基づいてデータを並び替えることができる関数です。この関数をUNIQUE関数と併用することにより、重複を排除した後のデータを指定した条件で並び替えることができます。
例:以下のデータセットより抽出した一意の値を昇順に並び替える
行\列 | A |
1 | 商品名 |
2 | Apple |
3 | Cherry |
4 | Apple |
5 | Elderberry |
6 | Banana |
7 | Dates |
8 | Elderberry |
この場合の数式は次の通りです。
=SORT(UNIQUE(A2:A8))
この数式では、「UNIQUE(A2:A8) 」で一意の商品名の取得を行い、その値をSORT関数で昇順に並び替えて表示します。
上記数式を任意のセル(例:B1)に入力した場合の結果は次の通りです。
行\列 | A |
1 | Apple |
2 | Banana |
3 | Cherry |
4 | Dates |
5 | Elderberry |
よくある質問
UNIQUE関数に関連するよくある質問について紹介します。
UNIQUE関数が正しく動作しない場合の対処法は?
UNIQUE関数は、一意の値を抽出する際に非常に便利な関数ですが、使用の際に正しく動作しない場合もあります。以下では、UNIQUE関数のよくある問題とその対処方法についていくつか解説します。
問題 | 考えられる原因 | 対処方法 |
結果が想定と異なる | 指定した引数が正しくない | 指定した引数が正しいかをチェックする。セル参照の場合は、参照先が正しいかをチェックしましょう。 |
複数条件においてUNIQUE関数が動作しない | UNIQUE関数の使用方法を誤っている | 条件をFILTER関数を用いて指定している場合、FILTER関数の結果に対してUNIQUE関数を適用しましょう。 |
UNIQUE関数がサポートされているExcelのバージョンは?
UNIQUE関数は、すべてのExcelのバージョンで利用することができるわけではありません。
UNIQUE関数がサポートされているExcelのバージョンについてみていきましょう。
バージョン | サポート状況 |
Microsoft 365 | ⚪️ |
Excel 2019 | ⚪️ |
Excel 2016 | × |
Excel 2013 | × |
Excel 2010 | × |
Excel 2007 | × |
Excel 2003 | × |
Excel for the Web | ⚪️ |
Excel for iPad/iPhone | ⚪️ |
Excel for Android | ⚪️ |
エラーメッセージの解決方法は?
UNIQUE関数を用いる中で、エラーメッセージが表示されることがあります。以下では、よくあるエラーメッセージとその原因、対処方法についていくつか解説します。
①#NAME?
原因:
使用しているエクセルUNIQUE関数がサポートされていない
関数のスペルを誤っている
対処方法:
Excelのバージョンをチェックし、サポート対象外のExcelの場合はサポート対象のExcelを使うか代替手段を用いる
関数名を正しく入力する
②#VALUE!
原因:
引数で指定した範囲が正しくない、サイズが一致していない
対処方法:
引数に指定している範囲が正しいかをチェックする
正しい引数が指定されているかをチェックする
③ #REF!
原因:
参照した範囲が無効である
参照先のセルが存在しない
対処方法:
引数で指定した範囲が正しく存在しているかをチェックする
参照先に削除されたセルが含まれている場合は範囲を修正する
④ #NUM!
原因:
関数の範囲や引数の設定が無効である
対処方法:
引数が正しく設定されているか、範囲のサイズが一致するかをチェックする
⑤ #SPILL!
原因:
UNIQUE関数で返される値を表示するために十分な空白のセルが存在しない
対処方法:
関数の計算結果を表示される上で十分な空白のセルを確保する
まとめ
UNIQUE関数は、Excelを用いたデータ整理や分析を行う際にとても便利な関数です。基本的な使い方を理解するだけで、簡単に重複データの排除や一意の値の抽出を行うことができます。
Excel UNIQUE関数に関する重要用語
用語 | 説明 |
重複 | 同一のデータが複数回存在することを指す |
配列 | 縦、または横に複数のデータが並んでいる集合のことを指す |