Excel精英培训网

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

[已解决]如何把一列一样值得另一列值合并到表2单行数据中

[复制链接]
发表于 2015-8-13 10:25 | 显示全部楼层 |阅读模式
如何批量(有N个)的A列一样的数据对应的B列值,批量放到表2的A列对应的单个B列中。
最佳答案
2015-8-13 11:27
Sub test()
    Dim A, d, k, t, r&, i&
    'Range("A1").CurrentRegion.Sort KEY1:=[A1], Order1:=xlAscending, KEY2:=[B1], Order2:=xlAscending, Header:=xlYes
    With Sheets(1)
        r = .Cells(Rows.Count, 1).End(3).Row
        A = .Range("A1:b" & r)
    End With
    Set d = CreateObject("scripting.dictionary")
    For i = 2 To r
        d(A(i, 1)) = d(A(i, 1)) & "," & A(i, 2)
    Next i


    k = d.keys: t = d.items
    ReDim A(1 To UBound(k) + 1, 1 To 2)
    For i = 1 To UBound(A)
        A(i, 1) = k(i - 1)
        A(i, 2) = Mid(t(i - 1), 2)
    Next i
    With Sheets(2).Range("a1")
        .CurrentRegion = ""
        .Resize(UBound(A), UBound(A, 2)) = A
    End With
End Sub

如何批量已A列值的数据合并到表2单条A列对应的B列值(A)2.rar (18.02 KB, 下载次数: 6)

如何批量已A列值的数据合并到表2单条A列对应的B列值.zip

6.27 KB, 下载次数: 5

请求高手求教

发表于 2015-8-13 10:40 | 显示全部楼层
QQ截图20150813103035.jpg

QQ截图20150813103152.jpg


1)除了“才湾镇-白石村-上白石”,A列还有很多行,类似这样,是吗?建议A列和B列,再上传几个个数据

2)好像函数不方便实现,用VBA可以吗?







回复

使用道具 举报

 楼主| 发表于 2015-8-13 11:00 | 显示全部楼层
爱疯 发表于 2015-8-13 10:40
1)除了“才湾镇-白石村-上白石”,A列还有很多行,类似这样,是吗?建议A列和B列,再上传几个个 ...

VBA  可以呀  我没用过呢   呵呵
要怎么弄呢  有10万的数据  要分成一行一行的

如何批量已A列值的数据合并到表2单条A列对应的B列值(A).zip

7.6 KB, 下载次数: 2

回复

使用道具 举报

发表于 2015-8-13 11:27 | 显示全部楼层    本楼为最佳答案   
Sub test()
    Dim A, d, k, t, r&, i&
    'Range("A1").CurrentRegion.Sort KEY1:=[A1], Order1:=xlAscending, KEY2:=[B1], Order2:=xlAscending, Header:=xlYes
    With Sheets(1)
        r = .Cells(Rows.Count, 1).End(3).Row
        A = .Range("A1:b" & r)
    End With
    Set d = CreateObject("scripting.dictionary")
    For i = 2 To r
        d(A(i, 1)) = d(A(i, 1)) & "," & A(i, 2)
    Next i


    k = d.keys: t = d.items
    ReDim A(1 To UBound(k) + 1, 1 To 2)
    For i = 1 To UBound(A)
        A(i, 1) = k(i - 1)
        A(i, 2) = Mid(t(i - 1), 2)
    Next i
    With Sheets(2).Range("a1")
        .CurrentRegion = ""
        .Resize(UBound(A), UBound(A, 2)) = A
    End With
End Sub

如何批量已A列值的数据合并到表2单条A列对应的B列值(A)2.rar (18.02 KB, 下载次数: 6)
回复

使用道具 举报

 楼主| 发表于 2015-8-13 11:58 | 显示全部楼层
爱疯 发表于 2015-8-13 11:27
Sub test()
    Dim A, d, k, t, r&, i&
    'Range("A1").CurrentRegion.Sort KEY1:=[A1], Order1:=xlAs ...

成功了,高手  非常感谢您的帮助,有了这个   可以解决了很多疑难杂症
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 16:35 , Processed in 0.361896 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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