如何修复 google 传播 sheet 中的 "Query returns and empty value" 错误

How to fix "Query returns and empty value" error in google spread sheet

我有以下代码。我已经阅读了很多关于如何解决返回空值的查询的线程,但其中 none 对我的情况有效。 我还分享了一个解决方法 Google spreadsheet。 我要做的是按查询搜索第一个选项卡,如果匹配,则显示绿色勾号,否则显示红色叉号。 下面的代码适用于绿色勾号,但如果是红色叉号,则会显示错误。

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

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

我也试过在查询前使用 iferror 函数,但它显示所有字段为 true 并使所有单元格都变成绿色勾号。如果有人能帮我解决这个恼人的问题,我将不胜感激! Googlesheet的link分享如下:

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

您需要将查询包装到 IFERROR:

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