【问题标题】:Date comparison in query not matching when the cells being compared are date but works if cells are made into text当被比较的单元格是日期时,查询中的日期比较不匹配,但如果将单元格制成文本则有效
【发布时间】:2021-05-08 00:14:36
【问题描述】:

供参考的样本表:https://docs.google.com/spreadsheets/d/1P1XTAFzI1-M0zJZtKiBviSfohXcqbzaPEnxHlQ4zDSU/edit?usp=sharing

我试图将一个日期单元格与一列日期单元格进行比较。我正在使用查询功能列出所有匹配的行。具体来说,我将呼叫日志详细信息表中的日期列与 EOD 表中的日期单元格 B2 进行比较。当我将 2 张工作表中的列和单元格都格式化为 mm/dd/yy 时,该功能不起作用。但是,当我将 2 张工作表中的列和单元格都设置为纯文本格式时,该函数将起作用并显示行。我不能将呼叫日志详细信息中的列设为纯文本,因为我要添加日历并将使用日期进行计算。我如何才能使比较至少与作为日期值的列以及如果可能的单元格一起使用?

这是我用来输出在单元格 B2 的 EOD 表中找到的行的公式:

=query('Call Log Details'!A2:X," select T where A = '"&B1&"' order by A,B,D",0)

【问题讨论】:

    标签: google-sheets google-sheets-formula


    【解决方案1】:

    查询只理解这种格式的日期:

    yyyy-mm-dd
    

    使用:

    =QUERY('Call Log Details'!A2:X,
     "select T 
      where A = date '"&TEXT(B1, "yyyy-mm-dd")&"' 
      order by A,B,D", 0)
    


    T 列的建议:

    ={"RESERVED!!!"; ARRAYFORMULA(
     {IF('Call Log Details'!E2:E="",,CHAR(10)&
     "DATE : "&TEXT('Call Log Details'!A2:A+'Call Log Details'!B2:B, "m/d/yy h:m AM/PM")&CHAR(10)& 
     "PT: "&'Call Log Details'!D2:D&CHAR(10)&
     "FROM: "&'Call Log Details'!E2:E&CHAR(10)& 
     "RELATION TO PATIENT: "&'Call Log Details'!F2:F&CHAR(10)&
     "CALL BACK# "&'Call Log Details'!G2:G&CHAR(10)&CHAR(10)& 
     "MESSAGE.: "&CHAR(10)&'Call Log Details'!J2:J&CHAR(10))})}
    

    【讨论】:

    • 好的,对于这种情况,对我来说有两个重要的收获是我需要在“=”符号之后添加“日期”这个词,并将日期转换为“yyyy-mm-dd” .非常感谢,代码运行良好!
    • @googlesheettest 是的,没错。答案已更新
    • 哦是的很好,这只是以前的工作,因为我的列 A 是文本格式。非常感谢你提出这个问题。你很有帮助!
    猜你喜欢
    • 1970-01-01
    • 2020-04-21
    • 2012-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多