作业帮 > 综合 > 作业

EXCEL中SUMPRODUCT的使用

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/07/15 20:27:04
EXCEL中SUMPRODUCT的使用
=SUMPRODUCT((A$21:A$46>=$A21)/COUNTIF($A$21:$A$46,$A$21:$A$46))如何理解?
EXCEL中SUMPRODUCT的使用
上楼解释很精辟,意思完全正确,我觉得楼主需要的是详细的解释,即公式执行的过程,这样以后自己写公式就可以借鉴相似的思路,我解释如下:
sumproduct函数是用来求对应数组两两相乘后的和.
你的这个公式可以表示为
=SUMPRODUCT((A$21:A$46>=$A21)*1/(COUNTIF($A$21:$A$46,$A$21:$A$46)))
为了好举例说明我们把公式改为
=SUMPRODUCT((A$1:A$5>=$A1)*1/(COUNTIF($A$1:$A$5,$A$1:$A$5)))
举例说明如下:
A1~A5单元格分别存放着
3
2
3
4
2
1,那么a$1:a$5>=$a1,即把a1到a5的每个值与a1进行比较,是不是大于等于a1,这个判断语句会产生一个真假值序列(真值为1,假值为0),这样就产生了(1;0;1;1;0)这样一个序列
2,另外一个语句1/(COUNTIF($A$1:$A$5,$A$1:$A$5)),条件计数语句countif($A$1:$A$5,$A$1:$A$5),即a1~a5这5个数中的每一个数在A1~A5中有几个,这样也产生了一个序列(2;2;2;1;2),用1除以这个序列每个数产生新序列即(1/2;1/2;1/2;1/1;1/2)
3,把1生成的序列和2生成的序列两两相乘然后求和,即(1;0;1;1;0)*(1/2;1/2;1/2;1/1;1/2)生成最终序列 {1/2;0;1/2;1;0}求和等于2,所以A列中大于等于A1而且不重复的数字个数是2个.