对 Excel 表中指定的列求和,有好多公式可用

很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点。

现在终于有了,以下专栏,从最基础的操作和概念讲起,用生动、有趣的案例带大家逐一掌握 Excel 的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为 Excel 高手。

对指定的月份求和,除了之前分享的公式之外,还有很多函数可用,今天一次性讲三个。


案例:


将下图 1 标题制作成下拉菜单,对选中的月份求和。


效果如下图 2、3 所示。


解决方案 1:


设置下拉菜单。


1. 选中 O1 单元格 --> 选择任务栏的“数据”-->“数据验证”-->“数据验证”


2. 在弹出的对话框中选择“设置”选项卡 --> 在“允许”下拉菜单中选择“序列”--> 在“来源”区域中选择 B1:M1 区域 --> 点击“确定”


下拉菜单设置好了。


接下来开始设置公式了。


3. 在 O2 单元格中输入以下公式:

=SUM(INDEX(B1:M13,,MATCH(O1,B1:M1,0)))


公式释义:

  • MATCH(O1,B1:M1,0):
    • 从区域 B1:M1 中找出与 O1 的值绝对匹配的单元格,并返回该单元格在整个序列中的排位号;
    • 第三个参数 0 表示绝对引用;
  • INDEX(B1:M13,,...):
    • 从 B1:M13 区域中找出排位号为上述结果的行;
    • index 函数是基于行列号查找交汇区域,第二个参数是行,第三个参数是列;此处第二个参数空缺,表示找出列号符合要求的所有行;
  • SUM(...):最后再用 sum 对查找出来的列求和


解决方案 2:


1. 使用如下公式:

=SUMPRODUCT((B1:M1=O1)*B2:M13)


公式释义:

  • B1:M1=O1:将 B1:M1 区域与 O1 的值相比较,会生成一组由 true 或 false 组成的数组;
  • SUMPRODUCT(...*B2:M13):将上述数组与 B2:M13 区域的值相乘再求和,就能得到列标题与 O1 相等的所有数值的加总


解决方案 3:


如果有 365 版本,还可以使用以下公式:


=SUM(XLOOKUP(O1,B1:M1,B1:M13))


公式释义:

  • XLOOKUP(O1,B1:M1,B1:M13):将 O1 单元格与 B1:M1 区域匹配,返回 B1:M13 的值;
  • SUM(...):365 函数会自动生成动态数组区域,sum 对数组中的值求和