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

如何按另一工作表排序规则重新排列Google Sheets查询结果?

解决QUERY汇总结果按指定工作表顺序排列的问题

问题描述

我使用以下QUERY公式汇总两个工作表的数据:

=QUERY({'1st'!A7:D;'2nd'!A7:D}, "SELECT Col1, SUM(Col2), SUM(Col3), SUM(Col4) GROUP BY Col1")

计算结果符合预期,但需要让汇总结果按照'Master Chart'工作表中分类项的排序规则排列。直接用ORDER BY结合GROUP BY无法实现自定义顺序,求保留查询结果并按指定顺序排列的方法。

解决方案

方法1:用SORTBY+MATCH实现自定义排序

通过SORTBY函数结合MATCH,将QUERY的结果按照'Master Chart'中的位置排序,公式如下:

=LET(
  queryResult, QUERY({'1st'!A7:D;'2nd'!A7:D}, "SELECT Col1, SUM(Col2), SUM(Col3), SUM(Col4) GROUP BY Col1"),
  SORTBY(queryResult, MATCH(INDEX(queryResult,,1), 'Master Chart'!A:A, 0))
)
  • LET函数存储QUERY结果,避免重复计算,提升效率
  • MATCH函数返回每个汇总项在'Master Chart'!A列中的位置序号
  • SORTBY根据该序号对QUERY结果排序,完全匹配'Master Chart'的顺序

方法2:用VLOOKUP映射到指定顺序列表

如果需要直接在'Master Chart'工作表生成对应汇总数据,可在该表B2单元格输入以下公式,再向右、向下填充:

=IFERROR(VLOOKUP(A2, QUERY({'1st'!A7:D;'2nd'!A7:D}, "SELECT Col1, SUM(Col2), SUM(Col3), SUM(Col4) GROUP BY Col1"), 2, FALSE), 0)
  • 公式中2对应汇总结果的第2列(SUM(Col2)),C列填充时改为3,D列改为4
  • IFERROR处理'Master Chart'中存在但无汇总数据的项,默认显示为0(可按需调整)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 22:54:35