excel

【Excel】エクセル関数でユニークな値を抽出する方法(重複しないデータ・一覧・2列)

Excelでユニークな値を抽出する方法【UNIQUE関数】 - 基本数式の入力
当サイトでは記事内に広告を含みます

Excelで顧客名、商品名、担当者名などの一覧を扱うと、同じ値が何度も入力された表から重複しないデータだけを取り出したい場面があります。

そのようなときは、ExcelのUNIQUE関数を使うと、元データを残したままユニークな値の一覧を自動作成できます。

UNIQUE関数の基本式

=UNIQUE(配列)

2列の組み合わせを重複なしで抽出する場合

=UNIQUE(A2:B10)

本記事では、1列の重複削除、空白の扱い、2列の組み合わせ、並べ替えや件数集計まで、実務で役立つ関数の使い方を解説します。

 

Excelでユニークな値を抽出する方法【UNIQUE関数】

商品名 抽出結果
りんご りんご
みかん みかん
りんご ぶどう
ぶどう

それではまず、UNIQUE関数で重複しないデータを取り出す基本操作について解説していきます。

結論からいうと、抽出先の先頭セルに数式を一度入力するだけで、同じデータを除いた一覧が下方向へ自動展開されます。

サンプルではA列の1行目を見出しとし、実際のデータはA2からA10に入力されているものとして説明します。

 

基本数式の入力

Excelでユニークな値を抽出する方法【UNIQUE関数】 - 基本数式の入力

抽出結果を表示したいセルとして、たとえばC2を選択します。

C2に=UNIQUE(A2:A10)と入力し、Enterキーを押しましょう。

=UNIQUE(A2:A10)

A2からA10までにある値を確認し、同じ文字列や数値は1件だけ表示する数式です。

数式を入力したセルの下には、必要な数だけ結果が広がります。

この自動展開はスピルと呼ばれる仕組みで、通常の数式のようにコピーする必要はありません。

元のA列を編集すると、C列のユニーク一覧も連動して更新されます。

 

スピル範囲の確認

UNIQUE関数の結果が表示される範囲には、薄い枠線が表示されることがあります。

先頭のC2だけに数式があり、C3以降はC2の結果として表示されている状態です。

展開予定のセルに文字や数値が入っているとスピルエラーになるため、抽出先の列には十分な空き領域を用意してください。

エラーが出た場合は、数式の周囲にある入力済みセルを確認して、不要な内容だけを移動または削除します。

元データの件数が増えても、参照範囲内であれば一覧が自動更新される点が便利です。

【操作のポイント】UNIQUE関数は先頭セルだけに入力し、結果が展開される下側や右側を空白にしておきます。

 

対応バージョンの確認

UNIQUE関数は、動的配列に対応したMicrosoft 365やExcel 2021以降で利用できます。

古いExcelでは関数名を入力しても使えない場合があります。

その場合は、詳細設定のフィルター機能、重複の削除、ピボットテーブルなどで代用できます。

ただし、元データの変更を即座に反映したいなら、UNIQUE関数を利用できる環境が扱いやすいでしょう。

Excelのバージョンは、ファイル画面のアカウントから確認できます。

 

空白とエラーを除く重複しない一覧

担当者 抽出結果
田中 田中
佐藤
佐藤 鈴木
田中

続いては、空白セルやエラー値を含むデータから、見やすいユニーク一覧を作る方法を確認していきます。

単純なUNIQUE関数では空白も1つの値として抽出されるため、FILTER関数と組み合わせる方法が役立ちます。

 

空白を除外する数式

A列に空白が混ざっている場合は、まずFILTER関数で空白以外だけを取り出します。

=UNIQUE(FILTER(A2:A10,A2:A10<>””))

FILTER関数の最初のA2:A10は抽出対象、2つ目のA2:A10<>””は空白ではないという条件です。

この数式をC2に入力すると、空白行を表示せずに重複しない担当者名だけを一覧化できます。

目視では空白に見えても、スペースが入力されているセルは空白と判定されないことがあります。

データの品質に不安がある場合は、TRIM関数で余分な空白を整えてから処理する方法も有効です。

空白とエラーを除く重複しない一覧 - 空白を除外する数式

【操作のポイント】空白をなくしたいときは、UNIQUE関数の内側にFILTER関数を入れて条件を指定します。

 

