Excel精英培训网

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

[已解决]分类汇总后如何将只保留一个姓名

[复制链接]
发表于 2021-10-17 16:39 | 显示全部楼层 |阅读模式
请问如何实现sheet1中b列数据不重复数据到sheet2 b列



最佳答案
2021-10-17 17:36
修改红色部份就好

Sub demo()
   Set d = CreateObject("Scripting.Dictionary")
   a = Sheet1.UsedRange
   For i = 2 To UBound(a)
      Key = a(i, 1)
      If Not d.exists(Key) Then
         d(Key) = Array(Key, a(i, 2), a(i, 3), a(i, 4), a(i, 5))
      Else
         d(Key) = Array(Key, d(Key)(1), d(Key)(2) + a(i, 3), d(Key)(3) + a(i, 4), d(Key)(4) + a(i, 5))
      End If
   Next
   Sheet2.UsedRange.Offset(1, 0).ClearContents
   Sheet2.[a2].Resize(d.Count, 5) = Application.Transpose(Application.Transpose(d.Items))
End Sub

祝順心,南無阿彌陀佛!



Book1.rar

13.58 KB, 下载次数: 10

发表于 2021-10-17 17:36 | 显示全部楼层    本楼为最佳答案   
修改红色部份就好

Sub demo()
   Set d = CreateObject("Scripting.Dictionary")
   a = Sheet1.UsedRange
   For i = 2 To UBound(a)
      Key = a(i, 1)
      If Not d.exists(Key) Then
         d(Key) = Array(Key, a(i, 2), a(i, 3), a(i, 4), a(i, 5))
      Else
         d(Key) = Array(Key, d(Key)(1), d(Key)(2) + a(i, 3), d(Key)(3) + a(i, 4), d(Key)(4) + a(i, 5))
      End If
   Next
   Sheet2.UsedRange.Offset(1, 0).ClearContents
   Sheet2.[a2].Resize(d.Count, 5) = Application.Transpose(Application.Transpose(d.Items))
End Sub

祝順心,南無阿彌陀佛!



评分

参与人数 1学分 +2 收起 理由
楚雪飞扬 + 2 学习了,这是我从网上下载您的案例进行来修.

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 12:31 , Processed in 0.388698 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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