カテゴリとサブカテゴリのリストが与えられた場合:
CatA SubCatA
CatA SubCatA
CatB SubCatB
CatB SubCatB
CatC SubCatC
CatC SubCatC
セカンダリカテゴリに基づいて、すべての一意のメインカテゴリを返します。
使用したくない:
=QUERY(A1:B6,"SELECT A WHERE B = 'SubCatA'")
重複したリストを返すためです(最初の要素を返すことも役に立ちません)。
私がしようとしているのは:
=QUERY(A1:B6,"SELECT A WHERE B = 'SubCatA' GROUP BY A")
しかし、それは私にエラーを与えます:CANNOT_GROUP_WITHOUT_AGG
、したがって、DISTINCT(A)
またはUNIQUE(A)
のいずれかに相当するものを見つけようとしていますが、これらの関数は存在しません。
Google Visualization APIクエリ言語にDISTINCT/UNIQUEに相当する一意の値のリストを返す関数はありますか?
次のように、QUERY
数式内にヘルパー列を追加する必要があります。
=QUERY(
{A1:B6, A1:A6},
"SELECT Col1, COUNT(Col3) WHERE Col2 = 'SubCatA' GROUP BY Col1 LABEL COUNT(Col3) ''"
)
別のQUERY
数式を追加すると、ヘルパー列を削除できます。
=QUERY(
QUERY(
{A1:B6, A1:A6},
"SELECT Col1, COUNT(Col3) WHERE Col2 = 'SubCatA' GROUP BY Col1"
),
"SELECT Col1"
)
クエリなし:
=unique(filter(A1:A6, B1:B6="SubCatA"))
user79865
が示唆するように、FILTERで常に便利なUNIQUE関数を使用することに加えて、元のQUERY関数でUNIQUEを使用することもできます(QUERYのオプションと柔軟性を維持するために、他のシナリオでより適用可能および役立つ場合があります) FILTERで十分でない場合)。
そのように:=UNIQUE(QUERY(A1:B6,"SELECT A WHERE B = 'SubCatA'"))
Unique(range)
関数を使用します。
例:
=unique(query(Sheet2!A3:F2372,"SELECT C WHERE A contains '" &E1& "' AND B CONTAINS '" &E2& "' ",-1))
これは、1つの列の取得で機能します。この手法を使用して、タスクをさらに調査できます。これは簡単です。 A、B、CはSheet2の列で、E1、E2は&で囲まれた現在のワークシートの列です。
ヘルパー/ラッパー関数を使用しないソリューション:
=QUERY(A1:B6,"SELECT MAX(A) WHERE B = 'SubCatA' GROUP BY A LABEL MAX(A) ''")