在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)
如果您具有带CONCAT
function的Excel 2016,则可以使用数组公式:
=CONCAT(LEFT(A1),"." &MID(A1,ROW(INDIRECT("2:"&LEN(A1))),1))
这是一个数组公式,并且必须通过按住Ctrl + Shift同时按Enter来进入