文 前 推 荐
编按:
曾介绍用PQ、空格替换、TEXTSPLIT函数等3种方法拆分单元格内容成多行显示。今天推荐大家用更简单的动态数组函数,以及更简单的LAMBDA自定义函数来拆分,不用计算人数。
小美在工作微信里经常会收到如下图左侧的已整理合并的员工信息,但为了方便统计,需要将其拆分为右侧的格式。
这是一个典型的同类项拆分操作,将同一部门信息按人数拆分为多条,每条只记录一名员工。
在 教程中我们介绍了含PQ、空格替换在内的3种方法,今天推荐用动态数组函数、自定义函数来更快完成。
Step1 拆分数据到多列
将微信信息复制到A列,在D2输入公式「=IFERROR(TEXTSPLIT(A2,{":",",","、"}),"")」并向下填充。
解释:
使用TEXTSPLIT函数分离文本。因为原始数据有多个符号,所以使用{":",",","、"}作为分隔依据。
Step2 填充部门
有多少名员工就要填充多少个部门名称。在B2中输入公式「=TOCOL(IF(E2:M10<>"",D2:D10,NA()),2)」即可。
解释:
1.使用IF函数对拆分出来的E2:M10进行判断,如果不为空,则显示D2:D10中的部门名称,否则显示为#N/A错误值。
2.使用动态数组函数TOCOL在忽略错误值后将部门连接成一列。
Step3 填充员工
在C2中输公式「=TOCOL(E2:M10,1)」将员工显示为一列。参数「1」表示忽略空单元格。
拆分完成!
如果经常做类似拆分,可以隐藏D:M列进行保存,以后只要将微信数据粘贴到A列,即可自动完成拆分。
福利
赠送大家一个一步到位的自定义拆分函数。
在定义名称对话框中,名称设为「chaifen」,在引用位置中输入如下公式:
=LAMBDA(字符,LET(cai,TEXTSPLIT(TEXTJOIN(";",1,字符),{":","、",","},";"),CHOOSE({1,2},TOCOL(IF(ISERROR
(DROP(cai,,1)),NA(),TAKE(cai,,1)),2,),TOCOL(DROP(cai,,1),2,))))
在B13中输入自定义函数公式「=chaifen(A2:A4)」即可。
课件下载方式
扫码入群,下载本文教程配套的练习文件。
宠 粉 福 利
2元领取:全套Excel技巧视频+200套模板
点"阅读原文",学习更多的Excel视频教程