[英]How to count distinct entries in a column in Excel
我知道公式: {= SUM(1 / COUNTIF(A1:A8,A1:A8))}将用于计算A1至A8列中的不同条目。
但是我的问题是,这个公式到底在做什么? 我似乎无法遵循此数组公式的逻辑。
假设A1
的值为x
,A2:A8中为空白。 如果使用“评估公式”工具,则会看到数组公式的第一步提供了一个COUNTIF
的数组:
=SUM(1/{1,7,7,7,7,7,7,7})
请注意,存在1 1
和7 7
s,因为存在一个值x
和七个空白值。
记住(1/n)*n = 1
。 所以在这个例子中
(1/7)* 7 = 1
(1/1)* 1 = 1
对这些结果求和,就像1 + 1 = 2
一样简单。 :-)
使用F9确实很方便。 假设以下值在A1:A8中:
dog
cat
dog
cat
cat
dog
cat
cat
在编辑栏中,突出显示COUNTIF(A1:A8,A1:A8)并按F9,您将看到:
{3;5;3;5;5;3;5;5}
因为列表中有3只狗和5只猫,所以这些是countif公式为每种适当类型返回的数字。
现在,使用CTRL + Z撤消或按ESC重新开始。 这次突出显示1 / COUNTIF(A1:A8,A1:A8) ,您将看到:
{0.333333333333333;0.2;0.333333333333333;0.2;0.2;0.333333333333333;0.2;0.2}
因为列表中有3条狗,所以1/3产生.3333333。 现在,.3333333出现在列表中的位置与狗出现在列表中的位置相同。 将所有.3333333加起来,得到1。
对猫也一样。 5只猫。 1/5产生0.2,依此类推。
如果不确定公式的工作原理,请突出显示该公式的各个部分,然后按F9键,您可以看到它在计算什么。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.