如何计算Excel中列中的不同条目
我知道公式: {= SUM(1 / COUNTIF(A1:A8,A1:A8))}将用于计算列A1到A8中的不同条目。
但是我的问题是,这个公式究竟做了什么? 我似乎无法遵循这个数组公式的逻辑。
假定A1
的值为x
,A2:A8中的空白。 如果使用Evaluate Formula工具,则会看到数组公式的第一步提供了一个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只猫,所以这些是由适当types的识别公式返回的数字。
现在用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产生.2,依此类推。
如果不确定公式是如何工作的,请突出显示公式的各个部分,然后按下F9键,就可以看到它的计算结果。