GoogleスプレッドシートのUNIQUE関数を使えば、大量のデータの中から簡単に一意のデータを抽出できます。今回はUNIQUE関数の基本的な使い方や、UNIQUE関数に複数の離れた列または範囲を指定する方法をご紹介するので、ぜひ参考にしてみてください。
UNIQUE関数の使い方
UNIQUE関数はスプレッドシートやMicrosoft 365で使える関数です。Office2016やOffice2019には対応していないので、使えない場合はバージョンをチェックしてみましょう。
UNIQUE関数とは?
UNIQUE関数は指定した「範囲」から重複する行を削除し、一意の行だけを返します。
例えば「=UNIQUE(A1:A6)」のように範囲を指定してみましょう。1行目と値が重複している、6行目の「リンゴ」は破棄されているのが分かります。
UNIQUE関数の構成要素:(範囲, [列の比較], [回数指定])
列の比較とは?
UNIQUE関数の2つ目の要素(列の比較)には、列同士のデータを比較するかを指定します。
例えばデータが行(横方向)に入力されている場合、列の比較に指定するのは「TRUE」です。列の比較を省略した場合は「FALSE」と認識され、行同士のデータを比較します。
データが列(縦方向)に入力されている場合、2つ目の要素「列の比較」は省略して構いません。
回数指定とは?
UNIQUE関数の3つ目の要素(回数指定)には、重複のない要素だけを返すかを指定します。
回数指定に「TRUE」を指定すると、例のように重複が存在するデータはすべて破棄されます。回数指定を省略した場合は「FALSE」と認識され、一意のデータを返します。
回数指定を設定する場合は列の比較に TRUE または FALSE のどちらかを指定するか、(範囲, , 回数指定)のようにカンマを打ってスキップしてください。
UNIQUE関数に複数列または範囲を指定する方法
UNIQUE関数の範囲に離れた複数列を指定するには、配列を使用します。
まず ={列1;列2;列3} のように、中括弧内に列をセミコロン(;)で区切りながら指定してください。指定した複数の列は、例のように1列に並びます。
Excelでは複数範囲の指定が使えないので、ほかの関数と組み合わせる必要があります。
次に、1列にまとめたデータを UNIQUE関数 の範囲に指定します。
例えば UNIQUE({A2:A6;C2:C6}) なら、先に指定した範囲から順に一意のデータを返します。
離れた複数行を指定する場合は、中括弧内に行をカンマ(,)で区切りながら入力してください。
行(横方向)に入力されたデータは列の比較に TRUE を指定する必要があるので、UNIQUE({B1:E1,B3:E3},TRUE) のようになります。
UNIQUE関数で空白を除外する方法
まずFILTER関数で空白を除く行にフィルタ処理し、UNIQUE関数で重複を除外します。
ノットイコールを表す比較演算子は <> です。例えば UNIQUE(FILTER(A2:A,A2:A<>””)) なら、指定の範囲から空白を除く一意のデータを抽出します。
FILTER関数の構成要素:(範囲, 条件1, [条件2, …])