【问题标题】:Google Spreadsheets Query not reacting as expectedGoogle 电子表格查询未按预期反应
【发布时间】:2014-10-25 18:08:47
【问题描述】:

我在这里关注 GQL 的参考:https://developers.google.com/chart/interactive/docs/querylanguage

我试图做的是从 col A 中选择一个名称,如果在 col C 中设置了一个值,则基于 col H 中的最大值,限制为 1 个结果。

=QUERY(A5:H100,"select A where (H='"&MAX(H5:H100)&"' and C = 'X') limit 1")

但是,所有这些都是从 A 列返回前 2 个条目。=MAX(H5:H100) 返回 10。

即使是陌生人,如果我删除 &MAX(H5:H100)& 部分周围的 ' ,它仍然会将 A 列中的前 2 个条目返回到带有公式的字段中,但会放入正确的预期匹配项(值(H=10 的行上的 A)到它下面的下一行。

我是否遗漏了 QUERY 函数的一些主要部分?

【问题讨论】:

  • @pnuts 我尝试在一个新的空白列中。甚至在另一张纸上交叉引用,并具有不同的功能(MIN 而不是 MAX)。结果相同。真的不知道为什么。如果它下面的字段中有一个值,我什至会收到一个错误,指出它将覆盖该值。
  • 我将最大范围更改为数据点 (A5:M100) 之后的几列,从而解决了问题。很奇怪。
  • “更奇怪”是因为如果您未在(可选)第三个参数中指定,QUERY 猜测(有时不正确)源数据中有多少标题行。我建议始终指定第三个参数(如果没有标题行,请指定 0)。

标签: google-sheets google-query-language


【解决方案1】:

如果 ColumnH 具有数值(查找 MAX 所必需的),您不想尝试选择文本(即省略一对单引号)。中间的一对括号也不是必需的,正如@AdamL 所建议的,如果您不想要标签,请将其空白:

=QUERY(A5:H100,"select A where H="&MAX(H5:H100)&" and C = 'X' limit 1 label A ''")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多