【问题标题】:How to fix "Query returns and empty value" error in google spread sheet如何修复谷歌电子表格中的“查询返回和空值”错误
【发布时间】:2019-09-12 13:01:25
【问题描述】:

我有以下代码。我已经阅读了许多关于如何解决返回空值的查询的线程,但在我的情况下它们都不起作用。 我还分享了一个解决方法 Google 电子表格。 我要做的是按查询搜索第一个选项卡,如果匹配,则显示绿色勾号,否则显示红十字。 下面的代码适用于绿色勾号,但如果是红色叉号,则会显示错误。

以下代码的预期运行方式: 它在tab1上进行查询,如果学号在C列(有一些定义的条件)或在D列(没有任何条件),它显示一个绿色的勾号,否则它必须插入一个红色的叉号。

if(OR(QUERY(LiveAttendanceForm!$A:$C, 
"select C
where A >= timestamp '"&TEXT(D$1, "yyyy-MM-dd HH:mm:ss")&"' 
and A <= timestamp '"&TEXT(D$2, "yyyy-MM-dd HH:mm:ss")&"' 
and C = "&$C5, 0)=$C5,Query(LiveAttendanceForm!$A:$D,"select D where D = "&$C5,0)=$C5),"✅","❌")

我还尝试在查询之前使用iferror 函数,但它显示所有字段为真,并使所有单元格变为绿色。如果有人能帮我解决这个烦人的问题,我将不胜感激!分享 Google 表格的链接如下:

https://docs.google.com/spreadsheets/d/1KfkA48OyOnZAPQAbtdEIs9AYaAPRFRFOpvQRM5QyPss/edit?usp=sharing

【问题讨论】:

    标签: if-statement google-sheets google-sheets-formula google-sheets-query


    【解决方案1】:

    您需要将您的查询封装到IFERROR:

    =IF(OR(IFERROR(QUERY(LiveAttendanceForm!$A:$C, 
     "select C
      where A >= timestamp '"&TEXT(D$1, "yyyy-MM-dd HH:mm:ss")&"' 
        and A <= timestamp '"&TEXT(D$2, "yyyy-MM-dd HH:mm:ss")&"' 
        and C = "&$C4, 0))=$C4,
           IFERROR(QUERY(LiveAttendanceForm!$A:$D,
     "select D 
      where D = "&$C4, 0))=$C4), "✅", "❌")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-25
      • 1970-01-01
      • 2016-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多