Excel文本处理函数有很多,比较传统且应用频率比较高的有:
- LOWER函数: 将文本字符转化为小写字符;
- UPPDER函数: 将文本字符转化为大写字符;
- REPLACE函数:文本替换函数;
- FIND函数:找到文本在字符之中位置,通常和MID函数搭配使用;
- SPLIT函数:文本分割函数;
- LEFT函数:从左边提取指定长度的文本;
- RIGHT函数:从右边提取指定长度的文本;
- MID函数:从文本指定位置提取指定长度的子文本。
Excel在365版本之中最新引入了一个强大的文本分割函数TEXTSPLIT函数。该函数能够根据文本对数据进行分割。分割结果以数组方式返回。
比如有这样一种情形,以往可以通过数据分列的方式对文本进行分割,按照指定的字符,对数据进行分割。但是如果分割字符有多种,这种情形就必要办了,有了TEXTSPLIT函数,这个文本很好解决。例如下图的文本,只需要填写公式。可以轻松实现文本数据分割。例如以下样例文本,要分割的字符有多个,使用TEXTSPLIT很好解决:
花椒半斤;苹果4斤;梨子10斤,辣椒10斤、水10升,酒精1升。煤气炉一个。
因为分割字符有;,、。等多个符号。多个符号使用数据方式。分割完整公式为:=TEXTSPLIT(D4,{“;”,”;”,”,”,”。”})。
行分割
以上为行分割,就是分割后数据以行的形式返回。如果想将分割后结果数据以列的方式返回,只需要将参数稍加修改。完整公式为:=TEXTSPLIT(E4,,{“;”,”;”,”,”,”。”})
列分割
如果行分割和列分割同时使用会有怎样的效果效果呢。例如以下文本:
01班,雷秀英,6485.6869795438,山西,5室1厅2卫,15㎡,金宝花园;01班,魏艳,6682.07975569962,江苏,4室1厅2卫,120㎡,海德花园;2班,酆桂英,8668.34466926012,广东,7室1厅3卫,300㎡,合顺家园;01班,卞丽,8668.34466926012,重庆,4室2厅4卫,385㎡,中信海滨花园;01班,余超,8668.34466926012,上海,2室2厅1卫,23㎡,华港花园;01班,冉敏,9722.64401649716,河南,2室2厅1卫,94㎡,捷强花园;01班,狄娟,13010.6395740978,陕西,2室2厅2卫,10㎡,信园;01班,费艳,8166.44495133834,内蒙古,1室2厅2卫,86㎡,伯爵园
原始数据
可以利用TEXTSPLIT函数,轻松将数据恢复成上图样式。完整公式为:TEXTSPLIT(F3,”,”,”;”)
将数据分为为二维数组形式
TEXTSPLIT函数参数比较多,但很好理解,TEXTSPLIT函数总共有5个参数:
- 参数1:input_text 待分割的文本,该参数为必须参数;
- 参数2:col_delimiter 按列分割关键词,关键词可以为多个,如果是多个关键词,可以使用数组;
- 参数3:row_delimiter 按行分割关键词,关键词可以为多个,如果是过个关键词,可以使用数组;
- 参数4:Ignore_Empty 如果分割两个关键词相邻,则分割结果会有空字符存在,该参数默认FALSE,表示不显示空字符;
- 参数5:pad_with 当第二个、第三个参数同时使用时,二维数组如果元素不全则通过该参数补全。默认是#N/A补全。
通常第四个和第五个参数很少用到,第四、五个参数主要在将数据分割为二维数组时才用得上。需要注意的是如果分割文本有多个,分割文本使用数组形式。
TEXTSPLIT函数为微软新引入的两个函数,使用该函数目前有两种途径:
- 将365版本Excel,升级到最新版本,即可使用TEXTSPLIT函数;
- 使用第三发工具(365版本Excel和Excel2010-2021都可使用)EFunction。