查询函数 select 导入数据集的所有列,从特定列开始

Query function to select all columns of an imported data set, starting from a specific column

我希望从单独的 google sheet 中查询导入数据集的特定列。理想情况下,我想查询“产品 ID”列之后的所有列(请参阅“测试数据集”)。我这样做的原因是我需要产品 ID 列保留在“最终目标 Sheet”中的特定位置,因为“产品 ID”将用作索引的参考范围,匹配 sheet.

的另一个选项卡上的公式

到目前为止,我为“产品 ID”列导入和查询原始数据集的公式如下:

=QUERY({IMPORTRANGE("1aPpdSy5venMl97ayn7VwaOo_AcAtcoc6_l4a1loPhNI","Sheet1!A:D")}, "SELECT Col" &MATCH("产品 ID", IMPORTRANGE ("1aPpdSy5venMl97ayn7VwaOo_AcAtcoc6_l4a1loPhNI","Sheet1!A1:1"),0),1)

但是,我不确定如何让公式理解查询“产品 ID”列之后的所有列。请注意,测试数据集只有 4 列和一定数量的列,但我正在使用的真实数据集将是动态的,因此可以随着时间的推移添加或删除更多列。 (所以我不知道有限列字母是什么,如果从 B 左侧删除列,那么它可能会移动其位置,这就是为什么我在原始公式中使用匹配函数来标识特定列在传播sheet).

提前致谢!

最终目标Sheet(数据导入的位置以及我尝试查询特定列的原始数据的位置):link

测试数据集(数据导入自):link

如果你知道 headers 你可以这样做:

=TRANSPOSE(QUERY(TRANSPOSE(IMPORTRANGE("1aPpdSy5venMl97ayn7VwaOo_AcAtcoc6_l4a1loPhNI", 
 "Sheet1!A:D")), "where lower(Col1) matches 'product id|size'", 0))

更新:

=IMPORTRANGE("1aPpdSy5venMl97ayn7VwaOo_AcAtcoc6_l4a1loPhNI", 
 "Sheet1!"&ADDRESS(1, MATCH("Product ID", 
 IMPORTRANGE("1aPpdSy5venMl97ayn7VwaOo_AcAtcoc6_l4a1loPhNI", 
 "Sheet1!1:1"), 0))&":1000")

假设 headers 在第 1 行,这将查找名为产品 ID 的列并导入它以及它右侧的所有列