在Excel中分割字符

我有版本号列的excel文件。 该列的内容是例如:70001,70002.我想要做的是创build另一列引用该列,并具有值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) 

它将文本replace为具有句点加数字的1-9的每个数字,并且最后通过从第二个字符中取出子string来移除第一个句点。

抱歉。

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

例如

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

等等

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

VBAfunction

 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 

然后使用这个function,如=version(A1)

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

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

这是一个数组公式,并且必须通过按住Ctrl + Shift同时按Enter来进入