在Excel中会经常会将单元格内的数据分割到多列中,我们可以用excel的分列功能。实际上,用公式也能实现分列的功能。
一、固定宽度分列
如下图,需要将A1单元格按照每1个字符分列,A5单元格按每2个字符分列。
①在A2单元格输入=MID($A$1,COLUMN(A1),1),右拉实现按照每1个字符分列
②在A6单元格输入=MID($A$5,COLUMN(A1)*2-1,2),右拉实现按每2个字符分列
※在此介绍一下column函数:得到指定单元格的列号
语法:Column(单元格引用)
例子:=COLUMN(b1) 结果是2,即该单元格在第2列
回到文章开始时的例子:
例①中,在A2单元格输入=MID($A$1,COLUMN(A1),1),右拉B2单元格变为=MID($A$1,COLUMN(b1),1),此时,A2单元格的值实际为=MID($A$1,1,1),即是从A1取第一个字符,得到A。
B2单元格实际为=MID($A$1,2,1),即是从A1单元格第二个字符开始取1个字符,得到B,以此类推,得到C、D、E、F、G、H
例②中,在A6单元格输入=MID($A$5,COLUMN(A1)*2-1,2),A6实际为=MID($A$5,1*2-1,2),即从A5单元格第一个字符开始取2个字符,得到“安徽”。
右拉,B6单元格变为=MID($A$5,COLUMN(B1)*2-1,2),实际值为=MID($A$5,2*2-1,2),即从A5单元格第3个字符开始取2个字符,得到“北京”,以此类推~~~
▲在A2单元格输入=MID($A$1,COLUMN(A1),1)时,用的是绝对引用:$A$1,否则直接用A1,右拉B2单元格变为=MID(B1,COLUMN(B1),1),无法实现我们想要的结果。
二、特定分隔符分列
比如下图中,以“、”为分隔号,对数据进行分列
我们可以用TRIM+MID+SUBSTITUTE+REPT的组合公式:
在B2中输入:
=TRIM(MID(SUBSTITUTE($A2,"、