【问题标题】:Query continues to select rows despite 'where not null'尽管“不为空”,查询仍继续选择行
【发布时间】:2020-08-26 14:56:51
【问题描述】:

我在谷歌表格中使用查询命令来获取文本字符串的左侧变量,将其转换为数字并将其与其他列相加。当我尝试使用where Col1 is not null 的查询命令时,它会继续拉动每一行,留下一张满是零的工作表。我错过了什么?这是完整的公式

=Query(ArrayFormula(value(left(T2:AC))),"select Col1+Col2+Col3+Col4+Col5+Col6+Col7+Col8+Col9+Col10,Col9 where Col1 is not null label Col1+Col2+Col3+Col4+Col5+Col6+Col7+Col8+Col9+Col10 'Total', Col9 'Q9'")

【问题讨论】:

  • 公式中的is not null 子句在哪里? developers.google.com/chart/interactive/docs/…
  • 已更新。我已将其从工作表中删除,因为它会引起问题,并且在复制到此处之前忘记将其重新添加。
  • 添加T2:T的样本数据和ArrayFormula(value(left(T2:AC)))第一列的结果
  • 已更新数据和请求的公式(无法嵌入图像)。看起来 value 函数正在将每个空单元格转换为 0。因此,当数组传递给 query 命令时,它不为空。
  • 嗨,我发布了一个关于这个的答案。您能否确认这是否解决了您的问题?

标签: google-sheets array-formulas google-sheets-query


【解决方案1】:

VALUE 将空字符串 ("") 转换为 0,您可以在官方文档中看到示例。

因此,在对单元格使用VALUE 之前,应先检查单元格是否为空。一种选择是使用ISBLANK

=ARRAYFORMULA(IF(ISBLANK(E2:F),,VALUE(LEFT(E2:F))))

【讨论】:

  • @jhaeff 不客气。很高兴您的问题得到了解决!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-16
  • 1970-01-01
  • 1970-01-01
  • 2011-12-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多