gpt4 book ai didi

google-apps-script - 在谷歌表格上查询和比较日期

转载 作者:行者123 更新时间:2023-12-04 03:10:27 29 4
gpt4 key购买 nike

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

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

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

我试过的公式(会出错) - 请注意,我只是选择了 2 列进行测试:

=query(sheet1!A3:N, "选择 I,M where I = 'Singapore' AND DATEVALUE(M)>TODAY() ",0)

=query(sheet1!A3:N, "选择 I,M where I = 'Singapore' AND M>TODAY() ",0)

这个公式没有给出错误但没有显示正确的数据 - 显示除 2017 年 1 月 - 2017 年 8 月 7 日以外的所有数据:

=过滤器(表1!A3:N,表1!I3:I =“新加坡”,表1!M3:M>今天())

此公式给出空输出:

=query(sheet1!A3:N, "选择 I,M where I = 'Singapore' AND M='22 August' ",0)

我是谷歌表格和应用程序脚本的新手,所以感谢任何人的建议
谢谢!!

最佳答案

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 工作表也可能会错误识别日期。

编辑 Google 表格中日期的语法

关于google-apps-script - 在谷歌表格上查询和比较日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45782256/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com