我正在将工作表1的副本复制到另一个工作表2(同一文档)上,并且query()正常工作,直到我要过滤的列是公式单元格(每个都有查询,匹配等的长单元格)。
我想做的是在sheet1中的事件日期即将到来的sheet1中过滤行(有更多过滤条件,但只是为了简化这是主要问题)。
我不希望日期为空的行(过去(各种日期格式))或公式给出空字符串“”的结果的行。
我尝试过的公式(会产生错误)-请注意,我只是选择2列进行测试:
= query(sheet1!A3:N,“选择I,M,其中I ='新加坡'并且DATEVALUE(M)> TODAY()”,0)
= query(sheet1!A3:N,“选择I,M,其中I ='新加坡'并且M> TODAY()”,0)
该公式不会给出错误,但不会显示正确的数据-显示2017年1月至2017年8月7日以外的所有数据:
= FILTER(sheet1!A3:N,sheet1!I3:I =“ Singapore”,sheet1!M3:M> TODAY())
该公式给出的输出为空:
= query(sheet1!A3:N,“选择I,M,其中I ='新加坡'并且M ='8月22日'”,0)
我是Google表格和应用程序脚本的新手,非常感谢任何人的建议谢谢!
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表格中日期的EDIT语法
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句