Excel精英培训网

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

数据分类汇总

[复制链接]
发表于 2018-9-13 14:37 | 显示全部楼层 |阅读模式
本帖最后由 czl103 于 2018-9-18 17:27 编辑



如附件所示,需要按照备注和状态对数据进行分类汇总,但是我写的代码只是将每种状态的第一个值取出来了,烦请大神帮忙,谢谢

数据汇总.rar

15.5 KB, 下载次数: 23

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2018-9-13 21:32 | 显示全部楼层
Sub 下棋法之多条件多列汇总()
Dim 棋盘(1 To 10000, 1 To 6)
Dim 行数
Dim arr, x As Integer, sr As String, k As Integer
Set d = CreateObject("scripting.dictionary")
arr = Range("a2:h" & Range("H65536").End(xlUp).Row)
For x = 1 To UBound(arr)
    sr = arr(x, 8) & "-" & arr(x, 7)
    If d.Exists(sr) Then
      行数 = d(sr)
      棋盘(行数, 3) = 棋盘(行数, 3) + arr(x, 2)
      棋盘(行数, 4) = 棋盘(行数, 4) + arr(x, 3)
      棋盘(行数, 5) = 棋盘(行数, 5) + arr(x, 4)
      棋盘(行数, 6) = 棋盘(行数, 6) + arr(x, 5)
    Else
      k = k + 1
      d(sr) = k
      棋盘(k, 1) = arr(x, 8)
      棋盘(k, 2) = arr(x, 7)
      棋盘(k, 3) = arr(x, 2)
      棋盘(k, 4) = arr(x, 3)
      棋盘(k, 5) = arr(x, 4)
      棋盘(k, 6) = arr(x, 5)
    End If
Next x
   Range("J16").Resize(k, 6) = 棋盘
End Sub

评分

参与人数 1 +3 收起 理由
czl103 + 3 赞一个

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2018-9-14 19:20 | 显示全部楼层
天下任我行 发表于 2018-9-13 21:32
Sub 下棋法之多条件多列汇总()
Dim 棋盘(1 To 10000, 1 To 6)
Dim 行数

谢谢 稍后我试下
回复

使用道具 举报

 楼主| 发表于 2018-9-18 17:27 | 显示全部楼层
天下任我行 发表于 2018-9-13 21:32
Sub 下棋法之多条件多列汇总()
Dim 棋盘(1 To 10000, 1 To 6)
Dim 行数

厉害 学习了

回复

使用道具 举报

发表于 2018-9-21 15:41 | 显示全部楼层
请使用润乾集算器,关于excel的各种数据处理问题均可简单几行代码解决
先下载试用版,满意后再用个人租用版,一年才几十元,非常便宜
QQ联系:70777019,976695,13065247,184305475
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 02:58 , Processed in 0.403607 second(s), 17 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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