作业帮 > 综合 > 作业

求excel大师的帮助!谢谢大师了.我有一个很棘手的excel的统计问题 属于分类统计的吧

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/09 02:14:17
求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里面,由于数据很多,希望能有一个方便简洁的方法,
'工作表标签→右键→查看代码,把下面代码贴到VBE中,按F5,把第一张表的结果处理到第二张表.Sub Cheifzjh()Application.ScreenUpdating = FalseDim Col%, i%, Tmp$, mArr, DicSet 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) + 1Next iWith 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].SelectEnd WithApplication.ScreenUpdating = TrueMsgBox "人次" & WorksheetFunction.Sum(Dic.items) - 1 & "   不同记录数:" & Dic.Count - 1Set Dic = NothingEnd Sub汇总效果如图