excel宏的多条件求和

excel加载宏的条件求和每次只能算出一个人的业绩总和,要如此反复多次才能算出每个人的业绩和,如果人员比较多的话会很麻烦,有没有办法一次算出每个人的业绩和呢,谢谢,哦,前提是我已经按照业务员做好排序

第1个回答  2013-08-11
单条件求和是 SUMIF、单条件计数是 COUNTIF、单条件平均是 SUMIF/COUNTIF,这个只要用 EXCEL 函多条件:

如果是offcie 2003版,那只能用那个蜗牛数组函数来解决2010版: 点击编辑栏(在选项卡和列标之间)左边的 fx

如果是在2003版,在类别中选择“ 统计 ”,就可以先找到 COUNTIF 这个函数:
用同样的方法在2003版的“ 数学与三角函数 ”类别里找,可以看到 SUMIF:

而2010版里,SUMIF 和 SUMIFS 是同时进行的:

单从函数名:COUNTIFS 是 COUNTIF 的复数形式、SUMIFS 是 SUMIF 的复数形式 多条件计数:COUNTIFS
在原来 COUNTIF 两个参数的基础上增加N多条件和条件区域。

多条件求和:SUMIFS
在原来的 SUMIF 三个参数的基础上增加N多条件和条件区域。

多条件平均:AVERAGEIFS
本身在2010版里,单条件平均已不再需要 SUMIF/COUNTIF,而是一个 AVERAGEIF 就可以解决,不仅如此,还在 AVERAGEIF 的基础上新增了多条件平均函数 AVERAGEIFS,这两个函数与 COUNTIF 同属“ 统计 ”类别:

AVERAGEIFS 的参数:
要分别求部门二经理人员的人数、总工资、平均工资:
部门二经理人员的人数: =COUNTIFS(C2:C24,"部门二",E2:E24,"经理")
部门二经理人员的总工资: =SUMIFS(F2:F24,C2:C24,"部门二",E2:E24,"经理")
部门二经理人员的平均工资: =AVERAGEIFS(F2:F24,C2:C24,"部门二",E2:E24,"经理")

如果数据源25行以后就没有内容,上面这三个函数还可以引用整列:
部门二经理人员的人数: =COUNTIFS(C:C,"部门二",E:E,"经理")
部门二经理人员的总工资: =SUMIFS(F:F,C:C,"部门二",E:E,"经理")
部门二经理人员的平均工资: =AVERAGEIFS(F:F,C:C,"部门二",E:E,"经理")

比较一下,如果用2003版函数:
部门二经理人员的人数: =SUMPRODUCT((C2:C24="部门二")*(E2:E24="经理"))
部门二经理人员的总工资: =SUMPRODUCT((C2:C24="部门二")*(E2:E24="经理")*F2:F24)
部门二经理人员的平均工资: = SUMPRODUCT((C2:C24="部门二")*(E2:E24="经理")*F2:F24)/ SUMPRODUCT((C2:C24="部门二")*(E2:E24="经理"))

这种用法不仅不能引用整列,而且数据量大时运算速度非常慢。
(以上三个函数亦可以用 SUM 数组,即以 SUM 代替 SUMPRODUCT,按 CTRL+SHIFT+ENTER 结束)
第2个回答  2013-08-11
已经排好序的话,用分类汇总就可以了啊。用透视表也很简单。数据量少的话用函数也是可以的。要用宏的话,感觉反而搞复杂了,而且也得看你表的结构才能更改宏。