Excel函数拆分文本
之前写过两篇关于核对两列数据的文章
今天这篇用到的数据和上面两篇是一样的,只不过今天要做的是将他们拆分到单元格内存储
数据见上图蓝色标题及下方数据;结果见上图黄色标题及下方数据
观察上图可以知道,数据有这么几类
1、省市县在一个单元格内
2、省市县重复多次且在一个单元格内
3、省市没有县
4、省市县和其他不规则信息
那么对这些数据处理,并将他们按照省市县分别合并存储到一个单元格中
解这道题,得先找出省,市,县的数据,然后对他们合并到一个单元格
那所谓找出省市县的数据,其实就是将文本分列,然后分类
分列我们能想到的方法
1、Excel的分列功能
2、替换函数和left、mid等函数
3、新的几个文本拆分合并的函数textjoin、textsplit等
这里我们用textjoin、textsplit这两个函数
以【省】列为例
我们先把收费价格中的(省)(市)(县)替换为(省)-(市)-(县)-
这样做是为了保留完整的(省)(市)(县)等字样,统一的分隔符也好分列
之后上公式
看着不短,其实拆开理解就很简单了
首先,我们先对收费价格按照“-”分隔符进行拆分:TEXTSPLIT($B2,,"-",TRUE)
然后,在拆分的数据中找到包含省的数据,并对结果判断是否为函数,这一步主要是作为filter函数的筛选器出现的ISNUMBER(FIND("省",TEXTSPLIT($B2,,"-",TRUE)))
find的结果包含错误值,为了更好的做筛选,我们用数值函数判断一下,返回TRUE和FALSE的唯二结果
筛选出符合条件的结果:FILTER(TEXTSPLIT($B2,,"-",TRUE),ISNUMBER(FIND("省",TEXTSPLIT($B2,,"-",TRUE)))=TRUE,"")
之后我们对结果进行合并
使用TEXTJOIN函数,用换行符,连接到一起
换行符用char(10)表示
TEXTJOIN(char(10),TRUE,筛选出的结果)
到这里可能会发现结果并没有换行,不用担心,将结果列设置为自动换行即可
要问为什么不直接自动换行?上图看区别,直接自动换行并不会让结果排列整齐,反而是随着列宽移动,但是我们用换行符合并的数据再结合自动换行功能就可以得到我们需要的结果了
至此,完结,撒花✿✿ヽ(°▽°)ノ✿
共有 0 条评论