excel用函数给文本分列-信息技术爱好者

信息技术爱好者

您现在的位置是:首页> 办公应用> 电子表格

博客浏览

excel用函数给文本分列

申浩利2023年6月28日个人博客2093
我们在使用excel时会经常遇到从某些应用中导出的数据,它们有时会把多列数据放到一列中间用分隔符进行分隔。我们可以用是“数据-分列”的方法进行分列,为种方法比较简单但是数据变化时还要重新分列,今天我们讨论一下用函数进行分列的方法,这适合我们做数据分析模板时用,一次设置完成后,粘贴原始数据,分列自动完成。

思路分析

以3列数据” 1,温舒冰,5815210009”为例。

第1列我们找到分隔符”,”,然后截取分隔符左别的文本即可得到”1”。

再截取第2列数据时我们先对原始数据进行处理,将” 1,温舒冰,5815210009”处理为”温舒冰,5815210009”,然后第2列变成第1列。其它列以此类推。

今天我们需要用到SEARCH、LEFT、RIGHT、LEN四个函数。

SEARCH函数

search函数是用来返回一个指定字符或文本字符串在字符串中第一次出现的位置 ,从左到右查找,忽略英文字母的大小写。

【语法格式】:

=search(find_text,within_text,start_num)

find_text:要查找的字符

within_text:字符所在的文本

start_num:从第几个字符开始查找(第三个参数可以省略,此时默认从第一个开始查找)

A2单元格的数据:”1,温舒冰,5815210009”

=SEARCH(",",A2,1)

LEFT函数

LEFT函数用于从文本左侧开始提取指定个数的字符。

【语法格式】:

LEFT(text, [num_chars])

text 包含要提取的字符的文本字符串。

num_chars 指定要由 LEFT 提取的字符的数量。

A2单元格的数据:”1,温舒冰,5815210009”

=SEARCH(",",A2,1)

LEN函数

LEN函数用于返回文本字符串中的字符数。

【语法格式】:

LEN(text)

Text 是要查找其长度的文本。

A2单元格的数据:”1,温舒冰,5815210009”

=LEN(A2)

提取第一列数据

A2单元格的数据:”1,温舒冰,5815210009”,第1列数据放在B2单元格中,我们要从左截取分隔符左侧的数据。

分割符的位置是SEARCH(",",A2,1),左侧即SEARCH(",",A2,1)。

B2单元格中的完整公式应为:=LEFT(A2,SEARCH(",",A2,1)-1)

处理原始数据,去掉第一列数据

要去掉第一列数据,其实就是从右侧截取字符到左侧的第一个分割符。需要截取的字符的长度等于字符总长度减去左侧第一个分割符位置。

字符总长度:LEN(A2)

左侧第一个分割符位置:SEARCH(",",A2,1)

处理原始数据公式:RIGHT(A2,LEN(A2)-SEARCH(",",A2,1))

提取第二列数据

我们把提取第一列数据公式“LEFT(A2,SEARCH(",",A2,1)-1)”中所有的”A2”用” RIGHT(A2,LEN(A2)-SEARCH(",",A2,1))”替换即可,完整公式:” =LEFT(RIGHT(A2,LEN(A2)-SEARCH(",",A2,1)),SEARCH(",",RIGHT(A2,LEN(A2)-SEARCH(",",A2,1)),1)-1)”。

提取第三列数据

由于第三列数据是最右列数据也就是最后一列数据,所以直接把处理第二列数据的公式RIGHT(A2,LEN(A2)-SEARCH(",",A2,1))中所有的”A2”用提取第二列的公式” LEFT(RIGHT(A2,LEN(A2)-SEARCH(",",A2,1)),SEARCH(",",RIGHT(A2,LEN(A2)-SEARCH(",",A2,1)),1)-1)”替换即可。

提取第三列也就是最后一列数据的完整公式为:=RIGHT(RIGHT(A2,LEN(A2)-SEARCH(",",A2,1)),LEN(RIGHT(A2,LEN(A2)-SEARCH(",",A2,1)))-SEARCH(",",RIGHT(A2,LEN(A2)-SEARCH(",",A2,1)),1))

思路扩展

条条大路通罗马,解决问题的方法通常也不只有一种,今天我用的这种思路是从左侧截取,当然截取我们还可台用MID和RIGHT函数,大家感兴趣可以自己研究。

欢迎到下方观看视频中去观看详细的视频讲解,并长按点赞支持我!