- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Excel分列方法汇总
函数:
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”的位置,按下鼠标左键,按住不要松开,然后移动到“|”这
文档评论(0)