You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets使用QUERY按日期范围查询多币种数据报错咨询

问题根因

你当前公式报错的核心原因是:当使用{}构造自定义数组作为QUERY的数据源时,无法直接使用工作表原始列标A/B/C/D指代列,必须使用Col1/Col2/Col3/Col4这种按数组列顺序生成的序号指代对应列。你之前用Select *可以正常运行,是因为通配符不需要识别具体列名,不会触发该语法错误。

修复后可运行公式

=QUERY(ARRAYFORMULA({A4:B,TO_TEXT(C4:C),D4:D}),"select Col1, Col2, Col3 where Col4 >= date '"&TEXT(A$2,"yyyy-mm-dd")&"' and Col4 <= date '"&TEXT(B$2,"yyyy-mm-dd")&"' Label Col3 'Cost'")

注意事项

  • 你之前给C列加TO_TEXT转换的逻辑是对的,因为QUERY默认会按列的多数数据类型做统一转换,混合币种格式的数值如果不转文本,非美元的格式会被强制清除或者返回空值。
  • 如果后续扩展数组里的列,只需要按数组从左到右的顺序递增Col的序号即可,比如你在数组最后加了E列,对应的列名就是Col5。
  • 公式里A4:B如果要限定行范围可以改成具体的行区间,避免全列扫描拖慢表格运行速度。

内容的提问来源于stack exchange,提问作者allison

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 00:15:03