谁能帮我解读EXCEL的公式意思,谢谢!!
=SUM(IF(FREQUENCY(IF(LEN(A3:A100)>0,MATCH(A3:A100,A3:A100,0),""),IF(LEN(A3:A100)>0,MA...
=SUM(IF(FREQUENCY(IF(LEN(A3:A100)>0,MATCH(A3:A100,A3:A100,0),""), IF(LEN(A3:A100)>0,MATCH(A3:A100,A3:A100,0),""))>0,1))
展开
1个回答
展开全部
这个公式是计算在一纵列或一横行单元格中具有不重复内容的单元格个数。
以下为拆解过程:
1. IF(LEN(A3:A100)>0,MATCH(A3:A100,A3:A100,0),"")
这个公式是一个一个地计算A3:A100中各单元格中的内容长度是否大于0,如果大于0,则在A3:A100中寻找这个值,并将第一个找到的相同结果的单元格的位置返回。其计算结果是一个数组,数组的大小与A3:A100相同,即98个数。因为这里的Match函数只会将最先找到的地址返回,其它后面并不会变,如:
A1 1
A2 1
A3 2
A4 2
A5 3
那么运行IF(LEN(A3:A5)>0,MATCH(A3:A5,A3:A5,0),"")的结果将是一个数组,这个数组为:{1,1,3,3,5}
2. FREQUENCY(IF(LEN(A3:A10)>0,MATCH(A3:A10,A3:A10,0),""), IF(LEN(A3:A10)>0,MATCH(A3:A10,A3:A10,0),""))
这个公式就相当于Frequency(第一步计算的结果,第一步计算的结果)。Frequency(a,b)是计算在范围b里面出现a的次数,如出现多次,则在第一次出现时返回出现的该值的总次数,第二及以后出现时均返回0.
还是接上面A3:A5的例子,Frequency(IF(LEN(A3:A5)>0,MATCH(A3:A5,A3:A5,0),""),IF(LEN(A3:A5)>0,MATCH(A3:A5,A3:A5,0),""))的结果也是一个数组,这就是计算{1,1,3,3,5}这个数组中每个数出现的次数,计算结果为:{2,0,2,0,1}
3. IF(FREQUENCY(……)>0,1)
这个公式为最简单的if公式的数组用法,即将第二步计算出来的各值和0比较,如果>0,则返回1,否则,返回0。计算结果也是一个数组。
接上A3:A5的例子。If(Frequency(IF(LEN(A3:A5)>0,MATCH(A3:A5,A3:A5,0),""),IF(LEN(A3:A5)>0,MATCH(A3:A5,A3:A5,0),""))>0,1)即可简化为:if({2,0,2,0,1}>0,1),计算结果为{1,0,1,0,1}
4. sum(……)
将上述数组中的各值加和。
将上例,Sum({1,0,1,0,1})的计算结果为:1+0+1+0+1=3
综上:
该公式最终就是计算所给纵例内不重复内容的单元格个数。
可计算单行或者单列,但假如某单元格内有不同数目的空白符号或其它特殊符号(如回车),则会计数。如A1单元格是两个空格,A2单元格是三个空格,则将A1,A2分别计数,要计2次。所以使用前一定要把空白符号和其它特殊符号(如回车)去掉。
与这个公式功能类似的另一个公式为:Sumproduct(1/Countif(A3:A100,A3:A100))
以上,希望对你有帮助。如果觉得本人解释得还可以,请追加点分鼓励鼓励!^_^
以下为拆解过程:
1. IF(LEN(A3:A100)>0,MATCH(A3:A100,A3:A100,0),"")
这个公式是一个一个地计算A3:A100中各单元格中的内容长度是否大于0,如果大于0,则在A3:A100中寻找这个值,并将第一个找到的相同结果的单元格的位置返回。其计算结果是一个数组,数组的大小与A3:A100相同,即98个数。因为这里的Match函数只会将最先找到的地址返回,其它后面并不会变,如:
A1 1
A2 1
A3 2
A4 2
A5 3
那么运行IF(LEN(A3:A5)>0,MATCH(A3:A5,A3:A5,0),"")的结果将是一个数组,这个数组为:{1,1,3,3,5}
2. FREQUENCY(IF(LEN(A3:A10)>0,MATCH(A3:A10,A3:A10,0),""), IF(LEN(A3:A10)>0,MATCH(A3:A10,A3:A10,0),""))
这个公式就相当于Frequency(第一步计算的结果,第一步计算的结果)。Frequency(a,b)是计算在范围b里面出现a的次数,如出现多次,则在第一次出现时返回出现的该值的总次数,第二及以后出现时均返回0.
还是接上面A3:A5的例子,Frequency(IF(LEN(A3:A5)>0,MATCH(A3:A5,A3:A5,0),""),IF(LEN(A3:A5)>0,MATCH(A3:A5,A3:A5,0),""))的结果也是一个数组,这就是计算{1,1,3,3,5}这个数组中每个数出现的次数,计算结果为:{2,0,2,0,1}
3. IF(FREQUENCY(……)>0,1)
这个公式为最简单的if公式的数组用法,即将第二步计算出来的各值和0比较,如果>0,则返回1,否则,返回0。计算结果也是一个数组。
接上A3:A5的例子。If(Frequency(IF(LEN(A3:A5)>0,MATCH(A3:A5,A3:A5,0),""),IF(LEN(A3:A5)>0,MATCH(A3:A5,A3:A5,0),""))>0,1)即可简化为:if({2,0,2,0,1}>0,1),计算结果为{1,0,1,0,1}
4. sum(……)
将上述数组中的各值加和。
将上例,Sum({1,0,1,0,1})的计算结果为:1+0+1+0+1=3
综上:
该公式最终就是计算所给纵例内不重复内容的单元格个数。
可计算单行或者单列,但假如某单元格内有不同数目的空白符号或其它特殊符号(如回车),则会计数。如A1单元格是两个空格,A2单元格是三个空格,则将A1,A2分别计数,要计2次。所以使用前一定要把空白符号和其它特殊符号(如回车)去掉。
与这个公式功能类似的另一个公式为:Sumproduct(1/Countif(A3:A100,A3:A100))
以上,希望对你有帮助。如果觉得本人解释得还可以,请追加点分鼓励鼓励!^_^
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询