家用过数组公式的都可能知道,对于多条件求和或计数,我们一般都采用这种数组公式来计算。如: 对于1个明细数据(见例),我们需要求该班男、女生各科成绩大于各科平均分的人数,这个问题不难,大家一般都会用sum()来多条件求值就行了(注:数组公式): =SUM(($C$3:$C$428=$K3)*(D$3:D$428>=AVERAGE(D$3:D$428))) 确实这是解决问题的一种方法,但往往对于初用数组公式的朋友常常会遗忘(或不知道)用(Ctrl+shift+Enter)组合键来结束编辑(论坛中常常有类似的提问)。 =SUMProduct(($C$3:$C$428=$K3)*1,(D$3:D$428>=AVERAGE(D$3:D$428))*1) 原因在于:SUMPRODUCT()函数本身就支持数组间运算(相同尺寸的数组相乘后再加总),因此我们毋须用数组公式组合键来结束。 =SUMProduct(($C$3:$C$428=$K3),(D$3:D$428>=AVERAGE(D$3:D$428))) 如果多个条件这样并列写入,系统默认是用AND关系(即相乘)来运算,但是SUMPRODUCT不支持逻辑值数组常量间相乘(也算是小遗憾吧:)),因此请一定要将逻辑值转换成数值才行。 =SUMProduct(($C$3:$C$428=$K3)*(D$3:D$428>=AVERAGE(D$3:D$428))) 如果数组尺寸(即行列数)相同,建议使用这种方法,如果直接相乘出现错误,可能是I列出现非数值字符,用逗号分隔后,系统可以自动忽略非数值型数据的。 |
|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )
GMT+8, 2024-5-5 00:10 , Processed in 0.078436 second(s), 16 queries .
Powered by Discuz! X3.3
© 2001-2017 Comsenz Inc.