Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2943|回复: 2

如何根据多个关键字进行分类统计,并显示在一个表格上?

[复制链接]
发表于 2017-6-19 16:18 | 显示全部楼层 |阅读模式
本人在工作中有一数据表格(有7000-8000条数据),需要根据当中的几个关键字进行快速统计。具体的附件已经附上,并将模拟结果也统计出来,希望得到各位高手的支持的!不胜感激!

(已添加目标结果对比)如何根据几个关键字对数据表内容进行分类统计?2017-6-19.rar

19.43 KB, 下载次数: 8

发表于 2017-6-19 16:53 | 显示全部楼层
回复

使用道具 举报

发表于 2017-6-19 17:19 | 显示全部楼层
  1. Sub tianbiao()
  2. Dim arr, brr, crr, row1%, row2%, rg As Range, n%, m%
  3. row1 = Sheets("报表").Range("b65536").End(xlUp).Row
  4. row2 = Range("b65536").End(xlUp).Row
  5. arr = Sheets("报表").Range("c3", "k" & row1)
  6. brr = Range("b4", "m" & row2)
  7. ReDim crr(1 To UBound(brr), 1 To 7)
  8. For n = 1 To UBound(crr)
  9.     For m = 1 To UBound(arr)
  10.         If brr(n, 1) = arr(m, 1) And brr(n, 4) = arr(m, 4) And brr(n, 12) = arr(m, 9) Then
  11.             If arr(m, 5) = "江门" Then
  12.                 crr(n, 1) = crr(n, 1) + arr(m, 3)
  13.             Else
  14.                 crr(n, 2) = crr(n, 2) + arr(m, 3)
  15.             End If
  16.             If arr(m, 7) = "利用" Then
  17.                 crr(n, 4) = crr(n, 4) + arr(m, 3)
  18.             ElseIf arr(m, 7) = "处置" Then
  19.                 crr(n, 5) = crr(n, 5) + arr(m, 3)
  20.             End If
  21.         End If
  22.     Next
  23.     crr(n, 3) = crr(n, 1) + crr(n, 2)
  24.     crr(n, 6) = crr(n, 4) + crr(n, 5)
  25.     crr(n, 7) = brr(n, 3) - crr(n, 1) - crr(n, 2)
  26. Next
  27. Range("f4").Resize(UBound(crr), UBound(crr, 2)) = crr
  28. Range("f4").Resize(UBound(crr), UBound(crr, 2)).SpecialCells(xlCellTypeBlanks) = 0
  29. End Sub
复制代码

(已添加目标结果对比)如何根据几个关键字对数据表内容进行分类统计?2017-6-19.rar

21.9 KB, 下载次数: 8

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-24 07:04 , Processed in 0.438068 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表