QUERY函数报错NO_COLUMN:A,如何提取指定日期范围数据?
解决QUERY函数报错NO_COLUMN: A的方案
报错原因
你使用的IMPORTRANGE提取的是从A2开始的数据区域,而QUERY默认会将提取到的第一行(即原数据的A2行)识别为表头,导致原本的列标识A、B...I失效,因此出现找不到列A的错误。
具体解决方法
方法一:包含表头行提取数据
修改IMPORTRANGE的范围,包含原数据的表头行(A1),这样QUERY就能正常识别列字母:
=QUERY(IMPORTRANGE(FORMULA!A2,"RawData6.4.23!A1:I500"), "SELECT A, B, C, D, E, F, G, H, I where I > '2023-04-05' and I < '2023-04-06'")
方法二:指定无表头参数
保持IMPORTRANGE的范围不变,给QUERY添加第三个参数0(表示无表头行),并用Col1~Col9替代A~I指代列:
=QUERY(IMPORTRANGE(FORMULA!A2,"RawData6.4.23!A2:I500"), "SELECT Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9 where Col9 > '2023-04-05' and Col9 < '2023-04-06'", 0)
额外注意事项
- 先单独运行
IMPORTRANGE(FORMULA!A2,"RawData6.4.23!A2:I500"),确认已完成跨表格授权,数据能正常加载。 - 确保原数据中I列的日期是标准日期格式,若为文本格式,需用
DATEVALUE函数转换后再做比较,例如:
where DATEVALUE(Col9) > DATEVALUE('2023-04-05')
内容的提问来源于stack exchange,提问作者Del
相关产品推荐
相关产品推荐

