SUMPRODUCT函数的作用是在给定的几组数组中,将数组间对应的元素相乘,并返回乘积之和。其语法格式为SUMPRODUCT(数据1,数据2,……,数据30),比如公式“=SUMPRODUCT(A2:A6,B2:B6,C2:C6)”,其作用相当于“=A2*B2*C2+A3*B3*C3+A4*B4*C4+A5*B5*C5+A6*B6*C6”,也就是说公式求到是三个区域A2:A6、B2:B6、C2:C6同行数据积的和。
一、统计重复身份证号
通常统计数据在单元格区域内出现的次数都是采用COUNTIF函数。但是如果是用来统计18位身份证号的话,那就会有问题了:只要前15位数字相同,那么金山表格就会把它当成相同的数字(在EXCEL中也是如此)。解决这个问题的办法之一就是可以使用SUMPRODUCT函数来替代COUNTIF。
如图1所示。
图1
只要在C2单元格输入公式“=SUMPRODUCT(($B$2:$B$3000=B2)*1)”,然后拖动该单元格填充句柄向下复制公式至最后一行,就可以得到B列每个数据出现的次数了。那些大于1的自然就是重复的。
公式可以得到在B2:B3000单元格区域中与B2单元格数据相等的单元格个数,其结果是“TRUE、FALSE、TRUE,……”等一系列的逻辑值,“TRUE”相当于“1”,“FALSE”则相当于“0”,并对“TRUE”的个数求和。
二、多条件统计数据
图2
如图2表格所示,如果我们想统计表格中“高一或高二年级职称为‘中一’的男教师加班费的合计数”,那又该如何操作呢?其实,类似这种多条件求和的任务,正适合SUMPRODUCT函数大展身手。
只需要在单元格中输入如下公式:“=SUMPRODUCT(($C$2:$C$15="男")*(($D$2:$D$15="高一")+($D$2:$D$15="高二"))*($E$2:$E$15="中一"),$G$2:$G$15,$F$2:$F$15)”,按下回车键,就可以得到需要的结果了。非常方便。
公式中“($D$2:$D$15="高一")+($D$2:$D$15="高二")”表示条件之一为“科室为高一或高二”,结合其余的条件就可以得到符合条件“高一或高二职称为中一的男教师”的单元格了。公式中的后两个参数则可以得到符合条件的同行数据F列与G列单元格数据的乘积,并最终由公式将这些乘积进行求和,这样我们的任务也就完成了。
……