如何使用SUM函数
SUM函数可能是Excel中最常见的函数,它对数值求和。任何使用过Excel的人都可能或多或少接触过SUM函数。
在什么情况下应该使用SUM函数?
SUM函数计算数值之和,它可以:
求单元格区域值的总和。
求相交区域中单元格值的总和。
跨工作表求和。
逐行汇总
自动展开求和单元格。
在数组公式中使用SUM函数。
偶数行中单元格的数值总和。
对单元格区域中的正值求和。
求和函数语法
SUM函数最多有255个参数,其语法如下:
总和(数字1,[数字2],…)
数字1:要求和的数字。逻辑值和文本可以用作它们的参数,但在求和时会被忽略。
用于求和的参数可以是单元格、单元格区域或公式。
求和函数陷阱
当遇到数字文本时,SUM函数将数字文本转换为数字,将TRUE转换为1,将FALSE转换为0,并将日期文本转换为数字序列号。
下面两个公式的结果都是3:
=SUM(1,1,1)
=SUM(1,1,“1”)
以下两个公式的结果是2.5:
=总和(1.5,真)
=SUM(1.5,9=3*3)
以下公式的结果是42976:
=SUM(“2017-8-29”)
在某些情况下,当在放置sum公式的单元格上方插入新行时,SUM函数有时会忽略该行。
示例1:对单元格区域的值求和。
需要第一季度各地区的总销量,B7单元格中的公式为:
=SUM(B2:D5)
提示:在放置SUM公式的单元格中按Alt=会自动插入SUM函数。
示例2:对交集区域中的单元格值求和。
SUM函数可以计算相交区域中单元格值的总和。所谓的交叉区域是由两个或多个单元区域共享的部分区域。Excel使用空格作为交叉运算符。以下公式计算单元格区域C3:F5和交集区域E3:F7中的值之和:
=SUM(C3:F5 E3:F7)
示例3:跨工作表求和。
有时,需要多个工作表中同一单元格区域的值的总和。例如下图所示的工作表需要华东地区三家门店1-3月的商品总和。工作表中的格式和位置相同,因此可以使用以下公式:
=SUM(1月: 3月!B2)
这样,使用SUM函数汇总每月、每周或每天出现的具有相同结构的工作表非常有用。
示例4:逐行汇总。
下图工作表中,需要逐行汇总库存数量,即前一天的库存数量和当天的出库或入库数量。单元格D3中的公式为:
=SUM(3: C3加元)
注意公式中的C$3是混合引用,也就是行为的绝对引用,这个值在公式下拉时不会改变,保证了计算的起点始终在第三行。将公式下拉到D7,汇总每行的库存。单元格D7中的公式为:
=SUM(3: C7加元)
示例5:自动扩展求和单元。
有时,将行插入求和单元格时,该单元格的值可能会被忽略。在下图所示的工作表中,在第6行上方插入一行,新行中的单元格可能不包含在SUM函数中。但是,如果使用公式:
=SUM(C1:OFFSET(C6,-1,0))
公式自动包括从C1单元格到公式所在单元格的所有单元格。
示例6:在数组公式中使用SUM函数。
如果需要一组数值中最大值或最小值的总和,可以在数组公式中使用SUM函数。下图显示了单元格A1:A7中两个值的最大和,即80和90的和。单元格B1中的公式为:
=SUM(LARGE(A1:A6,{1,2}))
公式为数组公式,输入后按Ctrl Shift+Enter,Excel会自动在公式两边放上大括号。
您也可以使用数组公式:
=SUM(LARGE(A1:A6,ROW(INDIRECT("1:2 ")))
使用ROW函数和INDIRECT函数的组合来获得前两个最大值更为灵活。
您也可以在单元格中输入前几个最大值,然后引用公式中的单元格。如果要获得的最大值位于C1单元格中,请使用数组公式:
=SUM(大(A1:A6,ROW(间接(“1”C1)))
单元C1中的数组充当变量,当其中的值被修改时,相应的结果也会相应地改变。
示例7:对单元格区域中的正值求和。
在下图所示的工作表中,命名区域“数据”是单元格区域A1:C13,以及数组公式:
=总和((数据0)*数据)
在数据中查找正值的总和。测试公式区域中的每个值是否大于0。如果大于0,则Data0返回TRUE(即1),否则返回FALSE(即0)。这样,SUM函数的参数只包括正数。
示例8:对偶数行中的单元格值求和。
下图所示的工作表需要rngData区域中偶数行的单元格值之和才能使用数组公式:
=SUM(IF(MOD(ROW(rngData),2)=0,rngData,0))
对于rngData区域的每个单元格,如果是偶数行,MOD(ROW(rngData),2)将返回0,并将该单元格中的值相加;否则,该行中的值将被替换为0,也就是说,该单元格中的值不会求和。
如果需要每n行中单元格的总和,可以使用数组公式:
=SUM(IF(MOD(ROW(rngData),n)=1,rngData,0))
将第1行、第n 1行等中的值相加。