请问有谁知道写excel的统计函数,有很多列很多行名字,有很多重复的, 怎么统计出来有多少个名字和次数

请问有谁知道写excel的统计函数,就是有很多列很多行名字,名字有很多重复的, 怎么统计出来有多少个名字,每个名字出现了多少次数,比如这个图

怎么统计出有多少个名字,每个名字出现了多少次数

说一个笨一点但是思路比较容易理解的解决方案:

    将这些数据全部整合到一列之中,设列A,数据从A2开始;

    在B2写函数=countif(A:A,A2),执行后双击B2右下的小黑十字自动填充,意在统计每个名字出现的次数;

    选中第一行后执行筛选,在列B中执行排序,降序升序皆可,意在直观看一下各名字重复出现的次数的分布情况;

    想知道总共有多少个名字,在列B中相应对1,2,3几个次数进行筛选,在对2的筛选过后看看软件界面下方关于筛选结果的数字(“共筛选到N个结果”那句),对应除以2得到不重复的名字数,之后依次类推。

大概就是这样~比较笨,但对初学者来说比较好理解,还能锻炼口算能力哈哈。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-30
=SUM(1/COUNTIF(A1:J100,A1:J100))
同时按CTRL SHIFT 回车键
统计有多少个名字,重复的只算1个。区域根据实际的修改

第2个问题,需要 ,提取重复和不重复的名字,然后用COUNTIF统计,每个名字出现的次数
稍微复杂点,如有必要
[email protected]
第2个回答  推荐于2016-02-15
Sub test()
Dim d As Object
Set d = CreateObject("scripting.dictionary")
arr = [a1].CurrentRegion
For i = 1 To UBound(arr)
For j = 1 To UBound(arr, 2)
d(arr(i, j)) = d(arr(i, j)) + 1
Next
Next
Worksheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.[a1].Resize(d.Count, 2) = Application.Transpose(Array(d.keys, d.items))
End Sub

使用VBA字典简单一些,瞬间可以完成
关于如何使用宏,可以简单百度一下
一般ALT+ F11,进入复制粘贴,F5 执行即可。追问

大哥,本人是生手,一大窜的代码,天书看不懂啊

追答

不需要看懂,直接粘贴 即可使用

追问

对了,是我搞错了,我搞错表了,谢谢你啊大哥,你真是好人

本回答被提问者采纳
第3个回答  2014-12-30
有多少个名字:
找一个空白单元格,假设数据区域是A1:J28,则公式为:
是数组公式,在单元格里粘贴了以后,千万不要按回车退出,而要按“Ctrl+Shift+回车”退出:
=SUM(1/COUNTIF(A1:J28,A1:J28))

每个名字出现了多少次——这个不好做……难点在于,首先要获取唯一的名称列表。VBA倒是比较方便解决。
第4个回答  2014-12-30
把所有数值放在一列上,用excel自带的功能去除重复值选出唯一值。然后countif计算出现次数。

如果列数很多不好处理,用vba处理就好,要不上传个附件,分分钟搞定~~~追问

请问什么附件啊

追答

把你要处理数据的文件上传上来。用那个代码处理很快,但是估计你不会用~

相似回答