Google Sheets QUERY函数文本格式日期范围筛选问题
在Google Sheets的QUERY函数中筛选文本格式的日期范围
针对你遇到的文本格式日期(如"2020-04-22 13:34:03")筛选问题,有几种简单直接的解决方案:
直接利用字符串比较(最简便)
由于你的文本日期是YYYY-MM-DD HH:MM:SS格式,这种格式的字符串排序逻辑和日期排序完全一致,所以可以直接在QUERY的WHERE子句中用字符串形式的日期做范围判断:=QUERY(A:F, "SELECT * WHERE F >= '2020-04-20'", 1)这里的
'2020-04-20'是你要筛选的起始日期字符串,公式会自动匹配所有日期部分大于等于该值的记录(包括当天任意时间的条目)。如果需要精确到时间,直接加上时间即可:=QUERY(A:F, "SELECT * WHERE F >= '2020-04-20 12:00:00'", 1)转换为日期类型后比较(更严谨)
如果担心文本格式可能出现异常,或者需要明确按日期类型判断,可以先提取日期部分并转换为日期格式再比较:=QUERY(A:F, "SELECT * WHERE TO_DATE(LEFT(F, 10)) >= DATE(2020,4,20)", 1)其中
LEFT(F,10)提取文本中的日期部分(如"2020-04-22"),TO_DATE()将其转换为日期类型,DATE(2020,4,20)则生成对应的起始日期值。补充说明
你之前用CONTAINS筛选单日数据是匹配子串,而>=是按顺序比较——只要文本日期是标准的YYYY-MM-DD开头,字符串比较的结果就和日期逻辑完全一致,所以第一种方法足够应对大多数场景。
内容的提问来源于stack exchange,提问作者David G dgg
相关产品推荐
相关产品推荐

