Google Sheets QUERY函数引用变量日期做区间查询报错解决
报错原因
报错提示里的44713是Google Sheets存储日期的底层序列值,即使你把B1、B2、AK列的单元格显示格式设置为yyyy-MM-dd,直接通过&拼接引用单元格时,QUERY函数读取到的是底层的数字序列,不是要求的yyyy-MM-dd格式字符串,因此触发日期字面量解析失败。另外你原有公式里的日期上下限都引用了B1,和你B1存起始日期、B2存结束日期的设置不匹配。
修正后的公式
直接将原有公式替换为以下内容即可:
=QUERY('ALL DATA'!$A:$AW,"select C,F,K,AA,AK,AM where C=1 and AK >= date '"&TEXT(B1,"yyyy-MM-dd")&"' and AK <= date '"&TEXT(B2,"yyyy-MM-dd")&"'")
注意事项
- 公式里用
TEXT(日期单元格,"yyyy-MM-dd")做了显式格式转换,不管单元格怎么设置显示格式,都会输出QUERY能识别的标准日期字符串 - 已经修正了原有公式上下限都引用B1的笔误,结束日期改为引用B2单元格
- 只要B1、B2存储的是标准日期类型值(不是手动输入的文本型日期),修改这两个单元格的日期时,查询结果会自动同步更新
- 如果修正后仍出现类型不匹配的问题,选中'ALL DATA'工作表的AK整列,将单元格数字格式设置为「日期」,确保列内没有混杂文本格式的日期内容即可。
内容的提问来源于stack exchange,提问作者faratim
相关产品推荐
相关产品推荐

