如何计算Excel中列中的不同条目

时间:2015-07-29 21:55:17

标签: excel count distinct

我知道公式: {= SUM(1 / COUNTIF(A1:A8,A1:A8))} 将用于计算A1至A8列中的不同条目。

但我的问题是,这个公式到底在做什么?我似乎无法遵循这个数组公式的逻辑。

2 个答案:

答案 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,您可以看到它正在计算的内容。