エラー値を避ける方法

参照元に#N/Aや#VALUE!などのエラーがあると、抽出結果にもエラーが影響することがあります。

元の計算式を修正できない場合は、IFERROR関数を組み合わせて空文字に置き換えましょう。

=UNIQUE(FILTER(IFERROR(A2:A10,””),IFERROR(A2:A10,””)<>””))

この式は、エラーを空白扱いに変えたうえで、空白以外のユニーク値を表示します。

エラーを隠すだけでは原因解決にならないため、必要に応じて元データの数式や参照先も確認してください。

定期的に受け取るCSVデータなどでは、事前にエラー処理を組み込んでおくと一覧作成が安定します。

 

文字列の表記ゆれ対策

「東京」と「東京 」のように末尾スペースが異なる値は、Excelでは別のデータとして扱われます。

全角スペースと半角スペース、英字の大文字と小文字、表記の違いにも注意が必要です。

余分なスペースを削除したい場合は、TRIM関数を使います。

=UNIQUE(TRIM(A2:A10))

表記ゆれまで完全に統一するには、置換機能や入力規則も併用するとよいでしょう。

ユニーク抽出の前にデータを整えることが、正確な集計につながります。

 

2列から重複しない組み合わせを抽出する方法

都道府県 商品 抽出結果
東京都 りんご 東京都 りんご
大阪府 みかん 大阪府 みかん
東京都 りんご 東京都 ぶどう
東京都 ぶどう

続いては、2列の内容をセットとして判定し、重複しない組み合わせを抽出する方法を確認していきます。

店舗と商品、担当者と案件名のように、1列だけでは判断できない一覧に向く方法です。

 

2列範囲を指定する数式

A列に都道府県、B列に商品名があるなら、抽出先のD2へ次の数式を入力します。

=UNIQUE(A2:B10)

この式では、A列とB列の1行分をひとつの組み合わせとして比較します。

A列が同じでもB列が異なれば別の組み合わせになり、両方が同じ行だけが重複として除かれます。

2列を連結する補助列を作らなくても抽出できることが、この方法の大きな利点です。

結果はD列とE列の2列にスピル表示されるため、右側にも空白セルを確保してください。

2列から重複しない組み合わせを抽出する方法 - 2列範囲を指定する数式

【操作のポイント】2列を対象にするときは、A2:B10のように開始列から終了列までをひとつの範囲で指定します。

 

2列の空白行を除く方法

2列のどちらかが空白の行を除外したい場合は、FILTER関数の条件を追加します。

=UNIQUE(FILTER(A2:B10,(A2:A10<>””)*(B2:B10<>””)))

掛け算記号は、A列が空白ではないこととB列が空白ではないことの両方を満たす条件を表します。

たとえば都道府県だけ入力され、商品名が空欄の未完成データを一覧から除外できます。

一方で、どちらか一方が入力されていれば残したい場合は、条件の作り方を変更する必要があります。

抽出の目的に合わせて、空白を除く基準を決めましょう。

 

列順を入れ替える場合

抽出後に商品名を左、都道府県を右に表示したい場合は、元データの列順を意識します。

Microsoft 365ではCHOOSECOLS関数を使うと、表示する列を選び直せます。

=UNIQUE(CHOOSECOLS(A2:B10,2,1))

この式では、元範囲の2列目である商品名を先に、1列目である都道府県を後に並べます。

重複を判断する順番ではなく、結果の見せ方を調整するための関数として覚えておくと便利です。

 

抽出結果を並べ替えるSORT関数

元データ ユニーク抽出後 並べ替え後
みかん みかん りんご
りんご りんご ぶどう
ぶどう ぶどう みかん

続いては、重複を除いた一覧を五十音順や昇順に整えるSORT関数について確認していきます。

元データの入力順ではなく、検索しやすい順番でリストを表示したいときに便利です。

 

SORT関数との組み合わせ

C2に抽出結果を作るのではなく、最初から並べ替えた一覧を表示するには次の式を使います。

=SORT(UNIQUE(A2:A10))

UNIQUE関数が先に重複を取り除き、その結果をSORT関数が昇順で並べ替えます。

日本語の並び順は文字種や環境の影響を受けるため、表示結果を一度確認することが大切です。

数式の外側にSORT関数を置くと、処理の流れを把握しやすくなります。

