Как добавить несколько ссылок на ячейки в один запрос? - PullRequest
0 голосов
/ 02 июня 2019

Я пытаюсь настроить диспетчер задач в Google Sheets.Я создал новый лист для каждого проекта, затем при вводе имени листа в ячейку я создам строку, которую можно использовать для запроса и извлечения всех данных в мастер-лист.

при добавленииИдентификатор проекта, который я использую для объединения строк, которые я хочу использовать в качестве данных запроса:

Формула: =IFERROR(ARRAYFORMULA(if(isblank(A3),"",CONCATENATE("'", A3, "'", "!A87:M"))))

Ввод:

Cell A3 - Sheet1

Cell A4 - Sheet2

Вывод:

Cell B3 - 'Sheet1'!A87:M

Cell B4 - 'Sheet2'!A87:M

Затем я использую эти выходные данные для построения данных для моего запроса.

Метод 1: =ARRAYFORMULA(FILTER(B3:B, NOT(B3:B = "")))

Вывод:

Cell C2 - 'Sheet1'!A87:M

Cell C3 - 'Sheet2'!A87:M

Метод 2: =join(";", filter(B2:B, not(B2:B = "")))

Вывод:

Cell C4 - '19654'!A87:M;'19984'!A87:M;'Sheet5'!A87:M

Затем я передам вывод в мой запрос, чтобы попытаться вернуть данные из каждого проекта:

=query({INDIRECT(C2)},"Select Col1, Col2, Col3 where Col1 is not null")

Если я использую метод 1, вывод - это просто результат первой ячейки.Он не получит все из результата всей формулы массива

Если я использую метод 2, вывод возвращает сообщение об ошибке ref:

Функция Значение параметра INDIRECT 1 равно'' Лист1 'A87:! M;' Лист2 'A87: M;'.Это недопустимая ссылка на ячейку / диапазон.

Я могу заставить запрос работать, если вручную ввести каждую из строк в данные запроса:

=query({INDIRECT(C2); INDIRECT(C3)},"Select Col1, Col2, Col3 where Col1 is not null")

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

Любая помощь будет высоко оценена и заранее благодарна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...