如下图所示,如何将左侧人员名单,拆分为右侧所示呢?手动复制、粘贴肯定效率太低,一起来研究一下吧。
一、认识两个函数
TEXTSPLIT 函数
语法(拆分谁,按列拆分,按行拆分,忽略空单元格,是否区分大小写,异常值返回)
参数比较多,其实最简单的两个参数就可以用了。
应用举例:
C2=TEXTSPLIT(A2,"、")
解析:TEXTSPLIT函数将A2单元格内容,按"、"号进行拆分,拆分结果为数组{"秦雅","田君","梅颖","田盛","庞家"},自动溢出到相邻一行单元格。
2.WRAPROWS函数
语法(向量,列数,异常返回值)
应用举例:
G1=WRAPROWS(A2:E2,3)
解析:A2:E2是需要转换的数据范围,第2个参数3表示转换为3列,可以看到最后出现了一个#N/A。
=WRAPROWS(A2:E2,3,""),补充第3个参数,异常值就会按自己设置的显示。
二、应用案例一
回到最前面的问题
C2=WRAPROWS(TEXTSPLIT(A2,"、"),5,"")
解析:
不难理解,TEXTSPLIT(A2,"、")表示按"、"分隔,将A2拆分为一行。
然后,WRAPROWS函数将上一步拆分的结果转换为5列,异常值显示为空白""。
三、升级案例
1.如果需要拆分的内容包含多个不同的分隔符号,还能拆分吗?
C2公式:=WRAPROWS(TEXTSPLIT(A2,{"、","/","*"},0),5,"")
参数这样写{"、","/","*"},告诉TEXTSPLIT需要按照多个分隔符号拆分。
2.如下图所示,这是如何拆分的呢?
C2=TEXTSPLIT(A2,"我")
可以看到,以"我"字作为分隔符号,也是可以的,如果希望保留"我"字呢?
C2=TEXTSPLIT(SUBSTITUTE(A2,"我","、我"),"、")
解析:先将A2里的"我"替换为"、我",再以"、"作为分隔符号,也就是人为增加一个分隔符进行拆分。
小结:TEXTSPLIT 是一个文本拆分函数,WRAPROWS可以说是一个一维变二维的折叠函数,而SUBSTITUTE则是一个替换字符串的函数。