- 人事必须知道的80个Excel函数
- 起点文化编著
- 416字
- 2020-08-27 09:29:12
案例17计算车间盈亏(MMULT)
☉ 源文件:CDROM\02\2.6\案例17.xls
打开光盘中的数据文件,在单元格B7中输入如下公式:
=SUM(MMULT((B3:E5>0)*B3:E5,{1;1;1;1}))
在单元格B8中输入如下公式:
=SUM(MMULT((B3:E5<0)*B3:E5,{1;1;1;1}))
以上公式将分别返回本年度盈亏合计,结果如图2-27所示。
图2-27计算车间盈亏
公式说明
第一个公式中MMULT函数用于统计B3:B5区域中大于0的数据,结果是一个3行4列的数组,再用SUM函数将这个数组求和得到区域中大于0的数据和。
案例提示
1.本例中“(B3:E5>0)*B3:E5”用于排除小于等于0的数据,取得的是一个3行4列的数组,然后再对函数添加一个辅助参数{1;1;1;1},它的行数等于第一参数的列数,两个参数的对应乘积后得到一个1列3行的数组,最后通过SUM函数汇总。
2.MMULT函数有多个运算结果时,必须要以多单元格数组公式的形式录入公式;但如果外套SUM函数对MMULT函数的多结果进行汇总时,则可以用普通公式形式录入公式。
3.第二个辅助参数因为需要与第一参数的列数一致,故使用“{1;1;1;1}”。注意其间是分号,不是逗号。而产生一个全是1的1列多行的数组,除了本方法以外还有一个更通用的方法:
“ROW(1:4)^0”也能产生一个1列4行且全是1的数组。这种方法在列数多时更能突显其优势。通常用它来替代“{1;1;1;1}”。
4.本公式也可以用SUMIF函数来完成,例如公式:
=SUMIF(B3:E5,">0")
然而SUMIF函数的第一个参数和第三个参数必须是单元格引用,在某些时候MMULT函数可以取代SUMIF函数来完成统计工作。