`
tubaluer
  • 浏览: 1445804 次
文章分类
社区版块
存档分类
最新评论
  • sblig: c / c++ 是不一样的都会输出 100
    j = j++

Excel 公式(sumif, sumproduct)

 
阅读更多

废话少说,先看看基本数据:

excel_1

数据里面首先有“部门”分组,然后有“级别”分组,为了演示公式,数据里还有0, 50, 100固定3种补助形式。我们要根据这些数据进行一些分组合计。

1. 单一条件集计, 对于简单的单一条件我们直接使用 sumif 公式就可以达到目的。
公式说明: sumif(匹配范围, 条件, 合计范围)
我们来看看怎么统计3个部门的工资,OK先准备3个单元格,公式写入
=sumif(A$2:A$15, G2, D$2:D$15) A列是条件匹配列,D列式合计列,“$”表示固定位置拷贝公式的时候不会自动改变位置。这样写好第一个公式后,直接拷贝到下面其他单元格公式也能正常执行。否则拷贝公式时,公式里的范围会自动往下加1。
excel_2

显示结果如下:
excel_3

2. 复合条件集计,对于一个条件以上的集计 sumif 就不能派上用场了,sumproduct 隆重登场。
公式说明: sumproduct(数组1, 数组2, 数组3, …) 它将多个数组相乘后合计。数组中非数字的数据将被当做0计算。
为了了解 sumproduct 公式,先看一个简单的应用:
excel_4
那么结果应该是 =30x3 + 40x2 + 50x1 =220

那么可以利用: 数组1=xxx (xxx可以是指定的数据,也可以是单元格) 这样的表达式进行某种条件的过滤, 分析一下 sumproduct((A1:A10=a)*(B1:B10)) 就相当于
(A1=a)*B1 + (A2=a)*B2 + … + (A10=a)*B10 的写法,其中条件匹配的话返回的就是1,不匹配就是0。所以匹配的就会加上,不匹配的就相当于加上0。

接上,我们进一步求出“各部门中不同级别的合计”:
=SUMPRODUCT((A$2:A$15=A20)*(C$2:C$15=B20)*D$2:D$15)
解释一下就是 部门列满足单元格A20内容,且级别列满足单元格B20内容,的工资进行合计。
excel_5
如上图所示,行政部中所有级别是A的工资被合计出来了。(涂成黄色部分)

3. sumproduct 除了sum功能,我们还可以利用它进行 count。
我们还要统计出各个部门里补助=100的个数,怎么做呢?
=SUMPRODUCT((A$2:A$15=A18)*(E$2:E$15=B18))
这个公式的解释就是匹配的加1,不匹配的加0。
excel_6

多谢收看,本介绍完毕~

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics