um函数大概是很多小伙伴学习excel最先接触的一个函数。估计大家使用这个函数的频率也是很高的,有些朋友可能都比较熟练,认为自己掌握得差不多了。其实sum是一个功能很强大的函数,有些功能一直被人所忽略。
sum函数使用共分为四大类:简单求和,生成序列,文本计数求和,数组扩展求和。
第一,简单求和
分为水平方向和垂直方向求和。首先是连续区域求和,请看下图,要求在f5单元格中求出c5:e5三个单元格的和。公式为:=sum(c5:e5),结果为:600。
请看下图,要求在c11单元格求出c8:c10单元格的和。公式为:=sum(c8:c10),结果为:600。
接下来是,单个单元格求和,如下图所示,在f14单元格,求出c14,d15,e14单元格的和。公式为:=sum(c14,d15,e14),结果为:600。
根据个人的使用习惯不同,有些人喜欢输入公式求和,也有朋友喜欢点击求和快捷图标来求和,方法不同,但结果都是一样的。
下面是复合范围求和,如下图所示,要求在e21单元格求出c18:c20和e18:e20单元格区域的和。公式为:=sum(c18:c20,e18:e20),结果为: 4800。
下面是交叉区域求和。交叉求和指两个数据区域范围内有相交范围的和。交叉区域求和,在两个区域之间,使用空格隔开。中间添加一个空格,代表告诉excel需要执行交叉计算。如下图所示,在i37单元格求交叉区域的和,公式为:=sum(c31:f35 e33:h37),结果为:501。提示:如果是求交叉以外的区域的和,可以使用公式:=sum(c31:h37)-sum(e33:f35),结果为:2375。
第二,巧用sum函数生成序列
我们在实际工作中,经常会生成下图所示这样的序列,其方法就是分别在:d43和c44单元格分别输入:= sum(c43,1),然后分别向右和向下拖到复制即可生成序列。本公式就是使用了excel对于求和时,文本会被忽略的原理实现的。
如果是生成下图所示的序列,就是每个单元格序列增加为3的倍数,都是隔3,该如何做呢只需把公式改为:= sum(c43,3)即可。
当然,使用用row(a1),跟column(a1)也可以生成行和列,只是我们本次主要讨论sum函数的用法。
第三,文本求和的使用
文本求和,会涉及到数组公式,数组公式就是同时按键盘上的【ctrl】+【shift】+【enter】完成公式编写。简而言之,以三键结束的就是“数组公式”,不以三键结束的就不是,不论其是否执行了“数组运算”。“数组公式”的概念只涉及公式的表达形式,而不是公式内部的运算模式,不应该将其同“数组运算”混淆了。“数组公式”只是用来显式通知excel,某公式被用户要求执行数组的计算方式的表达形式。
如下图所示,要求在d52单元格求出b52:b63的和。因为这个区域的数据其实是文本,一般情况下用sum求和会出错的。比如在d52单元格输入公式:=sum(b52:b63),得到的结果是0。显然是错误的。
要对文本求和,方法有很多种,比如借用value、*1,/1,+0,--得正等等,只要能够让文本参与运算就行。这里我们就在d52单元格输入:=sum(--b52:b63),输入公式后按下三键结束,得到结果为:78。
上图中在e52单元格,求出b52:b63区域中大于5的个数。方法也一样,先把文本转换为数值,公式为:=sum(1*(-- b52:b63>5)),然后按下三键结束,得到结果为:7。
通常情况下,我们计数都是使用countif函数,其实sum也可以做到。
上图中在f52单元格,求出b52:b63区域中大于5的和。使用的条件求和,主要是加入比较符号= > = <= 这几个符号,来获得满足需要的条件区域|(数值)。我们参考上面求个数的方法,只需在后面加一个区域就行。比如公式为:=sum(1*(-- b52:b63>5) * b52:b63),或者=sum((--b52:b63>5)*b52:b63),前面1*不用,可以省略。然后按下三键结束,最后,得到结果为:63。
第四,数组扩展求和的使用
如下图所示,求出1-6月销售额且大于200的和
1-6,实际就是<=6。在e69单元格输入公式:=sum((b69:b80200)*c69:c80),按下三键结束,最后,得到结果为:1810。
上面的公式,也可以使用sumproduct函数实现,sumproduct和sum函数的用法差不多,只是按一键和三键的区别。
上图中,还需要求出奇数月的销售额。可以使用公式:=sum(if(mod(b69:b80,2),c69:c80)),按下三键结束,最后,得到结果为:2196。