Excel 公式:分列拆分单元格数据

大家好,今天和大家分享根据指定字符串分列单元格的公式。

你们应该知道,Excel 的内置的分列功能可以很方便的根据指定字符串批量分列单元格里的文本。

不过这个功能每次使用时,都需要手动取操作。如果频繁需要进行此操作,可能多花一些时间。

今天给大家介绍使用公式完成分列操作。

待分列的内容如下:

公式

我们将使用 TRIM、MID、SUBSTITUTE、REPT、LEN 等文本函数提取分列后的第 n 个文本,填入对应的单元格。通用公式如下:

=TRIM(MID(SUBSTITUTE(分列单元格,"-",REPT(" ",LEN(分列单元格))),(COLUMN(A$1)-1)*LEN(分列单元格)+1,LEN(分列单元格)))

其中,(COLUMN(A$1)-1)部分表示提取的第几个部分,从零开始。

本例中,C3 单元格的公式如下:

=TRIM(MID(SUBSTITUTE($B3,"-",REPT(" ",LEN($B3))),(COLUMN(A$1)-1)*LEN($B3)+1,LEN($B3)))

在 C3 单元格输入后,将单元格向右复制3个单元格:

之后,第一行公式向下复制到全部单元格:

这样就达到了分列的目的。如果分列后的文本数量增加,只需将公式向右复制到指定数量即可。

 

 

转载注明:文章转载自「懒人Excel - www.lanrenexcel.com

您可能还喜欢...

订阅评论
提醒
37 评论
最新
最旧 最多投票
内联反馈
查看所有评论
Ricky
1 年 前

能否讲解一下Column(A$1)-1*Le(分列单元格)+1,这步里面的通配符*在公式里起什么作用

言笑ABC
1 年 前

CTRL+E 不就好了吗

无人之地
1 年 前

这个公式适用于哪个版本的表格呀

红红小鱼
1 年 前

这种拆分是否需要文本中有-隔开才能适用

努力学习的社畜
2 年 前

也可以直接用分列更快,文本分列向导

最后由努力学习的社畜编辑于2 年 前
爱吃樱桃的狐狸
2 年 前

=TRIM(MID(SUBSTITUTE($B16,”-“,REPT(“”,LEN($B16))),(COLUMN(A$1)-1)*LEN($B16)+1,LEN($B16)))为什么只是去掉了中间的“-”符号,
BHA车间101,变成这个样子了,数据完全没有分开

最后由爱吃樱桃的狐狸编辑于2 年 前
ZICAI
2 年 前

=TRIM(MID(SUBSTITUTE($A2,”-“,REPT(“”,LEN($A2))),(COLUMN(A$1)-1)*LEN($A2)+1,LEN($A2))) 横向复制是空白是为什么老师

星矢座的天马
2 年 前
回复给  ZICAI

你的REPT函数的第一个参数不对,应该是“ ”,不是“”。引号中间有空格

AIKO
2 年 前

我的横着填充也是空白

星矢座的天马
2 年 前
回复给  AIKO

REPT函数的第一个参数不是“”,应该是“ ”,引号中间有空格

moon
1 年 前
回复给  懒人Excel

复制过去公式和之前是一样的,只是分列的数据源从C3变成了D3,显示的结果就是空白。要手动改回C3才行,有不用改就可以直接变的方法吗

Amelia
2 年 前

分列前和分列后是一模一样是怎么回事?

韩bb
2 年 前

又get一个实用技巧谢谢站长

hongjivi
2 年 前

公式对过,没有写错,为什么出来的不对?

沸冰123
2 年 前

为什么不用panadas

凤儿123
2 年 前

=INDEX(K18:K37,SMALL(IF(COUNTIF(J18:J37,$K$18:$K$37)=0,ROW($K$18:$K$37),1000),ROW(A1)))&”” 显示的数据与老师的不一样,是哪个地方错了?

xuexue
3 年 前

请问没有规则的城市和地区怎么能拆分出来。

tangxindan
3 年 前

请问如果是123这样,本身没有任何的分隔符这样的数字,应该如何通过公式拆分呢?
请问COLUMN(A$1)-1)具体指代什么意思?其中A$1可以换吗?
还有请问使用自动填充,怎么避免单元格自动加1?比如本来是A1,向右自动填充就成了A2了?

tangxindan
3 年 前

Excel本身自带这个功能呀,有啥区别吗

tangxindan
3 年 前

为何我横着填充单元格以后是空白的?

37
0
希望看到您的想法,请您发表评论x