У меня есть запрос, который должен быть запущен для каждой строки в списке. Это хорошо работает, когда написано для одной строки:
QUERY(MaraRankData,
"select J,I,H,G,F,E where
A='"&E3&"' and
B='"&B3&"' and
C="&C3&" and
D="&D3&"",
0
)
Это выводит ряд данных, по желанию. Но когда я обертываю его в ARRAYFORMULA, он выводит только одну строку вместо многих:
=ARRAYFORMULA(
QUERY(MaraRankData,
"select J,I,H,G,F,E where
A='"&E3:E&"' and
B='"&B3:B&"' and
C="&C3:C&" and
D="&D3:D&"",
0)
)
Google Sheets не выдает никаких ошибок, поэтому я не знаю, что я делаю неправильно. Как я могу заставить ARRAYFORMULA работать с моим QUERY, чтобы мне не приходилось повторять формулу в каждой строке?
google-sheets
formulas
Stobber
источник
источник
filter
, пожалуйста, напишите ответ: я был бы заинтересован в таком решении.=FILTER({E:E,F:F,G:G,H:H,I:I,J:J},A3:A=E3:E)
Первая часть - просто изменить порядок столбцов в фигурных скобках. Вторая причина в том, что от A до E кажется единственным столбцом, который имеет значение, так как B смотрит на себя, C смотрит на себя и т. Д. Действительно, хотя набор данных будет хорошим, и, возможно, более подробное объяснение проблемы. Может быть, я просто не понимаю.Ответы:
arrayformula(query(...))
Комбинация не поддерживается; не существует концепцииquery
обработки массива массивов или выполнения массива строк запроса.У вас есть два варианта: (а) повторить
query
на каждом ряду; (б) использоватьvlookup
для извлечения столбцов данных, как описано ниже. Например:принимает один элемент E3: E за раз, находит этот элемент в столбце A и получает соответствующий элемент столбца J. При таком подходе вам потребуется шесть отдельных просмотров, чтобы получить столбцы J, I, H, G, F, E, но вам не понадобится отдельная команда для каждой строки.
Сложность заключается в том, что
vlookup
принимает только один ключ поиска, и вы хотите искать по 4 параметрам,Это можно обойти, объединив их в один ключ поиска: у вас может быть столбец типа Z,
который объединяет четыре параметра поиска в один поисковый ключ с разделителями. Сделайте то же самое для таблицы, которую нужно найти, а затем сравните эти ключи, используя
vlookup
.источник