Як повернути DISTINCT / UNIQUE список тексту за допомогою Google QUERY?


12

З огляду на перелік категорій та підкатегорій:

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), але ці функції не існують.

Чи є якась функція мови запитів API візуалізації Google еквівалентна DISTINCT / UNIQUE для повернення списку унікальних значень?

Відповіді:


16

Без запиту:

=unique(filter(A1:A6, B1:B6="SubCatA"))

Найпростіше рішення.
Оміод

8

Вам потрібно додати допоміжний стовпчик у 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"
 )

8

На додаток до використання завжди корисної функції UNIQUE навколо FILTER, user79865ви також можете використовувати UNIQUE навколо оригінальної функції QUERY (яка може бути більш застосовною та корисною в інших сценаріях для збереження параметрів та гнучкості QUERY, коли FILTER недостатньо ).

Так: =UNIQUE(QUERY(A1:B6,"SELECT A WHERE B = 'SubCatA'"))



2

Використовуйте Unique(range)функцію.

Приклад:

=unique(query(Sheet2!A3:F2372,"SELECT C WHERE A contains '" &E1& "' AND B CONTAINS '" &E2& "'  ",-1))

Це буде працювати над пошуком одного стовпця. Ви можете використовувати цю техніку для подальшого вивчення свого завдання. Це простіше. A, B, C - стовпці з Sheet2, тоді як E1, E2 - з поточного робочого аркуша, оточеного &.


0

ОП спеціально запитує через Google QUERY, але є прецедент, що для іншого A не потрібне ЗАПИТАННЯ та ІМО, а кращим рішенням (оскільки більш комплексним та універсальним) є застосування поворотної таблиці:

Приклад WA82879

Це (та інший As) було б кращою демонстрацією рішень, якби вибірка даних була більш реалістичною.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.