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」
本文链接:Excel 公式:分列拆分单元格数据
复制到后面显示的要么是空白要么和第一个一样是为啥啊?=TRIM(MID(SUBSTITUTE(B2,”-“,REPT(” “,LEN(B2))),(COLUMN(A$1)-1)*LEN(B2)+1,LEN(B2)))
B2单元格列没有锁定,请以$B2形式锁定后再复制到右边列。
(COLUMN(A$1)-1)这个公式还是没有理解啥意思
本篇示例中,需要向右复制公式提取第一个、第二个…值。因此,COLUMN(A$1)分别返回1、2、3…,结合起来,相当于返回了一个0开始的序列数字,结合公式其他部分,就可以分别提取目标内容了。
能否讲解一下Column(A$1)-1*Le(分列单元格)+1,这步里面的通配符*在公式里起什么作用
本例中,*符号不是通配符,是正常的乘号。公式大致思路如下:
1、将所有的分隔符,用文本自身长度相同的空格替代;
2、然后每次从第几个文本长度处,提取文本长度的文本;(*在这一步用到)
3、提取的文本中包括很多符号,用trim函数剔除。
CTRL+E 不就好了吗
可以是可以,但是使用场景不一样。
这个公式适用于哪个版本的表格呀
2003+,基本上目前所有的版本
这种拆分是否需要文本中有-隔开才能适用
如果分隔符时其他符号,公式里的【-】改成对应的符号即可
也可以直接用分列更快,文本分列向导
是的,一般一次性操作,分列更快。公式适合固定例行多次的需求
=TRIM(MID(SUBSTITUTE($B16,”-“,REPT(“”,LEN($B16))),(COLUMN(A$1)-1)*LEN($B16)+1,LEN($B16)))为什么只是去掉了中间的“-”符号,
BHA车间101,变成这个样子了,数据完全没有分开
公式中REPT函数的第一个参数,应该是空格文本,” “,不是空文本。
=TRIM(MID(SUBSTITUTE($A2,”-“,REPT(“”,LEN($A2))),(COLUMN(A$1)-1)*LEN($A2)+1,LEN($A2))) 横向复制是空白是为什么老师
你的REPT函数的第一个参数不对,应该是“ ”,不是“”。引号中间有空格
我测试了一下,没有问题。看一下以下几个问题:
1、是不是没有那么多数量的拆分后的数据?
2、会不会是没有引用对单元($A2)?
要不贴一下具体的数据看一下
我的横着填充也是空白
REPT函数的第一个参数不是“”,应该是“ ”,引号中间有空格
需要注意公式中引用单元格的绝对相对引用方式。可以贴一下写的公式吗?
复制过去公式和之前是一样的,只是分列的数据源从C3变成了D3,显示的结果就是空白。要手动改回C3才行,有不用改就可以直接变的方法吗
这里的源单元格的列标,需要$固定住,即使用绝对引用,这样向右复制时源单元格不改变。
分列前和分列后是一模一样是怎么回事?
可以贴一下公式吗?
又get一个实用技巧谢谢站长
公式对过,没有写错,为什么出来的不对?
可以贴一下数据格式和公式吗
为什么不用panadas
可以详细讲一讲在 Excel 里如何用Pandas 吗?
=INDEX(K18:K37,SMALL(IF(COUNTIF(J18:J37,$K$18:$K$37)=0,ROW($K$18:$K$37),1000),ROW(A1)))&”” 显示的数据与老师的不一样,是哪个地方错了?
是不是另一个文章的公式呀?
请问没有规则的城市和地区怎么能拆分出来。
如果有一个标准库,可以对比拆分,具体可在公众号留言
请问如果是123这样,本身没有任何的分隔符这样的数字,应该如何通过公式拆分呢?
请问COLUMN(A$1)-1)具体指代什么意思?其中A$1可以换吗?
还有请问使用自动填充,怎么避免单元格自动加1?比如本来是A1,向右自动填充就成了A2了?
1、没有分隔符的数字,可以直接使用MID函数提取对应位置的数字。
2、COLUMN(A$1)-1 表示一个序号,向右复制时,从0开始依次递增。只要可以获得这种依次递增的数字,这部分可以修改。
3、使用绝对引用方式。想要固定哪一项(行、列),就在哪一项前加美元符号$
Excel本身自带这个功能呀,有啥区别吗
Excel自带需要每次按步骤手工操作,公式的话写一次就好
为何我横着填充单元格以后是空白的?
可以贴一下你的公式吗?