干货 | Excel中文本合并的真的是个难题吗?

在Textjoin出现之前,Excel处理文本基本很困难,甚至可以说基本没有合适的方式~,不过她来了,现在很多文本的合并再也不是难题!

可以说TEXTJOIN的出现解决了多年Excel文本处理函数的空缺的尴尬!

先看一下需求

想要实现上面的效果,使用TEXTJOIN目前比较合适的方式~

TEXTJOIN函数可用版本:

根据官方给出的说明,目前可用版本如下:

  • Microsoft 365 专属 Excel

  • Microsoft 365 Mac 版专属

  • Excel Excel 网页版

  • Excel 2019

  • Excel 2019 for Mac

没有2019和365版本的同学也不用灰心,因为WPS中更新了这个函数!

总结一下就是:TEXTJOIN(分隔符,是否忽略空白,需要合并的一组文本)

参数补充说明:

1、第二参数默认(TRUE)忽略空白,FALSE保留空白
2、从第三参数开始是合并的文本,一般不会用到多个,支持内存数组或者单元格区域
3、由于单元格字符串限制,如果结果字符串不能超过32767个字符!

上面的抛出来的问题,现在来看就很简单了

公式:=TEXTJOIN("、",1,IF($A$2:$A$13=E2,$B$2:$B$13,""))

判断部门如果等于我们要合并人员的部门,就返回对应的姓名,否则返回空,再利用第二参数TRUE(1)可以忽略空白的特性,剩下的就是满足条件的姓名,根据第一参数分隔符合并

正好小编对Power Qurery、VBA、和Power Pivot等都懂一点,我们就稍微再扩展几种,不做具体内容展开,只是为了扩展一下大家的思路,实际请根据自己的掌握和应用场景选择~

Power Query处理~

M函数式:= Table.Group(源,"部门",{"姓名", each  Text.Combine(_[姓名],"、")})

在PQ中,我们使用Table.Group分组和SQL的GroupBy很相似~

这里我们按照部门分组,如果实际过程中有多个字段作为分组条件,需要使用List

{"字段1","字段2"},第三参数就是分组后的处理逻辑,成对出现,如果多对同样需要List。

Power Pivot-度量值+透视表

部门人员:=IF(HASONEVALUE('表4'[部门]),CONCATENATEX(VALUES('表4'[姓名]),'表4'[姓名],"、"),BLANK())

Power Pivot看名字就知道超级透视表,我们可以通过度量值及对应的一大批DAX函数进一步扩展透视表的功能,当然其核心在数据分析的建模阶段~~

VBA-只要你会,随心所欲

处理这种最适合字典这种key唯一的特性了~

方法总比问题多~say88

(0)

相关推荐