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

如何用单个Google Sheets Query替代31个查询实现日历数据展示?

用单个公式实现日历行与交付日期的匹配

当然可以,不需要重复编写31个QUERY公式,用一个结合了QUERY的数组公式就能完成批量匹配。

方案1(推荐,简洁高效)

在主工作表的结果列首个单元格(比如B2)输入以下公式,自动填充所有31行的匹配结果:

=ARRAYFORMULA(IFNA(VLOOKUP(A2:A32, QUERY(rawdata!A2:B, "SELECT B, A"), 2, FALSE)))
  • 逻辑说明:
    • QUERY(rawdata!A2:B, "SELECT B, A") 将原始数据的交付日期和序列号调换顺序,生成供匹配的临时表
    • VLOOKUP(A2:A32, ..., 2, FALSE) 批量匹配主工作表A列的日期,返回对应的序列号
    • ARRAYFORMULA 实现批量填充,无需逐行复制公式
    • IFNA 处理无匹配日期的情况,返回空白而非错误值

方案2(纯QUERY实现,适合偏好QUERY语法的场景)

如果希望仅用QUERY完成(不借助VLOOKUP),可以使用以下公式:

=ARRAYFORMULA(IFNA(QUERY({A2:A32, rawdata!A2:B}, "SELECT Col1, Col3 WHERE Col1 = Col2 GROUP BY Col1", 0)))
  • 逻辑说明:
    • {A2:A32, rawdata!A2:B} 将主工作表的日期列与原始数据合并成一个临时数组
    • QUERY(..., "SELECT Col1, Col3 WHERE Col1 = Col2 GROUP BY Col1") 筛选出日期匹配的行,按日期分组确保每个日期仅返回一条结果
    • ARRAYFORMULA 和 IFNA 分别实现批量填充和错误处理

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 19:47:07