小兔网

通用函数法


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


公式:=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、每个类别需排序,乱序无果


202106141023167403430



新函数法


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


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

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

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

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


2021061410231818592



前两天的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中我们也可以乱序,这里用的全局分组


202106141023191207584



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


PQ技巧操作法

PQ技巧操作(动画演示):

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


202106141023209318546



VBA法

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

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

数组+字典的写法


202106141023228856278