【操作のポイント】重複削除と並べ替えを同時に行う場合は、SORTのかっこの中へUNIQUE関数を入れます。

 

Excel画面での数式入力

売上一覧.xlsx – Excel − □ ×
ファイル ホーム 挿入 ページ レイアウト 数式 データ 校閲 表示
貼り付け  フォント  太字 罫線 配置  並べ替えとフィルター
fx =SORT(UNIQUE(A2:A8))
A B C
1 商品名 一覧
2 みかん りんご
3 りんご ぶどう
4 ぶどう みかん
赤枠のC2に数式を入力し、Enterキーを押します 

数式バーに式を入力したら、Enterキーで確定します。

C2が選択された状態で結果が下へ広がれば、数式は正しく入力されています。

数式を編集するときはC2を選択し、数式バーで参照範囲を確認してください。

スピル範囲内のC3やC4を直接編集しようとすると変更できません。

 

降順と2列の並べ替え

降順に並べ替えたい場合は、SORT関数の3番目の引数に-1を指定します。

=SORT(UNIQUE(A2:A10),1,-1)

1は並べ替えの基準となる列番号、-1は降順を意味します。

2列の抽出結果を都道府県順にする場合も、同様に1列目を基準にできます。

元データの順番は変わらず、数式の表示結果だけが整列するため、原票を保護したい業務にも向いています。

 

ユニーク値の件数集計と活用方法

商品名 ユニーク一覧 件数
りんご りんご 3
みかん みかん 2
りんご ぶどう 1

続いては、ユニークな値を単に表示するだけでなく、件数集計や入力規則へ活用する方法を確認していきます。

重複しない一覧は、分析用の見出し、選択肢の作成、マスターデータの確認にも活用できます。

 

ユニークな件数を数える方法

重複しない値が何種類あるかだけを知りたい場合は、ROWS関数を使います。

=ROWS(UNIQUE(FILTER(A2:A10,A2:A10<>””)))

UNIQUE関数で作った一覧の行数をROWS関数が数える仕組みです。

空白を含めずに数えるため、FILTER関数も組み合わせています。

商品数、担当者数、顧客数などの種類数を簡単に把握できるでしょう。

数値だけを確認したい場合は、この式を集計用のセルへ入力します。

【操作のポイント】件数を求めるときは、UNIQUE関数の結果全体をROWS関数で囲みます。

 

各値の出現回数を数える方法

C列にユニーク一覧ができている場合、D2には次の数式を入力します。

=COUNTIF($A$2:$A$10,C2#)

C2#は、C2からスピルしている結果全体を参照する記述です。

この式により、りんごが何件、みかんが何件という出現回数も一度に表示されます。

スピル参照の#を付けると、結果の増減に自動対応できる点が重要です。

売上データやアンケート回答を集計する際は、件数とユニーク一覧を並べると状況が把握しやすくなります。

 

プルダウンリストへの利用

ユニーク一覧は、データの入力規則で作るプルダウンリストの元データにも利用できます。

たとえばC2にUNIQUE関数の結果があるなら、入力規則の元の値に=C2#を指定します。

これにより、元データに新しい商品名が追加されたとき、選択肢にも自動で反映されます。

ただし、入力規則の設定場所やExcelのバージョンによっては、スピル参照を直接受け付けない場合があります。

その場合は、名前の管理でスピル範囲に名前を付けて参照する方法を試しましょう。

 

まとめ エクセル関数でユニークな値を抽出する方法(重複しないデータ・一覧・2列)

Excelで重複しないデータを一覧化する基本は、UNIQUE関数です。

=UNIQUE(A2:A10)と入力すれば、1行目の見出しを除いたデータから同じ値を1件にまとめて表示できます。

空白を除きたい場合はFILTER関数を組み合わせ、=UNIQUE(FILTER(A2:A10,A2:A10<>””))を使います。

2列の組み合わせを抽出する場合は、=UNIQUE(A2:B10)のように2列分の範囲を指定しましょう。

さらにSORT関数を組み合わせれば、重複しない一覧を見やすい順番に並べ替えられます。

スピル範囲を空けておくこと、空白や表記ゆれを確認すること、1行目のヘッダーを参照範囲から外すことが正確な抽出のポイントです。

UNIQUE関数を活用し、手作業での重複チェックにかかる時間を減らしていきましょう。