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

如何在Google Sheets QUERY公式中添加动态匹配日期的列元素

动态匹配当日日期列的QUERY公式修改方案

最终可用公式

=QUERY('orders'!A1:GU2000, "select A,"&REGEXREPLACE(ADDRESS(1, MATCH(TODAY(), 'orders'!1:1, 0), 4), "\d+", "")&",B,D,E,F,G,H,I,J,K,L,M where "&REGEXREPLACE(ADDRESS(1, MATCH(TODAY(), 'orders'!1:1, 0), 4), "\d+", "")&" is not null and C='RAM'")

逻辑拆解

  • MATCH(TODAY(), 'orders'!1:1, 0):在orders表的表头行(第一行)搜索等于当日日期的列,返回对应的列序号(A列对应1,B列对应2,以此类推)。
  • ADDRESS(1, 列序号, 4):根据列序号生成相对格式的单元格引用,例如列序号113会返回DI1。
  • REGEXREPLACE(单元格引用, "\d+", ""):删除单元格引用中的行号数字,仅保留列字母标,例如把DI1处理为DI。
  • 用&符号将动态生成的列标拼接到QUERY的查询字符串中,替代原本手动填写的固定列标DI。

注意事项

  • 需保证orders表表头的日期格式和TODAY()返回的日期格式完全一致,否则会出现匹配失败的#N/A错误。
  • 若需要处理匹配不到的异常,可以在外层加IFERROR包裹,示例:=IFERROR(上述完整公式, "未找到当日对应列")。
  • 若表头不在第一行,将公式中'orders'!1:1的行号1改为实际表头所在的行号即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 05:36:03