excel分隔符拆分函数(如何把一个单元格内的内容分开)
小伙伴们好啊,今天和大家分享一个数据拆分的实例。
先来看数据源:
图片中的A列是从系统导出的信息,其中包含项目名、分期、标段以及房间号,每一项之间都有一个“-”隔开。
接下来,咱们用不同的方法将这些内容分别拆分到右侧各列内,看看这些方法你都会了吗。
方法一 分列:
分列的优点是各版本均可使用,操作简单效率高。
缺点是数据源变化后,结果不能自动更新,需要重新分列处理。
方法二 快速填充:
快速填充适合处理规律性比较高的数据,优点是操作便捷,缺点是数据源变化后,结果同样不能自动更新,需要重新处理。而且在2013以前版本中不可用。
方法三 Power Query:
此方法操作简单,而且在数据源发生变化或是增加数据后,只要右键刷新一下就好,不需要重复操作。
使用Excel 2010或是2013的小伙伴,可以通过安装Power Query插件实现,2016及以上版本的就是内置功能了。
方法四 函数公式:
B2单元格输入以下公式,向下向右拖动。
=TRIM(MID(SUBSTITUTE($A2,"-",REPT(" ",99)),COLUMN(A1)*99-98,99))
使用函数公式,能够在数据源变化后自动更新结果。缺点是编辑比较复杂,而且在数据量大的情况下,计算效率比较低。
下面咱们简单说说这个公式的意思:
1、REPT函数的作用是按照给定的次数重复显示文本,REPT(" ",99)部分也就是将" "(空格)重复99次。
2、SUBSTITUTE函数的作用是在文本字符串中用新字符串替代旧字符串。
SUBSTITUTE($A2,"-", REPT(" ",99))的意思是将$A2单元格中的字符"-",都替换成99个空格,这样做的目的就是相当于将各段字符之间的距离给拉宽了。
3、COLUMN(A1)*99-98部分,由于COLUMN函数的参数A1使用了相对引用。在公式向右复制时,公式会变成:
COLUMN(B1)*99-98
COLUMN(C1)*99-98….
得到的结果是1,100,199…..这样的一个递增序列,作为MID函数的参数。
4、MID 函数用于返回文本字符串中从指定位置开始的特定数目的字符。
MID(SUBSTITUTE($A2,"-",REPT(" ",99)),COLUMN(A1)*99-98,99)
也就是对SUBSTITUTE($A2,"-", REPT(" ",99))返回的结果分别从第1位、第100位、第199位开始截取,截取的长度为99个字符长度。
5、最后用TRIM函数清除文本中多余的空格,得到相应的科目内容。
好了,今天分享的内容就是这些吧,祝小伙伴们周末好心情!