分解数字字符串并更改格式

时间:2016-06-14 04:59:55

标签: excel

我有很多字符串,例如:

  

“1.5.22.1.2”

我需要将它拉开并再次将它重新组合在一起:

  

“1.05.22.01.02”

不同之处在于第一个没有前导零。

这是一个很大的“复制,操作和粘贴”工作,因为字符串在其中一个程序中用作代码。

2 个答案:

答案 0 :(得分:2)

也许VBA UDF更简单:

Function FormatThis(oCell As Range) As String
    Dim vValue As Variant
    Dim vSplit As Variant
    Dim lCt As Long
    vSplit = Split(oCell.Value, ".")
    For lCt = LBound(vSplit) + 1 To UBound(vSplit)
        vSplit(lCt) = Format(vSplit(lCt), "00")
    Next
    FormatThis = Join(vSplit, ".")
End Function

从您的手机拨打= FormatThis(A2)

答案 1 :(得分:1)

非正统的解决方案是打开一个新工作表并执行以下操作:

1)复制要更改的所有数字(1.5.22.1.2)并将其粘贴到新工作表中。

2)突出显示单元格并转到DATA选项卡并选择“Text to Column”S

2a)选择分隔并点击下一步

2b)选择分隔符作为Tab和Other,只需一个点:

enter image description here

2c)命中完成。

现在每个数字都应该在一个新列中,并且您将使用if条件然后将它们连接起来。

enter image description here

然后您可以根据需要修改列:

例如我有:

第1列的

=D6

第2列的

=IF(E6<10, CONCATENATE(0,E6),E6)

第3列的

=L6

第4栏的

=IF(G6<10, CONCATENATE(0,G6),G6)

第5列的

=IF(H6<10, CONCATENATE(0,H6),H6)

如果这是你想要的输出,那么我们可以通过串联挤压回来:

enter image description here

最终产品是P栏或(我的第6栏)

连接的公式为:=CONCATENATE(D6,".",E6,".",F6,".",G6,".",H6)