我知道公式: {= SUM(1 / COUNTIF(A1:A8,A1:A8))} 将用于计算A1至A8列中的不同条目。
但我的问题是,这个公式到底在做什么?我似乎无法遵循这个数组公式的逻辑。
答案 0 :(得分:2)
假设x
中的值A1
,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
一样简单。 : - )
答案 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产生.2,依此类推。
当怀疑公式如何工作时,突出显示公式的部分并按F9,您可以看到它正在计算的内容。