Всем привет. Для отчета по работе собираю аналитику с разных таблиц получается страшная формула. Она рабочая, тут как бы ОК, но трудно редактируемая при добавлении новой таблицы, или если нужно удалить старую:
Код
=QUERY({importrange(K3;"Реестр!A2:AI");importrange(K4;"Реестр!A2:AI");importrange(K5;"Реестр!A2:AI");importrange(K6;"Реестр!A2:AI");importrange(K7;"Реестр!A2:AI");importrange(K8;"Реестр!A2:AI");importrange(K9;"Реестр!A2:AI");importrange(K10;"Реестр!A2:AI");importrange(K11;"Реестр!A2:AI");importrange(K12;"Реестр!A2:AI");importrange(K13;"Реестр!A2:AI");importrange(K14;"Реестр!A2:AI");importrange(K15;"Реестр!A2:AI");importrange(K16;"Реестр!A2:AI");importrange(K17;"Реестр!A2:AI");importrange(K18;"Реестр!A2:AI")};"select Col18, Col23, Col3, Col2, Col35, Col17, Col16 where Col3 is not null order by Col18 desc label Col18 '№ Шкафа', Col23'Адрес', Col3 'Нас пункт', Col2 'тел.', Col16'Исполнитель',Col17'Дата', Col35'№ Таблицы'")
При попытке записать importrange в виде массива
Код
=arrayFormula(importrange(K3:K18;"Реестр!A2:AI"))
Гугл ругается грит:
Цитата
Внутренняя ошибка импорта.
Можно ли как то записать importrange в виде массива (масло масляное понимаю, тем не менее), либо это не возможно и нужно смириться со сложной структуры текущей формулы. Вопрос именно про штатные средства таблиц (скрипты хорошо, но для такого скрипта который заменит query у меня ума не хватит, пока)
Всем привет. Для отчета по работе собираю аналитику с разных таблиц получается страшная формула. Она рабочая, тут как бы ОК, но трудно редактируемая при добавлении новой таблицы, или если нужно удалить старую:
Код
=QUERY({importrange(K3;"Реестр!A2:AI");importrange(K4;"Реестр!A2:AI");importrange(K5;"Реестр!A2:AI");importrange(K6;"Реестр!A2:AI");importrange(K7;"Реестр!A2:AI");importrange(K8;"Реестр!A2:AI");importrange(K9;"Реестр!A2:AI");importrange(K10;"Реестр!A2:AI");importrange(K11;"Реестр!A2:AI");importrange(K12;"Реестр!A2:AI");importrange(K13;"Реестр!A2:AI");importrange(K14;"Реестр!A2:AI");importrange(K15;"Реестр!A2:AI");importrange(K16;"Реестр!A2:AI");importrange(K17;"Реестр!A2:AI");importrange(K18;"Реестр!A2:AI")};"select Col18, Col23, Col3, Col2, Col35, Col17, Col16 where Col3 is not null order by Col18 desc label Col18 '№ Шкафа', Col23'Адрес', Col3 'Нас пункт', Col2 'тел.', Col16'Исполнитель',Col17'Дата', Col35'№ Таблицы'")
При попытке записать importrange в виде массива
Код
=arrayFormula(importrange(K3:K18;"Реестр!A2:AI"))
Гугл ругается грит:
Цитата
Внутренняя ошибка импорта.
Можно ли как то записать importrange в виде массива (масло масляное понимаю, тем не менее), либо это не возможно и нужно смириться со сложной структуры текущей формулы. Вопрос именно про штатные средства таблиц (скрипты хорошо, но для такого скрипта который заменит query у меня ума не хватит, пока)Kashimirush
Работа, работа, перейди на Федота...
Сообщение отредактировал Kashimirush - Вторник, 29.10.2019, 07:44
Основная причина в том, что функции отложенного действия, такие как IMPORT{вставить нужное}, RAND, NOW, не могут быть вычисленны в заданный промежуток времени. Из-за этого их нельзя поставить в ARRAYFORMULA, как ни крути.
Я предлагаю начать с 4 варианта. Необходимо создать избыточное количесто листов и импортировать на них однородные данные. Пустые листы будут проигнорированы фильтром, а ненужные импорты на этих листах можно будет заменить на нужные. Можно проименовать диапазоны, для "красивого" обращения в формуле.
Основная причина в том, что функции отложенного действия, такие как IMPORT{вставить нужное}, RAND, NOW, не могут быть вычисленны в заданный промежуток времени. Из-за этого их нельзя поставить в ARRAYFORMULA, как ни крути.
Я предлагаю начать с 4 варианта. Необходимо создать избыточное количесто листов и импортировать на них однородные данные. Пустые листы будут проигнорированы фильтром, а ненужные импорты на этих листах можно будет заменить на нужные. Можно проименовать диапазоны, для "красивого" обращения в формуле.contributorpw