求excel大师的帮助!谢谢大师了.我有一个很棘手的excel的统计问题 属于分类统计的吧有很大一组表格数据,大概有一万多的名字信息.具体工作是这样的,比如小明\x0512\x05女\x051969-05-11小明\x0512\x0

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/06 01:00:09

求excel大师的帮助!谢谢大师了.我有一个很棘手的excel的统计问题 属于分类统计的吧有很大一组表格数据,大概有一万多的名字信息.具体工作是这样的,比如小明\x0512\x05女\x051969-05-11小明\x0512\x0
求excel大师的帮助!谢谢大师了.我有一个很棘手的excel的统计问题 属于分类统计的吧
有很大一组表格数据,大概有一万多的名字信息.
具体工作是这样的,比如
小明\x0512\x05女\x051969-05-11
小明\x0512\x05女\x051969-05-11
小明\x0512\x05女\x051969-05-11
小明\x0512\x05女\x051977-06-20
小张\x0513\x05女\x051977-06-20
小张\x0513\x05男\x051988-05-19
小张\x0513\x05男\x051988-05-19
小兰\x0516\x05女\x051979-03-13
小兰\x0516\x05女\x051979-03-13
小兰\x0516\x05女\x051979-03-13
小兰\x0516\x05女\x051979-03-13
小兰\x0516\x05女\x051980-3-13
小花\x0534\x05男\x051990-4-24
小花\x0534\x05男\x051990-4-24
小花\x0534\x05男\x051990-4-24
小花\x0534\x05男\x051990-4-24
小花\x0534\x05男\x051990-4-24
小会\x0512\x05女\x051908-4-22
小会\x0512\x05女\x051908-4-22
小会\x0512\x05女\x051908-4-22
数据类似于上面我举的例子,每个人姓名出现的次数有2,3,4或其他次数,现在需要把出现次数相同的名字(还有其他的身份信息,比如年龄,如果两个人名字相同.但是年龄不同,也要把这两个人分开)统计到一个表格里面,并且只留下一个名字,最后希望达到的效果如下:
出现三次的:
小张\x0513\x05女\x051977-06-20
小会\x0512\x05女\x051908-4-22
出现四次的:
小明\x0512\x05女\x051977-06-20
出现五次的:
小兰\x0516\x05女\x051979-03-13
小花\x0534\x05男\x051990-4-24
这三类存放在不同的表格或sheet里面,由于数据很多,希望能有一个方便简洁的方法,

求excel大师的帮助!谢谢大师了.我有一个很棘手的excel的统计问题 属于分类统计的吧有很大一组表格数据,大概有一万多的名字信息.具体工作是这样的,比如小明\x0512\x05女\x051969-05-11小明\x0512\x0

'工作表标签→右键→查看代码,把下面代码贴到VBE中,按F5,把第一张表的结果处理到第二张表.

Sub Cheifzjh()

Application.ScreenUpdating = False

Dim Col%, i%, Tmp$, mArr, Dic

Set Dic = CreateObject("scripting.dictionary")

For i = 1 To [a65536].End(3).Row

    mArr = Cells(i, 1).Resize(1, 4)

    Tmp = Join(WorksheetFunction.Index(mArr, 1, 0), ",")

Dic(Tmp) = Dic(Tmp) + 1

Next i

With Sheet2

    .Activate

    .Cells(1, 1).Resize(Dic.Count, 1) = WorksheetFunction.Transpose(Dic.items)

    .Cells(1, 2).Resize(Dic.Count, 1) = WorksheetFunction.Transpose(Dic.keys)

    .Cells(1, 1) = "次数"

    .Range("b:b").TextToColumns comma:=True

    .Range("a1").CurrentRegion.Sort Key1:=.[a1], Order1:=xlAscending, header:=xlYes

    .[a1].Select

End With

Application.ScreenUpdating = True

MsgBox "人次" & WorksheetFunction.Sum(Dic.items) - 1 & "   不同记录数:" & Dic.Count - 1

Set Dic = Nothing

End Sub

汇总效果如图