分享

EXCEL合并同类项,方法之多,信息量炸裂-综合#001

 Excel办公实战 2021-06-29

前两天小编为令人烦恼的文本处理写了一个SplitText,解决了拆分的烦恼,今天我们再来盘点一下文本的合并同类型,逆向拆分问题(再谈)

阅读前,提醒一下,本文涉及知识较多,全程原创干货,信息量爆炸,难度较大。请先洗把脸,倒杯茶,静心阅读,如阅读过程中,有头疼、叹气、呆滞等不适,请及时收藏,慢慢理解(我是认真的~),想要全部吃透,需要特别“肝”!

  

小二,上菜!

上错了,小二,上水果,尤其是“”,多来点!

先说合并,再谈拆分

合并同类项,效果先看一下,是不是很熟悉,这个需求很常见!

先说说函数法吧,昨天发的投票,目前来看大家偏爱函数较多,还没投的可以投一下!

篇幅问题,我们采用简述,需要详解解析,我们另出文章或视频。

函数方法,我们分两种,一种是通用版本,一种是高版本新出的函数!

通用函数法

函数圈子,喜欢叫做“一勺汇”,下次别人说起,你应该知道不是,咱都是见过世面的!

公式:=MID(SUBSTITUTE(PHONETIC(OFFSET($A$1,MATCH(D2,$A$2:$A$16,),,COUNTIF(A:A,D2),2)),D2,"/"),2,99)

公式简述:

OFFSET函数,用于找到每一类的区域,使用PHONETIC直接合并

最后使用SUBSTITUTE,把我们的类别替换成你需要的分隔符,由于首列是类别,会多一个分隔符,MID用于容错次问题

要点提示:

1、PHONETIC只能合并文本,其中如果有数值,需要先转文本,否则失败!

2、每个类别需排序,乱序无果

新函数法

2016及365新出了几个文本函数,其中TextJoin和Cancat算是一个亮点,小编这里未激活对应的版本,不过WPS已同步出现(功能基本一致),这里我们在WPS中给大家演示一下!

公式(数组):=TEXTJOIN("/",TRUE,IF($A$2:$A$16=D2,$B$2:$B$16,""))

公式简述:TEXTJOIN(分隔符,是否忽略是文本,需要连接的字符串)

第三参数,判断是否和合并类别一致,一致返回名称,否则返回空,第二参数忽略空,结果OK

要点提示:基础函数特性,数据可乱序,这点强于通用函数做法

前两天的SplitText,很多小伙伴,就留言PQ不香吗?好像不PQ一下,总感觉缺少点啥,好在小编正好PQ也懂点皮毛,今天我们就让他完整一下吧!

PQ函数法

上Power Query(PQ)演示版本:2016(自带),其他版本:百度安装插件

PQ函数法(PQ不熟的小伙伴,可简单了解跳过)

PQ函数公式:= Table.TransformColumns(Table.Group(源,"类别",{"合并",each [名称]}),{"合并",each Text.Combine(_,"/")})

函数简述:Table.Group按照类别分组,使用Text.Combine可以实现按照指定分隔符合并对应的List文本

要点提示:Table.Group可以全局分组也可以局部分组,所以PQ中我们也可以乱序,这里用的全局分组

当然PQ函数不熟的小伙伴,也可以直接手动操作菜单,也是OK的 

PQ技巧操作法

PQ技巧操作(动画演示

过程中我们使用空格先合并,是为了使用修整功能,删除收尾空格,然后替换你需要的分隔符,如果使用函数Text.Combine则不考虑

VBA法

当然,我们也可以使用VBA处理,也不是什么难事

这里我们大概写一下,本次就不写自定义函数了,有需要,后期我们再补充!

数组+字典的写法

小结:

这样一个常见问题,我们为什么要讲解这么多方法,为了让你面对不同的场景有更多的选择,可能对于合并小伙伴来说,只会其中的一两种,或者有的根本没听说过,但是这会大大扩展你的思路。

最后,古人云:养成习惯,点赞“在看”!See You

这里是【易办公 早下班】的 Excel办公实战

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多