第1个回答 2013-01-03
在任意单元格输入以下数组公式=SUM(if($A$1:$A$5000<>“”,1/COUNTIF($A$1:$A$5000,$A$1:$A$5000),“”))。如果数据超过5000行,自已修改公式中单元格范围。
第2个回答 2012-12-19
假如a1是表头,名字从a2开始,公式:
=sumproduct(1/countif(indirect("a2:a"&counta(a:a)),indirect("a2:a"&counta(a:a))))
注意:a列的名字需连续往下输,中间不能出现空格。
第3个回答 2013-06-05
在B列任意一单元格输入公式,这里假设 A1;A16 是A列存放姓名的区域
=SUMPRODUCT(N(COUNTIF(A1:A16,A1:A16)=1)) 这是求出的是完全没有重复的名字的个数
=SUMPRODUCT(1/COUNTIF(A1:A16,A1:A16)) 这是把重复的姓名只算作一次,即总共有多少人
下面是代码,但是这样好像没必要,你说呢?
SUB AAA()
DIM D ,RNG AS RANGE
SET D=createobject("scripting.dictionary")
for each rng in activesheet.range("a:a")
if rng.value<>"" then d(rng.value)=""
next rng
msgbox d.count
set d=nothing
end sub
第4个回答 2012-12-19
在B1输入公式:
=countif(A:A,A1)
下拉后,显示数值1的即为A列只有一个,筛选后,求和即可求出不重复姓名的个数。
或者在B1输入公式:
=IF(A1<>0,IF(COUNTIF(A:A,A1)>1,"",1),"")
下拉后直接求和即可