#arrays #google-sheets #import #label #google-query-language
Вопрос:
По сути, я пытаюсь импортировать несколько разных вкладок из одного документа Google Sheets, а затем объединить эти данные в отдельную отдельную вкладку в другом документе Google Sheets с дополнительным столбцом, указывающим, с какого листа эти данные были первоначально получены.
Итак, для примера, если мой сводный лист был здесь: https://docs.google.com/spreadsheets/d/1855Y-TzHtXZi-0g_-Jh8LxuqI0rdJasoSKi9YBkGfs8/edit#gid=0
И мои необработанные данные поступали с нескольких листов / вкладок (в этом примере хранятся 1 и 2) здесь: https://docs.google.com/spreadsheets/d/1yar_i4-KdVOT-IgjgUNij48R9yuH-gFNprZgl0X7S94/edit#gid=0
Что можно добавить к моей действующей в настоящее время формуле:
=ArrayFormula(QUERY({
(IMPORTRANGE("https://docs.google.com/spreadsheets/d/1yar_i4-KdVOT-IgjgUNij48R9yuH-gFNprZgl0X7S94/edit#gid=0","'Store 1'!A2:G"))
},"select * where Col1 is not Null"))
чтобы убедиться в таблице агрегации, я могу определить, откуда изначально были получены эти данные, указав это имя исходного листа / вкладки (сохранить 1 или 2) в столбце?
Я добился некоторого успеха, используя аналогичную формулу в прошлом, чтобы выполнить то же самое:
=ArrayFormula(QUERY({
'Store1'!A2:G,IF(N('Store1'!A2:G),"Store1");
'Store2'!A2:G,IF(N('Store2'!A2:G),"Store2")
},"select * where Col1 is not Null"))
Но добавление функциональности IMPORTRANGE в этом случае, похоже, не позволяет этому работать: (
Не стесняйтесь редактировать этот пример таблицы агрегатора
Если я здесь совершенно не на том пути, не стесняйтесь, дайте мне знать, просто хотел поделиться тем, что было опробовано.
Заранее большое спасибо за помощь!
Ответ №1:
попробуйте:
=QUERY({
QUERY(IMPORTRANGE("1yar_i4-KdVOT-IgjgUNij48R9yuH-gFNprZgl0X7S94", "Store 1!A2:G"),
"select Col1,Col2,Col3,Col4,Col5,Col6,Col7,'Store 1' label 'Store 1'''");
QUERY(IMPORTRANGE("1yar_i4-KdVOT-IgjgUNij48R9yuH-gFNprZgl0X7S94", "Store 2!A2:G"),
"select Col1,Col2,Col3,Col4,Col5,Col6,Col7,'Store 2' label 'Store 2'''")},
"where Col1 is not null")