首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Google Sheets查询返回源列表中不存在的结果

Google Sheets查询返回源列表中不存在的结果
EN

Stack Overflow用户
提问于 2019-02-19 05:09:57
回答 2查看 838关注 0票数 1

我在Google Sheets中创建了一个预算跟踪器。我在使用Google查询语言返回源数据中不存在的结果时遇到了问题

我有一个Google表单,可以在其中输入支出,它填充了我的Google Drive中的关联工作表。我的主预算追踪器也在我的Google Drive中。我使用IMPORTRANGE将数据从Response电子表格中提取到Master中,然后查询以将其划分为工作簿中工作表中的不同“支出”类别(每个月一个类别)。2月份的工作很完美-所有的支出都被正确地找到并汇总,然后2月份的表格被复制到一年中的每个月,公式或查找术语更新。但是三月的行为很奇怪-它返回了一个不存在的三月的值-不仅求和的值不存在,而且“三月”这个词也不存在,所以不应该匹配。我调整了代码,尝试刷新和重写公式到单元格中以强制刷新,从外部电子表格重新导入范围,我尝试了各种括号放置(我不是SQL或Google查询语言专家,所以我摸索了一下),因为我认为这与AND/OR子句没有‘排序’有关,但都没有产生甚至不同的结果,返回的总是相同的false值

查询代码如下:

代码语言:javascript
复制
=query(spend, "select sum(B) where H = '"&$H$1&"' and E='Leisure' or E='Tickets' or E='Parking' or E='Other' label sum(B) ''", -1)

“花费”是包含从响应电子表格导入的数据的范围,其中包括几个用日和月对行进行编码的表单完成后公式。现在,只有在H中编码为“二月”的值-没有其他值。单元格H1包含月份名称(在其中写入,而不是公式)。这个公式在‘二月’表中非常有效,如果我在三月表中更新单元格H1为‘二月’,它会显示二月的精确值,但是,如果我在H1中输入‘三月’,我会得到奇怪的结果

我期望3月份的结果是GB0,但实际上我得到的值是GB19.46。如前所述-源列表‘appear’只包含编码为February in H的值,并且值by 19.46在列表中不会出现异常(当‘summed’时,值似乎不是由任何值组成)。我不知道发生了什么,而且似乎没有答案来解决神秘价值的出现,所以我希望我不是在重复旧的立场-如果我是,请纠正我,并在此之前感谢任何指导。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-20 04:24:36

之所以选择19.46,是因为即使在查询中找不到H1,Query也会继续计算ANDOR语句,并总结出一堆废话

代码语言:javascript
复制
=IFERROR(IF(QUERY(spend, 
              "select count(H) 
               where H='"&$H$1&"' 
               label count(H)''", 0)>0,
 QUERY(spend, "select sum(B) 
               where (H='"&$H$1&"') 
                 AND (E='Leisure') 
                  OR (E='Tickets') 
                  OR (E='Parking') 
                  OR (E='Other') 
               label sum(B)''", -1), ), )
票数 0
EN

Stack Overflow用户

发布于 2019-02-20 04:08:14

我想你可能想试试这个:

代码语言:javascript
复制
=query(spend, "select sum(B) where H = '"&$H$1&"' AND (E='Leisure' OR E='Tickets' OR E='Parking' OR E='Other') label sum(B) ''", -1)

EDIT:这将导致错误,因为它将返回一个空查询,因此请尝试此操作。

代码语言:javascript
复制
=iferror(query(spend, "select sum(B) where H = '"&$H$1&"' AND (E='Leisure' OR E='Tickets' OR E='Parking' OR E='Other') label sum(B) ''", -1),0)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54755396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档