Diberikan daftar kategori dan sub-kategori:
CatA SubCatA
CatA SubCatA
CatB SubCatB
CatB SubCatB
CatC SubCatC
CatC SubCatC
Saya ingin mengembalikan semua kategori utama unik berdasarkan kategori sekunder.
Saya tidak ingin menggunakan:
=QUERY(A1:B6,"SELECT A WHERE B = 'SubCatA'")
karena mengembalikan daftar dengan duplikat (mengembalikan elemen pertama tidak akan membantu baik).
Yang saya coba adalah:
=QUERY(A1:B6,"SELECT A WHERE B = 'SubCatA' GROUP BY A")
tapi itu memberi saya kesalahan:, CANNOT_GROUP_WITHOUT_AGG
karena itu saya mencoba menemukan sesuatu yang setara dengan salah satu DISTINCT(A)
atau UNIQUE(A)
, tetapi fungsi-fungsi ini tidak ada.
Apakah ada fungsi di Google Visualization API Query Language yang setara dengan DISTINCT / UNIQUE untuk mengembalikan daftar nilai unik?
Anda perlu menambahkan kolom pembantu dalam
QUERY
rumus, seperti:Menambahkan
QUERY
formula lain akan membantu menghapus kolom pembantu:sumber
Selain menggunakan fungsi UNIQUE yang selalu berguna di sekitar FILTER, seperti yang
user79865
disarankan, Anda juga dapat menggunakan UNIQUE di sekitar fungsi QUERY asli (yang mungkin lebih berlaku dan membantu dalam skenario lain untuk mempertahankan opsi dan fleksibilitas QUERY ketika FILTER tidak cukup). ).Seperti itu:
=UNIQUE(QUERY(A1:B6,"SELECT A WHERE B = 'SubCatA'"))
sumber
Solusi tanpa fungsi pembantu / pembungkus:
sumber
Gunakan
Unique(range)
fungsinya.Contoh:
Ini akan bekerja pada satu pengambilan kolom. Anda dapat menggunakan teknik ini untuk mengeksplorasi tugas Anda lebih lanjut. Ini lebih mudah. A, B, C adalah kolom dari Sheet2 sementara E1, E2 berasal dari lembar kerja saat ini dikelilingi oleh &.
sumber
OP secara khusus bertanya melalui Google QUERY tetapi ada preseden bahwa A lain tidak memerlukan QUERY dan IMO solusi yang lebih baik (karena lebih komprehensif, dan serbaguna) akan menerapkan tabel pivot:
Ini (dan As lainnya) akan menjadi demonstrasi solusi yang lebih baik jika sampel data lebih realistis.
sumber
Bagaimana kalau saja:
sumber