【问题标题】:Sheet specific QUERY unknown error cause工作表特定 QUERY 未知错误原因
【发布时间】:2014-12-04 01:44:39
【问题描述】:

I have this spreadsheet as an example to illustrate the problem.

我有两个查询引用同一个电子表格上的不同工作表。

=QUERY(Transfers!A1:H, "select F where E = 'Mild Ale (24) '")

=QUERY(stocktake!A1:J, "select I where H = 'TOTAL:'")

一个显示错误,另一个没有。我无法确定导致错误的原因,因为这两个查询足够相似。

非常感谢。

【问题讨论】:

    标签: google-sheets formulas


    【解决方案1】:

    来自Query Language Syntax

    列的所有值都将具有与列类型匹配的数据类型,或者为空值。

    你的问题是 H 列有混合类型、数字和字符串。

    【讨论】:

    • 您可以使用LOOKUP 函数之一来代替查询。
    【解决方案2】:

    似乎是因为stocktake 中的 H 列已被格式化为自动,并且查询反对从中选择文本值。

    一种解决方案可能是为TOTAL:WASTAGE:INCOME:DISCREPANCY: 应用数字代码。另一个可能会将这些描述放在 ColumnB 的底部并相应地调整查询。
    另一种可能性是将 ColumnH 格式化为纯文本。

    【讨论】:

    • 尝试格式化为纯文本,但没有成功。此工作表只是一个非常大的、动态生成的电子表格的 sn-p,因此尽量避免重新编写一大段 Apps 脚本。感谢您的帮助
    【解决方案3】:

    除了以前的帖子,您还可以将查询中的所有内容转换为文本。这样的事情应该可以工作:

    =ArrayFormula(QUERY(stocktake!A1:J&"", "select Col9 where Col8 = 'TOTAL:'"))
    

    如果你想输出为数字格式,那么添加 +0 就可以了:

    =ArrayFormula(QUERY(stocktake!A1:J&"", "select Col9 where Col8 = 'TOTAL:'")+0)
    

    注意:对于当前情况,另一种(可能更简单)的方法是使用 vlookup。

    =vlookup("TOTAL:", stocktake!H1:I30, 2, 0)
    

    希望有帮助吗?

    【讨论】:

      猜你喜欢
      • 2012-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-04
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      相关资源
      最近更新 更多