繁体   English   中英

在Excel中拆分字符

[英]Split character in excel

我有带有版本号列的Excel文件。 该列的内容例如是:70001,70002。我要创建的是引用该列的另一列,其值应为7.0.0.0.1,7.0.0.0.2。

任何想法如何在Excel中做到这一点?

如果您的值在A列中,则可以在下一列中使用以下公式:= MID(A1; 1; 1)&“。”&MID(A1; 2; 1)&“。”&MID(A1; 3; 1)&& MID(A1 “ ”; 4; 1)&&MID(A1“。”; 5; 1)

假设该值位于单元格A2中,请使用以下公式:

    =MID(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(
     SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(
     A2,"0",".0"),"1",".1"),"2",".2"),"3",".3"),"4",".4"),"5",".5"),"6",".6"),"7",".7"),
     "8",".8"),"9",".9"),2,50)

文本用句点加数字替换每个1-9的数字,最后通过从第二个字符中提取子字符串来删除第一个句点。

抱歉。

我能想到的最简单的方法是复制单元格,然后使用Data | 文本到列(固定宽度,每个字符1行)。 现在,使用“。”将整个内容连接到另一列中。 在每个参考的中间。

例如

=a1 & "." & b1 & "." & c1

等等

如果您不知道字符串的长度,或者字符串的长度不同,则可以使用下面的VBA函数。 它使用一个FOR循环并取出每个字符并添加一个. 最后一个字符除外。 最后连接最后一个字符。

VBA功能

Function version(str As Variant) As Variant
    Dim l As Integer
    l = Len(str)

    For i = 1 To l - 1
        version = version & Mid(str, i, 1) & "."
    Next i

    version = version & Right(str, 1)

End Function

然后使用此函数,例如=version(A1)

如果您具有带有CONCAT函数的Excel 2016,则可以使用数组公式:

=CONCAT(LEFT(A1),"." &MID(A1,ROW(INDIRECT("2:"&LEN(A1))),1))

这是一个数组公式,必须在按下Enter键的同时按住ctrl + shift输入

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM