リテラアップダウンロード

UNIQUE関数の使い方|重複なしのデータをリストにまとめる方法

UNIQUE関数の使い方

Excel(エクセル)のUNIQUE関数の使い方を紹介します。

重複したデータがある場合、手動でチェックして削除するのは手間がかかる上にミスも起こりやすいでしょう。そんな時に役立つのがUNIQUE関数です。

リストの元データが変わっても、新しいリストにあわせて更新してくれるので効率的に重複解消することができます。

UNIQUE関数とは?

UNIQUE関数は、Microsoft365のバージョンから新たな関数として追加された関数です。

UNIQUE関数を使えば複数の値の中から、重複を取り除いたデータだけを取り出せたり、範囲内に1回しか出現しないデータを抽出することもできます。

UNIQUE関数とは

重複のあるデータ処理にとても役立つ関数ですので、ぜひ使い方を覚えましょう。

UNIQUE関数の書式

UNIQUE関数の書式

UNIQUE関数の書式は「=UNIQUE(配列,[列の比較],[回数指定])」です。列の比較や回数指定など、少し分かりづらい引数があります。詳しい指定の仕方は次の章で解説していきますので見てみましょう。

  • 第1引数:配列
  • 第2引数:列の比較
  • 第3引数:回数指定

第1引数:配列

第1引数は必須の引数で「配列」を指定します。

処理する元データを、セル範囲または配列で指定しましょう。

指定したいセル範囲をワークシート上で選択すれば、セル参照することができます。

第2引数:列の比較

第2引数は省略することも可能な引数で「列の比較」を指定します。

横(列)方向のデータを一意(重複なし)にするならば「TRUE」を、 縦(行)方向のデータを一意にするなら「FALSE」を選択します。

多くの場合は列ごとにまとめられたデータを使用するので「 FALSE : 一意の行を返す」 を使う事が多いでしょう。省略すると自動でFALSEになります。

第3引数:回数指定

第3引数も省略することが可能な引数で「列の比較」を指定します。

重複を削除する普通の一意化をするならば「FALSE」、1回しか出現しないデータのみを抽出するならば「TRUE」を指定します。

省略すると自動で「FALSE」になります。

UNIQUE関数の基本的な使い方

UNIQUE関数の基本的な使い方を、具体例を交えて紹介していきます。ここでは重複のある会員データを使用して重複のない一意のデータに整えます。

まず、整えた後の新しい表を表示させる場所を決めましょう。同じシート内でも新しいシートでもOKです。新しい表の一番左上となるセルに関数を入力します。

UNIQUE関数の基本的な使い方

例ではセルG4に「=UNIQUE(B4:E15)」と入力します。列ごとにまとまったデータが入っているので第2引数は省略し、重複を削除したいので第3引数も省略しています。

UNIQUE関数の基本的な使い方

これで重複していたデータが削除され、一意の会員データが作成できました。別シートに一意のデータを作成する時も、同じ手順で新しいシートにUNIQUE関数を入力すればOKです。

UNIQUE関数の基本的な使い方

UNIQUE関数の応用的な使い方

それでは少し応用的なUNIQUE関数の使い方を紹介しましょう。重複がなく1度しか出てこないデータを抽出したり、複数列にまたがるデータから重複なしの項目を抽出したりします。

  • 重複がない(1つしかない)データを抽出する方法
  • 複数列を範囲指定して重複なしのデータを抽出する方法

重複がない(1つしかない)データを抽出する方法

重複があるデータの中で、1つしか出現していないデータを抽出してみましょう。

まず重複しているものと重複なしのものが混ざっているデータを用意します。具体例として、あるサイトにアクセスしたユーザーのデータを用いて説明します。

重複がない(1つしかない)データを抽出する方法

次に重複がないデータを抽出したいセルを選択してUNIQUE関数を入力していきます。第1引数にはIDの範囲を指定します。またここでは重複がないデータを抽出したいので、第3引数を「TRUE」と指定します。

例では「=UNIQUE(B3:B14,,TRUE)」となります。第2引数を省略して第3引数のみ入力する場合、カンマ「,」を2つ入力することに注意しましょう。

重複がない(1つしかない)データを抽出する方法

これで重複がないデータのみ抽出されました。

重複がない(1つしかない)データを抽出する方法

複数列を範囲指定して重複なしのデータを抽出する方法

次に複数列の範囲を指定して、指定した全ての項目(全ての列)において重複がないデータ群を抽出する方法を解説します。

先ほどと同じユーザーデータを用いて進めていきましょう。抽出したデータを表示させたい箇所に、元データと同じ項目ラベルを作成します。

複数列を範囲指定して重複なしのデータを抽出する方法

一番左端のセルにUNIQUE関数を入力します。この時、第1引数には表示させたい列全てを入力するようにしてください。例では「=UNIQUE(B3:E14,,TRUE)」となります。

複数列を範囲指定して重複なしのデータを抽出する方法

関数が入力できたら「Enter」キーを押しましょう。これで指定した項目全てにおいて重複がないデータのみ抽出されました。

複数列を範囲指定して重複なしのデータを抽出する方法

今回のように複数列を指定する場合、ある列の項目では重複していても別の列の項目で重複していなければ、そのデータは固有の値とみなされますので注意しましょう。

UNIQUE関数はExcel2019やExcel2013では使えない

UNIQUE関数はスピルで登場した新しい関数です。Microsoft365、Excel2021でのみ使用可能で、Excel2019やExcel2013では使えませんのでご注意ください。

UNIQUE関数が使用できない場合は、フィルタの詳細設定や重複の削除機能を使ったり、COUNTIF関数で重複を判定して重複を削除することができます。

UNIQUE関数と他の関数を組み合わせる使い方

UNIQUE関数は、他の関数を組み合わせるとより高度な集計表やリスト作成が可能になります。スピルの特性をうまく活かして、大量のデータも効率的に集計できるようになりましょう。

  • UNIQUE関数とSORT関数を組み合わせる使い方
  • UNIQUE関数とSUMIF関数を組み合わせる使い方

UNIQUE関数とSORT関数を組み合わせる使い方

まずは、UNIQUE関数にSORT関数を組み合わせてデータを見やすいように並べ替える方法を紹介します。

SORT関数とは、指定した範囲のデータを並び替えて取り出す関数で書式は「=SORT(範囲,[並べ替えインデックス],[順序],[並べ替え基準])」となります。

まず、昇順や降順などに並べ替えたいデータを用意しましょう。並べ替えたデータを表示したいセルに「=UNIQUE(C3:C10)」と入力します。すると、重複なしの得点データが抽出されます。

UNIQUE関数とSORT関数を組み合わせる使い方

次にSORT関数の設定をしていきます。先ほど入力したUNIQUE関数の箇所を「=SORT(UNIQUE(C3:C10),,-1))」と書き換えましょう。

第3引数には昇順「1」か降順「-1」の指定をします。例ではランキングを作成したいので「降順」で並べ替えるために「-1」を指定しています。

UNIQUE関数とSORT関数を組み合わせる使い方

これで重複のない点数順位がランキング順に並べ替えられました。

UNIQUE関数とSORT関数を組み合わせる使い方

UNIQUE関数とSUMIF関数を組み合わせる使い方

次にSUMIF関数と組み合わせた使い方を見てみましょう。SUMIF関数は指定した条件を満たすデータのみの数値を合計する関数です。書式は「=SUMIF(範囲,検索条件,[合計範囲])」となります。

例ではゲームの記録表を使って、プレイヤーごとの得点を求めます。画像のようなデータと表を作成しましょう。

UNIQUE関数とSUMIF関数を組み合わせる使い方

セルE3にUNIQUE関数を入力します。これで得点をしたプレイヤー名を重複なしに抽出します。

