有的时候,我们除了对数据进行总计外,还有一些表内的小项目要进行小计,如下图:
有的时候,我们除了对数据进行总计外,还有一些表内的小项目要进行小计,如下图:
地球人都知道用 SUM 可以求和,比如在B7单元格里输入:=SUM(B2:B6)
按下回车即可得出结果,后面 C7:E7 的也只要向右填充或者复制 B7 粘贴过去即可。
可是第11行呢?把 B7 的公式直接贴过去后不能用啊……
所以,在这里不能靠一个简单的 SUM 来解决问题了,而是要用下面这个公式:
=SUM(B$2:B6)-SUMIF($A$2:$A6,"小计",B$2:B6)*2
这个公式其实是妙用了绝对引用与相对引用,以及 SumIf 函数。
先看 B7 的公式:
=SUM(B$2:B6)-SUMIF($A$2:$A6,"小计",B$2:B6)*2
这个公式很好理解:
SUM(B$2:B6) 就是计算 B2:B6 这五个单元格里数值的和;因为 A2:A6 里没有“小计”,所以 SumIf 部分的结果是 0;B2:B6 的和加上 0,结果正是我们所需要的。
再看 B11 的公式,因为绝对引用不改变地址,而相对引用会让公式随着所在单元格的地址的不同而变化,在复制后原公式变成了:
=SUM(B$2:B10)-SUMIF($A$2:$A10,"小计",B$2:B10)*2
SUM(B$2:B10) 是计算 B2:B10 这九个单元格里数值的和,这里分成三个部分: B2:B6 即所有项目 A 的总和、B7 即 A 类小计、以及 B8:B10 即所有项目B的总和,而我们只需要第三部分:所有项目 B 的总和,前两部分需要设法减去;事实上,所有项目 A 的总和和 A 类小计是一回事,所以需要减去的,可以看成是两个 A 类小计,而 SumIf 公式,恰恰计算了 A 类小计,;B2:B10 的和减去两个 A 类小计,结果正是我们所需要的所有项目 B 的总和。
其他的公式同理类推了。
不过就算有了这个公式,一行一行复制粘贴也是个体力活,可以用定位法处理更快捷些:
最后的总计,当然用=SUM(B1:B6,B8:B10……太累了,可以简化一下:
公式:=SUM(B2:B28)/2 或者:=SUMIF($A2:$A28,"小计",B2:B28)
效果如何自己爬进单元格试下咯^_^