本ページには広告が含まれています。

UNIQUE 関数 セル範囲から一意の値を取り出す

UNIQUE 関数について紹介します。
UNIQUE 関数でセル範囲の中から、重複のない一意の(ユニークな)データを取り出すことができます。取り出すデータはスピル機能で複数のセルに結果を表示します。※「スピル」についてはこちらで解説していますのでご覧ください。

くるみこ
くるみこ

今回は UNIQUE 関数です。この関数もサブスクリプション版の「Microsoft 365」アプリの「Excel for Microsoft 365」と永続ライセンス版の最新版 Excel 2021で使用できます。
UNIQUE 関数はセル範囲(配列)から重複している値を除外して一意の値を返してくれます。

関数でユニークなデータが作成できちゃうということですか?
すごく便利そうですね。今回もよろしくお願いしますm(__)m

【この記事でわかることは】
・UNIQUE 関数について使用例を使って解説します。

スポンサーリンク

UNIQUE 関数の構文

UNIQUE 関数の「数式オートコンプリート」を確認してみます。

UNIQUE関数のオートコンプリート

さらに、表示される引数の表示画像がこちらです。

UNIQUE関数入力時のオートコンプリート

UNIQUE(配列,[列の比較],[回数指定])
必須なのは「配列」だけです。その他の[]は省略可能です。

UNIQUE 関数の構文をもう少しわかりやすくしてみると次のような感じです。

【構文】

=UNIQUE(範囲(配列), [比較方向], [1回だけ])
 ※[ ]の引数は省略可能です。

引数内容
範囲または配列【必須】セル範囲(配列)を指定します
[比較方向]比較する方法を示す論理値を指定します
FALSE (省略した場合):列方向(下方向)に行単位で比較します
TRUE:行方向(右方向)に列単位で比較します
[1回だけ]範囲(配列)内で 1 回だけ出現するデータを返す論理値を指定します
FALSE (省略した場合):複数回出現するデータは1つにして取り出します
TRUE:
出現回数が1回だけのデータを取り出します(重複データを無視します)
[]表示は省略可能な引数です

UNIQUE 関数はスピル機能を使っています。実行と同時に適切なサイズの配列範囲が動的に作成されます。作成される動的配列範囲に空欄でないセルがある場合 #SPIL! エラーとなります。

UNIQUE 関数の使用例

それではさっそく使用例を見ていきましょう。

一意な店舗コードを取得する例

UNIQUE関数で一意な店舗コードを取得する例
※引数は省略せずに入力しています。

・【E2セル】引数の[回数]が FALSE として重複に無い一意のデータを抽出しています。
・【E2セル】数式は省略可能な引数を省略すれば「 =UNIQUE(B2:B13) 」だけでOKです。
・この「一意の店舗コード」を元に店舗の売り上げデータなどの集計に使うことができます。

・【G2セル】引数の[1回だけ]を TRUE (1回だけ出現)とした結果です。重複のあるデータは無視され重複が無い「A000005」だけが抽出されました。
・【G2セル】数式は省略可能な引数を省略すると「 =UNIQUE(B2:B13,,TRUE) 」となります。
・店舗コードではなく「顧客コード」などに適用することで、1回だけ購入した顧客の抽出などに活用できます。

SORT と UNIQUE を組み合わせた使用例

先ほどの使用例でE列にスピルされた店舗コードデータは元データの出現順になっています。
スピル配列データは、そのままでは並べ替えを行うことは出来ません。
SORT 関数を組み合わせることで、並べ替えてスピルさせることができます。

UNIQUE関数でSORT と UNIQUE を組み合わせた使用例

うまく並び替え出来ました。UNIQUE されたデータを SORT しています。

範囲に2つの列を指定して比較し一意の組み合わせを返す例

あらかじめ SORT 関数を組み合わせて数式をセットしています。

UNIQUE関数で、範囲に2つの列を指定して比較し一意の組み合わせを返す例

・【E2セル】二つの列の組み合わせで比較し、一意なものを返しています。
・【H2セル】二つの列の組み合わせで比較し、重複の無かったものを返しています。

この例では、列の指定は二つですがそれ以上の指定も可能です。

範囲に空白セルが存在する場合

元データの指定範囲内に空白セルがあった場合、次の画像のようになります。

UNIQUE関数で、範囲に空白セルが存在する場合

空白セルは0と表示されます。

スピルされるデータから「0」を除くことは出来ません。

空白セルを除外してから UNIQUE 関数に渡せば良さそうなのでやってみます。

UNIQUE関数で、範囲内の空白セルを除外する例

うまくいきましたね。
=SORT(UNIQUE(FILTER(B2:C14,B2:B14<>””)))
              ↑B列で “” 空白を除く指定としています。

FILTER で空白が除かれたデータを UNIQE にしています。

まとめ(おわりに)

以上、重複しない(ユニークな)データを作成する UNIQUE 関数 を使用例を使って解説しました。

くるみこ
くるみこ

手動でユニークデータを作る場合、COUNTIF関数を使って重複データを削除したりします。複数列のユニークデータを作る場合は、文字列を結合したりする手間がかかります。
UNIQUE 関数なら簡単に一発でユニークデータを作ることが出来ます。

これはすごく役立ちそうですね!
さっそく色々テストしてみたいと思います(^^♪

くるみこ
くるみこ

実は、Googleスプレッドシートにも今回使ったUNIQUE関数、FILTER関数、SORT関数があります。引数は少し違いますが、スピル機能ともに同じような動作を体感できますよ!

※「スピル」の解説についてはこちらをご覧ください。

すでに使用できるバージョンのExcelユーザーのみなさんは、いろいろ試して使い方に慣れておきましょう。職場のExcelがまだ対応していないバージョンの方も、近い将来には対応するExcelバージョンにアップグレードされるはずですから。

★★★ ブログランキング参加中! クリックしてね(^^)/ ★★★

【今後の記事について】

今回の記事はいかがだったでしょうか。皆さまのお役に立てたなら幸いです(^^;
「汎用でだれでも使えて活用できるように考えてる」というポリシーで、記事を継続して書いていきたいと思っています。どうぞよろしくお願いしますm(_ _)m

【検討中の今後の記事内容は・・・・】
・実務に役立つものを提供できるよう常に検討しています(^^ゞ
・その他雑記的に「プチネタなど」もいろいろ考えていきたいと思っています・・・・
・今後の記事にご期待ください(^^)/

スポンサーリンク

過去記事のサンプルファイルをダウンロードできます

過去の記事で使用したサンプルファイルをダウンロードできるようにページを設置していますので、こちら(このリンク先)からご利用ください