首页 文章

在Google工作表上查询和比较日期

提问于
浏览
1

我正在制作sheet1的副本到另一个sheet2(相同的文档),并且query()工作正常,直到我要过滤的列是公式单元格(每个有查询,匹配等的LONG) .

我想要做的是过滤Sheet1中的行,其中M列中的事件日期即将到来(有更多的过滤条件,但只是为了简化这是主要问题) .

我不希望日期为空的行,过去(各种日期格式),或者公式给出空字符串“”的结果 .

The formulas i've tried (which gives error) - note i'm just selecting 2 columns for testing:

=查询(sheet1!A3:N,“选择I,M,其中I ='新加坡'和DATEVALUE(M)> TODAY()”,0)

=查询(sheet1!A3:N,“选择I,M,其中I ='新加坡'和M>今天()”,0)

This formula doesn't give error but doesnt show correct data - shows all data except Jan 2017 - August 7 2017:

= FILTER(sheet1!A3:N,sheet1!I3:I =“Singapore”,sheet1!M3:M> TODAY())

This formula gives empty output:

=查询(sheet1!A3:N,“选择I,M,其中I ='新加坡'和M = '22 8月'”,0)

我是google sheet&apps脚本的新手,所以感谢任何人的建议谢谢!

1 回答

  • 1

    Query中没有today() .

    =query(sheet1!A3:N, " select I,M where I = 'Singapore' AND M > now() ",0)
    

    这应该在理论上有效,前提是你有任何格式的M中的所有正确日期,无论实际字符串如何,Google表格都会识别(即公式栏显示正确的日期或时间) . 如果没有,您应该手动将所有剩余日期转换为正确的格式 . 要在查询公式中输入的正确日期格式为 date 'yyyy-mm-dd' . 表单中的日期格式无关紧要(只要Google表单识别出这一点),但实际公式必须仅包含此格式的日期以进行比较 . 例如,要查找2017年8月31日以下的所有日期,

    =query(A2:B6, "select A where A < date '2017-08-31'")
    

    您可以使用它来计算Google无法识别的所有日期:N:N = M:M * 1如果在辅助列N中出现错误,则无法识别这些日期 . 即使您没有收到错误,Google表单也可能错误地识别日期 .

    EDIT Google表格中的日期语法

相关问题