Excel精英培训网

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

如何将相同数据的订单合并整理成一条数据

[复制链接]
匿名  发表于 2019-7-21 11:24 |阅读模式
【求助帖】请及时确认最佳答案,下次提问时可以得到更多关注,问题可以更快解决
各位大神帮忙看下这个数据用宏或函数怎么才能合并在一起,之前看过其他人用宏把数据整理在一起,但是那人不愿意说还加了密,一直想不通是怎么弄得。
压缩包是数据。
微信截图_20190721111425.jpg

订单合并.rar

8.28 KB, 下载次数: 298

发表于 2019-7-22 13:54 | 显示全部楼层    设为最佳答案
为啥喜欢匿名呢。要是有TEXTJOIN这个问题很简单。要是没有呢。。也不是个什么题。。技巧和简单函数。一样可以实现 。也快。说不定比写宏还快。
回复

使用道具 举报

发表于 2019-7-22 14:33 | 显示全部楼层    设为最佳答案
Sub kk()
    Dim dic As Object
    Set dic = CreateObject("scripting.dictionary")
    With Sheet1
        irow = .Cells(Rows.Count, 1).End(3).Row
        arr = .Range("a3:g" & irow)
        ReDim brr(1 To UBound(arr), 1 To 7)
        For i = 1 To UBound(arr)
            If dic.exists(arr(i, 3)) = False Then
                n = n + 1
                dic(arr(i, 3)) = n
                brr(n, 1) = n
                brr(n, 2) = arr(i, 2)
                brr(n, 3) = arr(i, 3)
                brr(n, 4) = arr(i, 4)
                brr(n, 5) = arr(i, 5)
                brr(n, 6) = arr(i, 6) & arr(i, 7)
                brr(n, 7) = arr(i, 7)
            Else
                k = dic(arr(i, 3))
                brr(k, 6) = brr(k, 6) & Chr(10) & arr(i, 6) & arr(i, 7)
                brr(k, 7) = brr(k, 7) + arr(i, 7)
            End If
        Next i
        .Range("j9").Resize(n, 7) = brr
    End With
End Sub
回复

使用道具 举报

匿名  发表于 2019-7-23 15:31
心正意诚身修 发表于 2019-7-22 13:54
为啥喜欢匿名呢。要是有TEXTJOIN这个问题很简单。要是没有呢。。也不是个什么题。。技巧和简单函数。一样可 ...

我是用QQ登录的,匿名我也不知道怎么回事。我用的表格目前不能使用你说的那个函数,请问还有哪些函数是可以使用的吗?
回复

使用道具

发表于 2019-7-24 10:30 | 显示全部楼层    设为最佳答案
SamHI 发表于 2019-7-23 15:31
我是用QQ登录的,匿名我也不知道怎么回事。我用的表格目前不能使用你说的那个函数,请问还有哪些函数是可 ...

姓名。手机号,地址。用去重。序号。直接 拉。订单号用INDEX+MATCH,数量用SUMIF。这几个都特别简单。
产品用SUBSTITUTE+OFFSET+MATCH+COUNTIF+PHONETIC+CHAR(10)设置自动换行。就可以了。03版就能实现 。
回复

使用道具 举报

发表于 2019-7-24 14:12 | 显示全部楼层    设为最佳答案
心正意诚身修 发表于 2019-7-24 10:30
姓名。手机号,地址。用去重。序号。直接 拉。订单号用INDEX+MATCH,数量用SUMIF。这几个都特别简单。
...

版主大大,方便下载下订单附件将函数填写上上传下吗?你说的公司有好多没使用过,还消化不了,需要看着文件摸索下。麻烦了
回复

使用道具 举报

发表于 2019-7-24 14:40 | 显示全部楼层    设为最佳答案
a609354931 发表于 2019-7-24 14:12
版主大大,方便下载下订单附件将函数填写上上传下吗?你说的公司有好多没使用过,还消化不了,需要看着文 ...

=SUBSTITUTE(MID(PHONETIC(OFFSET($E$2,MATCH(N11,$E$3:$E$1610,),,COUNTIF(E:E,N11),2)),LEN(N11)+1,999),N11,CHAR(10))最复杂的一个公式。其他的公式简单。我也一并给你做好了。去重我也是用的公式
见附件

订单合并.rar

9.96 KB, 下载次数: 65

回复

使用道具 举报

发表于 2019-7-24 15:06 | 显示全部楼层    设为最佳答案
心正意诚身修 发表于 2019-7-24 14:40
=SUBSTITUTE(MID(PHONETIC(OFFSET($E$2,MATCH(N11,$E$3:$E$1610,),,COUNTIF(E:E,N11),2)),LEN(N11)+1,999 ...

谢谢版主大大,好好研究研究,这些函数好复杂。
回复

使用道具 举报

发表于 2019-7-24 15:20 | 显示全部楼层    设为最佳答案
a609354931 发表于 2019-7-24 14:12
版主大大,方便下载下订单附件将函数填写上上传下吗?你说的公司有好多没使用过,还消化不了,需要看着文 ...

把要合并的内容倒序 排一下,
用很简单的公式就能实现 , 如下图 , 粘贴为值 , 删除多余行就好. 开机错误 - 副本.png
d4 =COUNTIF(B$4:B4,B4)=1
e4 =IF(B4=B5,E5&CHAR(10)&C4,C4)
回复

使用道具 举报

发表于 2019-7-27 17:14 | 显示全部楼层    设为最佳答案
1.gif
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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