如何在Google Sheets中合并两个工作表并按首列分组求和
Google Sheets 跨工作表自动汇总公司成本方案
方案一:用UNIQUE+BYROW实现动态汇总
- 获取所有唯一公司名
在汇总表的A2单元格输入公式:
=UNIQUE({Sheet1!A:A; Sheet2!A:A})
这个公式会自动合并两个工作表的Company列并去重,新增公司时会自动更新列表。
- 自动计算对应总成本
在汇总表的B2单元格输入公式:
=BYROW(A2:A, LAMBDA(company, SUM(SUMIF(Sheet1!A:A, company, Sheet1!B:B), SUMIF(Sheet2!A:A, company, Sheet2!B:B))))
它会遍历A列的每个公司,分别计算两个工作表中该公司的成本总和,新增数据时自动刷新结果。
方案二:用QUERY一步完成分组求和
直接在汇总表的A2单元格输入公式:
=QUERY({Sheet1!A:B; Sheet2!A:B}, "SELECT Col1, SUM(Col2) WHERE Col1 IS NOT NULL GROUP BY Col1 LABEL Col1 'Company', SUM(Col2) 'Total Cost'")
这个公式会合并两个工作表的所有数据,自动按公司分组求和,同时生成表头,新增数据或公司时会自动更新整个汇总表。
为什么之前的SUMIF无法满足需求?
普通SUMIF需要手动指定要汇总的公司名称,没法自动捕捉新增的公司条目。而上面的方案用了Google Sheets的动态数组函数(UNIQUE、BYROW、QUERY),可以自动扩展范围,无需手动维护公司列表,完全实现自动更新。
内容的提问来源于stack exchange,提问作者Casey D
相关产品推荐
相关产品推荐

