【问题标题】:Google Sheets Query - Changing Query Data Range Based using a reference cell谷歌表格查询 - 使用参考单元格更改查询数据范围
【发布时间】:2021-01-29 17:01:43
【问题描述】:

我见过使用参考单元格来代替函数的查询位置。

例如:

而不是包含整个函数的 A4: =QUERY('员工名单'!A2:E12, "SELECT A, B, C, E WHERE E = 'No'")

查询在像这样的另一个单元格中被引用。 =QUERY('员工名单'!A2:E12,A1)

其中 A1 包含“SELECT A、B、C、E WHERE E = 'No'” 因此,您可以在需要更改查询时编辑 A1 而不是编辑 A4。

我的问题是这样的: 可以将相同的概念应用于我希望在查询中引用的日期吗?

例如可以使用这样的东西

=SORT(Query(A1,"Select * where Col7 >= DATE """&TEXT(A2,"yyyy-MM-dd")&""" AND Col7

我在哪里插入 {'1'!P5:V1000;'2'!P5:V1000;'3'!P5:V1000} 进入单元格 A1

而不是这个:

=SORT(Query({'1'!P5:V1000;'2'!P5:V1000;'3'!P5:V1000},"选择 * where Col7 >= DATE """&TEXT(A2," yyyy-MM-dd")&""" AND Col7

到目前为止,我已经尝试过这种方法无济于事

=SORT(Query(""A1"","Select * where Col7 >= DATE """&TEXT(A2,"yyyy-MM-dd")&""" AND Col7

【问题讨论】:

  • 分享您的工作表副本

标签: google-sheets


【解决方案1】:
=QUERY(1st param, 2nd param, 3rd param)

查询的第一个参数只能作为非数组范围引用,例如:

=QUERY(INDIRECT(A1))
 ____
 where A1 contains range A1:C

这样的排列范围是不允许的:

{A1:C; D1:F}
 ____
{INDIRECT(A1:C); INDIRECT(D1:F)}

至于第二个和第三个QUERY 参数,即使它包含date 属性,它们也可以作为字符串引用

【讨论】:

  • 非常感谢您为我节省了寻找不存在的解决方案的时间。感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-25
  • 1970-01-01
  • 1970-01-01
  • 2017-05-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多