在Excel中将小数附加到带有小数的需求数字

时间:2014-03-27 10:14:14

标签: excel

基本上我有一长串ID(超过900),格式如下(例子):

1.1.1

我希望将其显示为:

01.01.01

如何添加0而不会弄乱10.10.10之类的要求号码(我不希望这个显示为010.010.010)。

这可能是一个简单的希望!基本上只想在数字小于10时添加前导0。

干杯

2 个答案:

答案 0 :(得分:0)

假设您的A列中的ID列表如下

1.1.1
2.2.2
1.3.1
1.2.3
1.10.1
1.1.10
10.1.1
10.1.10
10.10.10
1.10.10

简单的Excel解决方案是

1 - 在A列中选择范围。转到Data --> Text to Columns --> Delimited --> Other --> Put . as delim text。这会将您的A列数据划分为3列,如下所示

enter image description here

2 - 在D1中,输入=TEXT(A1,"00")。拖动并填充D1:F10 enter image description here

3 - 在G1中输入.,然后拖动并填充至G10

4 - 在H1中,输入=CONCATENATE(D1,G1,E1,G1,F1)并拖动并填充至H10并vo!

enter image description here

VBA解决方案

Sub vbaSol()
    For Each dataCell In Range("A1:A10")
        splitData = Split(dataCell.Value, ".")
        For i = 0 To UBound(splitData)
            If CInt(splitData(i)) < 10 Then splitData(i) = "0" & CStr(splitData(i))
        Next i
        dataCell.Value = Join(splitData, ".")
    Next dataCell
End Sub

答案 1 :(得分:0)

分三部分,然后连接答案。对于左边三分之一,使用FIND()函数来定位TEXT()函数内LEFT()函数内的第一个点/句点,如下所示:TEXT(LEFT(A1,FIND(“。”,A1)-1) ,“00。”)这将给你01 .-&gt; 10.

对于右边第三个,使用FIND()函数及其可选的第三个参数来指定从哪里开始寻找点。第二个点可以不早于第四个字符。从长度LEN()函数中减去FIND(),在TEXT()函数内的RIGHT()函数内,如下所示:TEXT(RIGHT(A1,LEN(A1)-FIND(“。”,A1,4)) ,“00”)这给你01-> 10。

对于中间三分之一,使用带有FIND()函数组合的MID()函数来获取数字。它更复杂,但看起来像这样: TEXT(MID(A1,FIND(”。 “A1)+ 1,FIND(”。 “A1,FIND(”。 “A1)+1) - 查找(”。 “A1)),” 00。 “) 从第一个点后的1个字符到“找到第二个点减去第一个点”的长度获得A1的中间位置。把它变成文字。

总之,看起来像这样: = TEXT(LEFT(A1,FIND(,A1)-1), “ ”“ 00 ”)及TEXT(MID(A1,FIND(,A1)+ 1,FIND(,A1“。 ”“。” ,FIND(,A1 “ ”)1) - 查找(,A1)), “00 ”)及“。”; TEXT(RIGHT(A1,LEN(A1) - 查找(,α-1,4“。” )), “00”)