EXCEL中sumproduct函数的问题

比如A1:3243,A2:3456
SUMPRODUCT((LEN(A1:A2)-LEN(SUBSTITUTE(A1:A2,3,))))计算出结果为3(一共有3个3),但能具体帮我解释一下这个公式吗?另外为什么像LEN(A1:A2)不能单独用,其值显示是错误的。

fushxp - 高级经理 六级 讲的是错的

len(A1:A2) 这个结果是两个值,这是数组,而不是fushxp所说的数字的总数(8),它的值是两个数, 分别是A1,A2的长度(就是第个有几个数字)

SUBSTITUTE(A1:A2,3,) 是会将 A1,A2中的3去掉,这个函数也是两个值,但是每个值中的3已经去掉了
LEN(SUBSTITUTE(A1:A2,3,)) 测对去掉了A1,A2中去3之后的剩余部分的长度,也是两个值

((LEN(A1:A2)-LEN(SUBSTITUTE(A1:A2,3,))) 就是A1,A2原长度分减去各自去了3后的长度,这也是两个值。其实就是A1,A2中3的个数

SUMPRODUCT((LEN(A1:A2)-LEN(SUBSTITUTE(A1:A2,3,)))) 再对两个3的个数求和. 这就求出来A1,A2中一共有多少个3
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-07-19
这个公式是用来计算A1:A2单元格中共含有几个3的
LEN(A1:A2)是计算A1A2中数字的总数(8),后面的LEN(SUBSTITUTE(A1:A2,3,)是把式中的3替换为空以后还有多少个数字(5)。
LEN函数单独使用时只能计算一个单元格中字符数,因此LEN(A1:A2)会出错,但若你把它当成数组公式,即输完公式后按CTRL+SHIFT+ENTER键就不会错了。
sumproduct本身就是个数组函数,因此把LEN函数放在它里面这么用,整个公式就成了个数组公式,结果就不会出错了。

这个公式也可以这么写:
{=SUM((LEN(A1:A2)-LEN(SUBSTITUTE(A1:A2,3,))))}
第2个回答  2009-07-19
SUMPRODUCT的数组公式,有它就可以.没有它只是LEN(A1)和LEN(SUBSTITUTE(A1,3,))这样
=SUMPRODUCT((LEN(A1:A2)))结果与=LEN(A1)+LEN(A2)一样
=SUMPRODUCT(LEN(SUBSTITUTE(A1:A2,3,)))和=LEN(SUBSTITUTE(A1,3,)&SUBSTITUTE(A2,3,))一样.
第3个回答  2009-07-19
1. SUMPRODUCT()是将数组相加。
2,LEN()是取长度
3,SUBSTITUTE是将一串字换成另一串。

所以这个函数的意思就是,将
每一格的内容长度减去同一格内容“3”被去除后的长度 得到差值
形成的数组
相加。

=LEN(A1:A2)输入时要用CTRL+SHIFT+ENTER 。其结果不是一个值,而是多个。