Excel分列方法汇总

Excel分列方法汇总
Excel分列方法汇总

1、函数:

TRIM+MID+SUBSTITUTE+REPT:

A2单元格值为” 1,★,zhongguo,北京,Excel”,将其分为1、★、zhongguo、北京、Excel:

(1)在B2单元格输入” =TRIM(MID(SUBSTITUTE($A2,",",REPT(" ",50)),50*COLUMN(A:A)-49,50))”,向右填充可得;

(2)在B2单元格输入” =TRIM(MID(SUBSTITUTE($A2,",",REPT(" ",LEN($A2))),LEN($A2)*(COLUMN(A:A)-1)+1,LEN($A2)))”,向右

填充可得。

MID+FIND:

A2单元格为”中国VS英国”,将其分为“中国”、“英国”:

在B2单元格输入” =MID(A2,1,FIND("V",A2)-1)”,在C2单元格输入” =MID(A2,FIND("S",A2)+1,10)”。

Left:

(1)LEFT 基于所指定的字符数返回文本字符串中的第一个或前几个字符。

语法:LEFT(text,num_chars)

Text 是包含要提取字符的文本字符串。

Num_chars 指定要由LEFT 所提取的字符数,Num_chars 必须大于或等于0,如果num_chars 大于文本长度,则LEFT 返回所有文本,如果省略num_chars,则假定其为1。

例如:返回16012/501450=460|00|9771|3591中的16012

=left("16012/501450=460|00|9771|3",5)回车即可

2、VBA代码:

比如说,当你有一列数为a;b;c,随后以";"为分隔符,使用分列菜单将其分为三列,第一列内容为a、第二列为b、第三列为c:

代码如下:

Sub ResetText2ColumnsDelimiter()

Dim rngEmptyCell As Range

On Error Resume Next

Set rngEmptyCell = ActiveSheet.Cells.SpecialCells(xlCellTypeBlanks).Cells(1, 1)

rngEmptyCell.Value = "ABC"

rngEmptyCell.TextToColumns Destination:=rngEmptyCell, _

DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _

ConsecutiveDelimiter:=False, Tab:=True, _

Semicolon:=False, Comma:=False, Space:=False, _

Other:=False, FieldInfo:= Array(1, 1), TrailingMinusNumbers:=True

rngEmptyCell.Clear

End Sub

3、“分列”功能:

(1)对于16012/501450=460|00|9771|3591此类数据,如果只是想提取前5位的话,还可以通过EXCEL中“数据”-“分列”的功能来实现。

实现方法:首先要确保16012/501450=460|00|9771|3591数据所在列的后续几列是没有数据的,避免分列后将后续列的数据覆盖了,当然了,覆盖之前EXCEL会有提示窗口弹出的。

然后选中需要分列的列,接着点击“数据”-“分列”,弹出如下图所示窗口:

点击“下一步”,如下:

因为16012/501450=460|00|9771|3591数据中16012后面的是“/”符号,所以在上图的“其他”选项中要相应的填“/”符号,然后“下一步”:

点击“完成”,之后就能看到原16012/501450=460|00|9771|3591数据所占用的列,被16012占用,其他剩余数据

501450=460|00|9771|3591后移到了下一列。

(2)如果遇到9771|3591这样的数据,我们想将3591提取出来,该怎么办呢?用left函数不行,用2中的“分列”方法也不行,因为在键盘上找不到“|”这样的符号,无法输入。

对这种情况,也可以用“数据”-“分列”,只是方式不同于2所描述的内容。

实现方法:首先也要确保9771|3591数据所在列的后续列是没有数据的,然后点击“数据”-“分列”,弹出窗口:

注意,这里要选择“固定宽度”方式,然后点击“下一步”,此处与2不同,弹出如下窗口:

在上图,将鼠标移动到“数据预览”中的标尺上,在“10”的位置,按下鼠标左键,按住不要松开,然后移动到“|”这个符号的后面,松开鼠标左键,此时的窗口应该是下图所示状态:

点击“下一步”,如下图:

最后,点击“完成”,3591就会显示在9771|3591数据所在列的后续列中。

相关主题
相关文档
最新文档