UNIQUE関数とSUMIF関数を組み合わせる使い方

次に、セルF3に「=SUMIF(B3:B10,E3#,C3:C10)」と入力します。

関数の中身としては、検索対象「B3:B10」の範囲に「E3#」と合致するデータがあった場合、「C3:C10」の得点を合計するという内容になります。

「E3#」の「#」はスピル範囲演算子で、自動的にスピル領域全て(例ではE3~E7)を対象にしてくれます。

UNIQUE関数とSUMIF関数を組み合わせる使い方

これで各プレイヤーの得点の合計が表示されました。

UNIQUE関数とSUMIF関数を組み合わせる使い方

UNIQUE関数に関する注意点

最後に、UNIQUE関数を使用する上で注意しておきたいポイントを3つ紹介します。これらのポイントを頭の片隅におきながら、どんどんUNIQUE関数を使ってみましょう。

  • 空白セルは抽出データとして0が表示される
  • 「全角/半角」「大文字/小文字」は区別されない
  • 日付の書式は引き継がれない

空白セルは抽出データとして0が表示される

元データに空白セルがある場合、UNIQUE関数は抽出データとして「0」を返します。

例えば画像のようなリストでは、セルB5が空欄になっています。セルD3に「=UNIQUE(B2:B8)」と入力し、「Enter」キーを押すと元々空欄だったセルは「0」という表示になって返されます。

空白セルは抽出データとして0が表示される

このように「0」ではなく、空白セルのまま表示させたい場合の対処方法を紹介します。

セルD3に「=UNIQUE(B2:B8)&””」と入力しましょう。「&””」を入れることで、抽出したデータの後に空白「””」を入れるという意味になります。

このように指定すれば元データが空欄であった場合、抽出結果に「””」で指定した空白が表示されるため「0」を回避して空白セルを返すことができます。

空白セルは抽出データとして0が表示される

「全角/半角」「大文字/小文字」は区別されない

UNIQUE関数では、全角と半角、大文字と小文字は区別されません。例えば画像のように、全角と半角の文字が入り交じったデータから抽出する際にはどちらかの文字に統一されて表示されます。

「全角/半角」「大文字/小文字」は区別されない

大文字と小文字が入り交じったデータも同様にどちらかに統一されます。これらの文字の区別が必要なデータを取り扱う場合は注意しましょう。

日付の書式は引き継がれない

UNIQUE関数は基本的に書式は引き継がれません。特に日付の書式が引き継がれないと、全く意味のない数字の羅列となってしまうので注意しましょう。

例えば日付の入ったデータをUNIQUE関数で抽出してみましょう。日付の形式が引き継がれず、全てシリアル値で表示されてしまいます。

日付の書式は引き継がれない

例のように抽出するデータが全て日付の場合は、列全体に日付の書式を設定してしまえばOKです。

列全体を全て選択状態にし、「ホーム」タブの「数値」にある「数値の書式」から「日付形式」を選択しましょう。これでシリアル値になってしまっても、改めて日付の表示に戻すことができます。列全体の書式を設定しておけばデータ数が増減しても対応可能です。

日付の書式は引き継がれない

UNIQUE関数についておさらい

UNIQUE関数はMicrosoft365から新設された関数で、引数の内容も少し取りつきにくいかもしれません。しかしUNIQUE関数はスピルの特性を有しており、慣れてくると非常に便利な関数です。

UNIQUE関数が使用できない場合でも、次のような従来の機能を用いて代用が可能ですので覚えておくと便利でしょう。

  • 重複の削除機能
  • フィルタの詳細設定
  • COUNTIF関数で重複を判定

それぞれ長所短所がありますので、目的に合わせていずれかの方法を使用してみてください。

リテラアップアプリのご利用について、法人の方は下記フォームよりお問い合わせください。

(Excel,WordなどOffice製品やPC関連の技術的な質問にはお答えできかねます。ご了承ご了承ください。)