У меня есть лист Google с динамически меняющимся числом листов внутри. Я хотел бы иметь возможность автоматически объединять все рабочие листы, включенные в именованный диапазон с именами рабочих листов.
У меня есть работающая формула, которая объединит все данные в одну рабочую таблицу. Я хотел бы, чтобы это вычислялось из именованного диапазона.
UNION FORMULA
={QUERY('Sheet1'!A2:L, "select * where A != ''");QUERY('Sheet2'!A2:L, "select * where A != ''")}
У меня также есть именованный диапазон на другом листе, который имеет все имена рабочих листов
NAMED RANGE
WORKSHEET_NAMES = {Sheet1,Sheet2,Sheet3)
, которые я также имел ранее использовал это для извлечения данных из рабочих таблиц, используя
Col A - this duplicates the range of worksheet names in column A
=QUERY(WORKSHEET_NAMES, "select A where A != ''")
Col B-Z - this looks up the worksheet name and pulls in the range from a string
=QUERY(indirect($A2&"!$A$2:$N"), "select * order by B desc limit 1")
Я не знаю, возможно ли (я искал более 1 часа сейчас) объединить поиск имени моей рабочей таблицы с моей операцией объединения, или если мне потребуется прибегнуть к написанию чего-либо в скриптах Google, чтобы позволить мне выполнить объединение.
РЕДАКТИРОВАТЬ
Пример листа
Лист «Объединение» показывает желаемый результат, но представляет собой формулу, созданную вручную, и не генерируется из именованного диапазона. WORKSHEET_NAMES
Лист «Последние» показывает именованный диапазон, который WORKSHEET_NAMES использует, используя INDIRECT для выбора диапазона из строки. .