[英]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.