首页 > 解决方案 > 在数组公式中添加带有 IMPORTRANGE、QUERY 的原始工作表名称

问题描述

基本上,我正在尝试从一个 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 功能似乎会阻止它工作:(

随意编辑该示例聚合器表

如果我在这里完全走错了路,请随时告诉我,只是想分享已经尝试过的内容。

非常感谢您提前提供的帮助!

标签: arraysgoogle-sheetsimportlabelgoogle-query-language

解决方案


尝试:

=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")

在此处输入图像描述


推荐阅读