説明
この関数を使用して、リストまたは範囲内の一意な値のリストを抽出します。値はテキスト、数値、日付、時間などです。
構文
UNIQUE(array, [by_col], [exactly_once])
入力
この関数は以下の引数を承認します:
| 名称 | 必須 | 説明 | 有効入力 |
|---|---|---|---|
配列 |
はい | 検査する範囲または配列。 | セル、セル範囲、またはこれらのいずれかになる数式。 |
by_col |
いいえ | 比較と抽出の方法。 行ごと = FALSE(デフォルト); 列ごと = TRUE。 |
セル参照、論理値(TRUEまたはFALSE)、数値(0はFALSE、その他の数値はTRUE)、またはこれらのいずれかになる数式。 |
exactly_once |
いいえ | FALSE (0)= すべての一意な値 (デフォルト)。TRUE (1) = 一度だけ出現する値。 | セル参照、論理値(TRUEまたはFALSE)、数値(0はFALSE、その他の数値はTRUE)、またはこれらのいずれかになる数式。 |
例
サンプルデータ
データセット1
| A | B | C | |
|---|---|---|---|
| 1 | グレード | 名称 | スコア |
| 2 | A | ジョージ | 100 |
| 3 | B | リナ | 100 |
| 4 | B | エズシャー | 98 |
| 5 | A | ジョージ | 95 |
| 6 | B | マリア | 95 |
| 7 | F | ガース | 92 |
| 8 | B | ルショーン | 91 |
データセット2
| A | B | C | 17 才以上対象 | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | 名称 | タイガース | イーグルス | クーガーズ | ベアーズ | レイブンズ | サンダーバーズ |
| 2 | スコア | 8 | 5 | 7 | 7 | 5 | 6 |
データセット3
| A | B | C | 17 才以上対象 | |
|---|---|---|---|---|
| 1 | 第1四半期データ | |||
| 2 | 名称 | 売上高 | 地域 | コミッション |
| 3 | ジョン | 45000 | 北 | 4500 |
| 4 | アリス | 52000 | 南 | 5200 |
| 5 | 第2四半期データ | |||
| 6 | 名称 | 売上高 | 地域 | コミッション |
| 7 | ジョン | 48000 | 北 | 4800 |
| 8 | アリス | 55000 | 南 | 5500 |
データセット4
| A | B | C | 17 才以上対象 | E | |
|---|---|---|---|---|---|
| 1 | 項目 | 排出量 | 日付 | 価格 | 合計 |
| 2 | りんご | 12 | 1/8/2023 | $0.99 | $11.88 |
| 3 | りんご | 3 | 10/9/2022 | $1.36 | $4.08 |
| 4 | りんご | 1 | 11/17/2022 | $1.55 | $1.55 |
| 5 | りんご | 4 | 1/1/2023 | $1.44 | $5.76 |
| 6 | りんご | 10 | 11/16/2022 | $1.42 | $14.20 |
| 7 | 洋ナシ | 32 | 11/28/2022 | $1.41 | $45.12 |
| 8 | 洋ナシ | 27 | 11/24/2022 | $1.47 | $39.69 |
| 9 | 洋ナシ | 15 | 11/13/2022 | $1.50 | $22.50 |
| 10 | 桃 | 14 | 11/13/2022 | $1.02 | $14.28 |
| 11 | 桃 | 12 | 10/1/2022 | $1.58 | $18.96 |
| 12 | 桃 | 10 | 12/7/2022 | $1.17 | $11.70 |
| 13 | 桃 | 17 | 10/9/2022 | $1.02 | $17.34 |
| 14 | キウイ | 31 | 11/23/2022 | $0.97 | $30.07 |
| 15 | キウイ | 28 | 11/4/2022 | $1.49 | $41.72 |
| 16 | キウイ | 32 | 10/10/2022 | $0.93 | $29.76 |
数式のサンプル
| 使用例 | 数式 | 結果 | ||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| が少なくとも 1 回は出現する範囲内のすべての値を返却。 | =UNIQUE(A1:A8) |
この数式は、テーブル 1 の範囲 A2:A8 内で、が少なくとも 1 回は発生するすべての値 を返却します。データセット 1 の場合、この数式は以下を返却します:
|
||||||||||||||||||||||||||||||||||||
| が一度だけ出現する範囲のすべての値を返却。 | =unique(a2:a8,0,1) |
この数式は、テーブル 1 の範囲 A2:A8 内で が 1 回だけ出現するすべての値を返却します。データ設定 1 の場合、この数式は以下を返します:
|
||||||||||||||||||||||||||||||||||||
| が一度だけ発生する範囲のすべての値を返却。 | =unique(b2:g2,true,1) |
この数式は、テーブル 1 の範囲 B2:G2 内で、が 1 回だけ発生するすべての値 を返します。データセット 2 では、この数式は以下を返却します:
|
||||||||||||||||||||||||||||||||||||
| 複数の列から一意な値を抽出 | =unique(b2:b8&": "&a2:a8) |
この数式は、複数の列から一意の値を返します。データ設定 1 の場合、この数式は以下を返却します: (「A」を得た「George」のインスタンスは 1 つだけ)。
|
||||||||||||||||||||||||||||||||||||
| n番目の最大値を抽出します。 | =large(unique(c1:c12),3) |
この数式は3番目に大きいスコアを返却します。UNIQUE はスコアの配列を作成し、LARGE はその配列の中で 3 番目に大きい値を選択します。データセット 1 の場合、この数式は次のように返却されます:
|
||||||||||||||||||||||||||||||||||||
| 別々のデータ・セットを結合し、列 1 の項目が同じ行の値を合計します。 | このユースケースでは、隣接するセルに2つの数式、1つは名称、もう1つは合計が必要です。
|
E列とF列の結果が欲しい場合、データセット3の解は以下のようになります: 数式 1 (セル E1) は、列 A から UNIQUE 名称を返却し、VSTACK を使用して、それらを垂直方向に隣接するセルに配置します。 数式 2 (セル F1) は、一意の名称に関連付けられた値を返却します。次に、2つのSUMIF ステートメントが、それらの値を追加し、VSTACK が、名称が一致するように、それらを縦に隣接するセルに配置します。 表示される結果は以下のとおりです:
|
||||||||||||||||||||||||||||||||||||
| 列 A、B、および E から対応するデータを返却しながら、列 A の値に基づいて一意のレコードを抽出します。 |
このユースケースでは、隣接するセルにアイテム名称、カウント合計、値合計の3つの数式が必要です。
|
F列、G列、H列の結果が欲しいと仮定すると、データ設定4の解は以下のようになります: 数式 1 (セル F2) は、一意なアイテム名称のリストを生成します。これは、縦に隣接するセル A 列の UNIQUE 名称を返却します:
数式 2 (セル G2 内) は、SUMIFS を使用して、各アイテムに関連する合計数を計算します:
数式 3 (セル H2) では、SUMIFS を使用して各アイテムに関連する合計値を生成し、
|
メモ
- すべての配列関数と同様に、UNIQUE は UNIQUE 関数を含むセルを起点として、隣接するセルに結果を動的に含めます。
- 応答は個々のセルで返却されます。
- デフォルトでは、UNIQUEは値を行として抽出します。
by_colが非アクティブ (>blank</0/FALSE) の場合、レスポンスは行になります。by_colがアクティブ (1/TRUE) の場合、レスポンスは列になります。 - UNIQUEは**大文字と小文字を区別しません。UNIQUEは "WORKIVA"、"Workiva"、"workiva "を全く同じ単語とみなします。
- UNIQUEは、最初の列で複製を検索すると、自動的に数値を合計します。
ヒント
- ヘッダー行があり、ヘッダーを含めたくない場合は、配列の値を1つ下の行から開始します(例えば、上記のデータセットでは、A1ではなくA2から開始します)。
- 複数の列のデータがあり、一意な**行**を求める場合:
=UNIQUE(A1:C10)は、単一の列からの異なる値ではなく、一意な**行の結合**を返却します。 - 行の代わりに一意な**列**を検索したい場合は、以下の数式を使用してください:
=UNIQUE(A1:C10, , TRUE). これは、行単位ではなく列単位で一意性をチェックします。 - ソース・データに一度だけ出現する一意の値を抽出するには、
exactly_onceを TRUE または 1 に設定します。 - A1:A10 の範囲に一度だけ出現する値を返却するには、代わりに次の数式を使用します。
=FILTER(A1:A10,COUNTIF(A1:A10, A1:A10) = 1). 重複の最初の出現を保持するUNIQUEとは異なり、この数式はすべての重複を完全に削除します。 - 一意なリストを表示せずに、一意な値の**数**をカウントするには、次の数式を使用します。ROWS:
=ROWS(UNIQUE(A1:A10)). - UNIQUE が(フィルターなどによって)空結果を返却する場合、で囲みます。 IFERROR:
=IFERROR (UNIQUE(A1:A10), "No unique values found").
配列数式関数
Workiva スプレッドシートで対応可能なその他の配列数式関数を示します。