Перевод каждой строки результатов операции Google Sheets QUERY через VLOOKUP - PullRequest
2 голосов
/ 03 октября 2019

У меня есть результаты нескольких столбцов QUERY в Google Sheets, где я хочу перевести строки в одном столбце на основе таблицы поиска в другом именованном диапазоне. Я могу выполнить это косвенно с помощью дополнительного вызова VLOOKUP, но я бы хотел сделать все это за один раз, без промежуточных шагов. См. этот лист для примера моего формата.

Первоначальный запрос, который я делаю, выглядит примерно так:

=QUERY(votes, "SELECT B, SUM(C) GROUP BY B LABEL B 'Option', SUM(C) 'Votes'")

Затем я могу перевести каждую строку с чем-то вродеэто в новом столбце ...

=VLOOKUP(A2, options, 2, 0)

... и затем просто выберите нужные мне столбцы:

={C2:C4,B2:B4}

Как я могу объединить все это? Я думаю, что мне нужно сделать это с ARRAYFORMULA, но это не так:

=ARRAYFORMULA(VLOOKUP(options, QUERY(votes, "SELECT B, SUM(C) GROUP BY B LABEL B 'Option', SUM(C) 'Votes'"), 2, FALSE))

Ответы [ 2 ]

1 голос
/ 03 октября 2019
=ARRAYFORMULA(QUERY({IFERROR(VLOOKUP(Votes!B2:B, options, 2, 0)), Votes!C2:C}, 
 "select Col1,sum(Col2) where Col1 is not null group by Col1 label sum(Col2)''", 0))

0

1 голос
/ 03 октября 2019
=ARRAYFORMULA({VLOOKUP(INDEX(
 QUERY(votes, "select B,sum(C) group by B LABEL sum(C)''"),,1), options, 2, 0), 
 QUERY(votes, "select   sum(C) group by B LABEL sum(C)''")})

0

...