元の地域データを残し、別列に東京・大阪・福岡を出す期待値の説明図
Tutorials

スプレッドシートのUNIQUEで空白を除く方法|元データを残す3ステップ

Googleスプレッドシートで UNIQUE を使い、重複を整理した一覧に空白行が混ざっているなら、空白を一つずつ消す必要はありません。元データを残したまま、別列に一覧を作りましょう。

この記事は、パソコンのブラウザ版Googleスプレッドシートを対象にした数式例です。英語の関数名と半角カンマを使います。

スプレッドシートのUNIQUEで空白を除外するにはFILTERを内側に入れる

結論は、空白を除く FILTER を内側に置き、その結果を UNIQUE に渡すことです。

元データがA2:A7にあるなら、C2:C7が空いていることを確認し、C2へ次の式を一度だけ入力します。すでにデータがある場合は、消さずに別の空き列を選びます。

=UNIQUE(FILTER(A2:A7,A2:A7<>""))

FILTER が空白を除く役、UNIQUE が重複する項目を一つにまとめる役です。A列を削除・編集せず、C列に重複なし一覧を作れます。

Google公式のUNIQUE関数の説明では、指定範囲から重複する行を除き、元の範囲で最初に現れた順に返すと案内されています。自動で五十音順に並べ替える式ではありません。

ここから使うのは架空データです。図と本文の結果は公式の関数仕様から求めた期待値であり、Googleスプレッドシートでの実測値や実際の画面ではありません。

元データを残して別列に出す3ステップ

1. 元データと空いている出力先を用意する

A1に「地域」という見出しを置き、A2:A7へ次のように入力した例で進めます。A3とA6は、本当に何も入力していないセルにしてください。

セル 内容
A1 地域(見出し)
A2 東京
A3 何も入力しない
A4 大阪
A5 東京
A6 何も入力しない
A7 福岡

A3やA6には、文字・数式・半角または全角スペースを入れず、実際に何も入力していないセルを使います。図の「(空セル)」は説明用の表示で、セルに入力する文字ではありません。

出力先は元データと重ならない場所を選びます。この例ではC1に「地域一覧」と入力し、C2:C7は未使用のまま確保します。すでに値がある場合は、別の空き列を使ってください。

元の地域データを残し、別列に東京・大阪・福岡を出す期待値の説明図

架空データによる期待値の説明図。

2. C2にFILTERとUNIQUEの式を入力する

C2を選び、次の式を入力してEnterキーで確定します。元データのA列ではなく、空けておいたC2に置くのが大切です。

=UNIQUE(FILTER(A2:A7,A2:A7<>""))

この例では、結果がC2から下へ自動で表示される想定です。C3以降へ同じ式をコピーする必要はありません。

内側の FILTER(A2:A7,A2:A7<>"") では、抽出対象と条件範囲の両方をA2:A7にそろえています。Google公式のFILTER関数の説明でも、条件範囲は抽出対象の範囲と同じ長さにする必要があるとされています。

<> は「等しくない」を表す比較演算子です。この式では、何も入力していないセルを除く条件の一部として <>"" を使います。数式が返す空文字列の扱いは、この記事の対象外です。

3. 東京・大阪・福岡の順と元の列を確認する

この架空例では、C2が東京、C3が大阪、C4が福岡になると期待できます。東京はA2で先に現れ、A5の東京は重複としてまとめられるためです。

最後にA2:A7も見ます。東京、未入力、大阪、東京、未入力、福岡の並びがそのままなら、元データを残した別列一覧になっています。

FILTERの後にUNIQUEを重ねる理由

数式は内側から読むと理解しやすくなります。この期待例では、最初に FILTER が6行から何も入力していないセルを外し、次に UNIQUE が残った4行から重複する東京を一つにします。

FILTERで空白を除き、UNIQUEで重複を整理する2段階の期待値

架空データを使い、仕様から求めた2段階の期待値。

段階 期待される内容 行数
元のA2:A7 東京、未入力、大阪、東京、未入力、福岡 6
FILTER後 東京、大阪、東京、福岡 4
UNIQUE後 東京、大阪、福岡 3

この期待例では、FILTER だけだと二つの東京が残ります。今回の式は、UNIQUE だけに空白除外を任せず、二つの処理を順番に重ねて役割を分けています。

UNIQUE の第3引数を TRUE にする必要はありません。公式説明では、これは一度しか現れない項目だけを返す指定です。今回の目的は東京も一つ残すことなので、基本の UNIQUE のままにします。

期待どおりにならないときは3点を確認する

式を増やす前に、出力先と参照範囲を確認しましょう。初心者が見直すポイントは次の3点です。

  1. 式を入力する前にC2:C7が未使用だったか。入力後は期待値としてC2:C4に東京・大阪・福岡が並ぶ
  2. A列へ上書きせず、元データを残して別列へ式を置いたか
  3. 見出しA1を除き、式内の二つの範囲がどちらもA2:A7か

出力先の空き、元データの保持、見出しを除いた参照範囲を確認する図

架空データによる確認図。Googleスプレッドシートの実際のエラー画面ではありません。

A8以降へデータを追加しても、この式の有限範囲には入りません。終端を延ばす場合は、式内にある二つのA2:A7を同じ範囲へ変更します。片方だけ変えないようにしてください。

同じ文字に見える項目が複数残る場合は、末尾スペースなど見えにくい違いがないか確認します。これはGoogle公式のUNIQUE関数の注意事項でも案内されています。

範囲内がすべて空白で、FILTER の条件に一致する値が一つもない場合は #N/A が返ります。エラー対処の詳細はスプレッドシートのFILTERで#N/Aになる場合の対処を参照してください。

空白と重複を別々に処理すれば元の表を残せる

やることは、未使用の別列へ式を一つ入れ、期待する項目と元データの両方を確認するだけです。空白の除外は FILTER、重複の整理は UNIQUE と分ければ、式の役割も追いやすくなります。

まずは小さなコピーやテスト用の範囲で試し、出力先が空いていることを確認してから自分の表へ置き換えましょう。その際も、式内の二つの参照範囲を同じにし、見出しは含めないのがポイントです。

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です