可以用公式解决。以下图中的姓名为例:
D2输入公式
=SUMPRODUCT(1/COUNTIF(A2:A8,A2:A8))
结果为3,既不重复数为3个,如下图
公式解析:
COUNTIF(A2:A8,A2:A8)是个数组计算的例子,结果为一个数组,就是A2:A8每个姓名出现的次数:
COUNTIF(A2:A8,A2)
COUNTIF(A2:A8,A3)
……
COUNTIF(A2:A8,A8)
在B2输入公式
=COUNTIF(A$2:A$8,A2)
公式下拉复制,结果就是COUNTIF(A2:A8,A2:A8)的计算结果,依次计算每个姓名的出现次数。
如下图:
再用1/出现次数,如张三出现2次,则每次计算1/2次,求和得1,李四出现3次,每次计算1/3次,求和得1,依此类推,得到不重复姓名的个数。
相当于在C2输入
=1/B2
公式下拉再求和的结果,如下图:
以上是对公式=SUMPRODUCT(1/COUNTIF(A2:A8,A2:A8))的拆分解析,最后的求和之所以用SUMPRODUCT,而不是使用SUM,是因为这是数组计算,数组公式必须按Ctrl+Shift+Enter三键确认输入,而使用SUMPRODUCT函数则只需按Enter就可以了,当然也可以把公式改为:
=SUM(1/COUNTIF(A2:A8,A2:A8))
再按Ctrl+Shift+Enter三键确认输入,Excel会自动在公式外面嵌套一对大括号,表示数组公式:
{=SUM(1/COUNTIF(A2:A8,A2:A8))}
如下图所示: