Динамический диапазон данных Google Sheets в функции запроса - PullRequest
0 голосов
/ 20 апреля 2019

возможно ли иметь динамический диапазон данных при использовании функции запроса в листе Google?

Что я хотел бы сделать, это с помощью раскрывающегося списка изменить диапазон данных, используемый в функции запроса.

Например, у меня есть 4 таблицы на 4 разных листах.На моем основном листе я хочу с помощью своего выпадающего списка выполнить запрос к выбранной таблице.Нужно ли это делать скриптом?

1 Ответ

0 голосов
/ 20 апреля 2019

Вы можете сделать динамический запрос без использования скрипта.

Строка запроса может содержать ссылку на другие ячейки.

Пример в таблицах.

В этом примере есть раскрывающийся список для набора данных в B2, раскрывающийся список для значения, установленного в B4.Диапазоны данных включают один из другого листа.Я использую именованные диапазоны для упрощения процесса поиска.Каждый набор данных n называется DataN.

Вы можете отделить строку запроса от ячейки с помощью фактического вызова функции запроса.Хитрость заключается в создании строки запроса с использованием INDIRECT, COLUMN и VALUE.Я поместил это в ячейку A10:

="select " & mid("ABCDEFGH",COLUMN(INDIRECT(B2)),1) & " where " & mid("ABCDEFGH",VALUE(COLUMN(INDIRECT(B2)))+1,1) & "=" & """" & B4 & """"

Четыре кавычки позволяют нам поместить буквальную кавычку в строку запроса.Символ '&' выполняет конкатенацию строк.Использование MID как способ преобразования функции COLUMN в букву, которую я получил от здесь .

Тогда ваша ячейка с запросом использует значения раскрывающегося набора данных (B2) изначение строки запроса (A10) выглядит так:

=QUERY(INDIRECT(B2),A10,1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...