Перевод каждой строки результатов операции QUERY в Google Таблицах через ВПР

У меня есть результаты для нескольких столбцов QUERY в Google Таблицах, где я хочу перевести строки в одном столбце на основе таблицы поиска в другом именованном диапазоне. Я могу сделать это косвенно с помощью дополнительного 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))

person Joost Schuur    schedule 03.10.2019    source источник


Ответы (2)


=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

person player0    schedule 03.10.2019
comment
Мой фактический запрос из исходных данных нуждался в дополнительной фильтрации, поэтому этот сработал для меня. Большое спасибо! - person Joost Schuur; 04.10.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

person player0    schedule 03.10.2019