Есть набор однородных данных распределенных по листам, где название листа выступает городом, к которому относятся данные.
Пример: Лист 'Москва'
1. Модель, стоимость, дата, менеджер и прочая...
2. Модель, стоимость, дата, менеджер и прочая...
Аналогичным образом оформлены данные на листах 'СПБ', 'Новосибирск' и так далее.
Требовалось все это свести в один лист, что и проделано через запрос query:
=QUERY({'MSK'!A1:G;'SPB'!A2:G};"SELECT * WHERE(Col3 is not null) ORDER BY Col3")
Но, так как в самих данных названия городов отсутствовали, то они перемешались. Вижу несколько вариантов решения, но мне они не нравятся:
1) Добавить столбец в исходные данные вручную. Да, работает, но если после новые строки будут подгружаться автоматически, то таблица съедет, так как будут данные:
1. Москва, Модель, стоимость, дата, менеджер и прочая...
999. Модель, стоимость, дата, менеджер и прочая...
2) Создать промежуточный лист, где добавить столбец с городом, а в следующий столбец добавить запрос query, затем в конечный лист собирать данные уже с промежуточного. Решение выглядит громоздким, ощущение, что придумываю велосипед.
Отмечу: В видео по Power Query это делается буквально на автомате, листы собираются в один и столбец с названием листа появляется слева, после вся таблица выгружается кнопкой в эксель и готово, а вот как сделать это в онлайн таблицах не нашел.
Для наглядности, что имею в виду:
Я нашел как добавить к общим данным дополнительный столбец с месяцем и кварталом,
quarter(Col3), (month(Col3)+1)*30
А вот какая функция добавит название листа, я не нашел. Еще одно примечание к этому решению: столбцы добавляются уже к объединенному диапазону, и если с датами это целесообразно, то в случае с названием листа остается вопрос, как функция поймет к какой строке в объединенных данных какой город добавлять?