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

Excel如何根据单元格内指定列名对对应多列的总和执行求和运算

解决方案

前提说明

先统一单元格位置约定:

  • Sheet2中输入列名组合的单元格为B2(对应Items_chosen行、Choose Variables here列)
  • 输出结果的单元格为G2(对应Result列)
    如果你的实际单元格位置不同,替换公式里的B2为你实际的输入单元格即可。

公式实现

适用Excel 365/2021及以上版本(支持TEXTSPLIT函数)

在结果单元格输入以下公式即可自动计算:

=SUMPRODUCT(SUM(INDIRECT("Sheet1!"&TEXTSPLIT(B2," + ")&":"&TEXTSPLIT(B2," + "))))

公式逻辑:

  1. TEXTSPLIT(B2," + "):把输入的列名组合按分隔符+(加号前后各一个空格)拆分,得到单独的列名数组,比如输入Veggies + Snacks + Dairy会拆分为{"Veggies","Snacks","Dairy"}
  2. 拼接Sheet1!和列名,生成对应列的整列引用文本,比如Sheet1!Veggies:Veggies
  3. INDIRECT函数把文本格式的引用转为实际可计算的单元格引用
  4. SUM分别计算每个选中列的总和,最后SUMPRODUCT把所有列的总和相加得到最终结果。

适用旧版Excel(无TEXTSPLIT函数)

使用FILTERXML实现拆分逻辑,公式如下:

=SUMPRODUCT(SUM(INDIRECT("Sheet1!"&FILTERXML("<t><s>"&SUBSTITUTE(B2," + ","</s><s>")&"</s></t>","//s")&":"&FILTERXML("<t><s>"&SUBSTITUTE(B2," + ","</s><s>")&"</s></t>","//s"))))

注意事项

  • 输入列名组合时,列名、加号、空格的格式要和公式里的分隔符完全匹配,如果你输入时加号前后没有空格,就把公式里的" + "改成"+"即可
  • 输入的列名必须和Sheet1的表头完全一致,拼写、大小写都不能出错,否则会返回#REF!错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 10:18:00