如何修复Google电子表格中的“查询返回和空值”错误

时间:2019-09-12 13:01:25

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

我有以下代码。我已经阅读了许多关于如何解决查询返回空值的线程,但是在我的情况下,它们都不起作用。 我还分享了一种解决方法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函数,但是它将所有字段显示为true,并使所有单元格变为绿色。如果有人可以帮助我解决这个令人讨厌的问题,我将不胜感激!共享Google工作表的链接如下:

https://wiki.jenkins-ci.org/display/JENKINS/vSphere+Cloud+Plugin

1 个答案:

答案 0 :(得分: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), "✅", "❌")

enter image description here