企业项目管理、ORK、研发管理与敏捷开发工具平台

网站首页 > 精选文章 正文

excel 如何取得小数位数(函数+VBA)

wudianyun 2025-07-03 01:17:07 精选文章 6 ℃

excel要完成以上任务,有网友提供以下公式解法:

C列公式

MAX(LEN(A2)-LEN(INT(A2))-1,)

D列公式

LEN(A2)-FIND(".",A2)

E列公式

IFERROR(LEN(A2)-FIND(".",A2),)

F列公式

LEN(MID(A2,FIND(".",A2)+1,999))

G列公式

MAX(LEN(A2)-LEN(INT(A2))-1,)

H列公式

tt(A2)



I列公式

dd(A2)



J列公式

tt(A2)


从表格第7行开始:D列和F列的公式,出现异常。

原因是无法处理整数,因为没有小数点。

第9行出现新问题,0.200000,这个数据如何处理小数点。

以上所有公式不能正常执行。使用VBA来完成任务:

Function tt(rng As Range)
    s = Trim(rng.Text)
    k = InStr(s, ".")
    If k <= 0 Then
        tt = 0
    Else
        tt = Len(s) - k
    End If
End Function

重点是使用了instr函数来判断有无小数点。

如果没找到结果tt=0;如果找到tt = Len(s) - k

另外还有一种方案是通过split来切分。

Function dd(rng As Range)
 s = Trim(rng.Text)
 kk = Split(s, ".")
 If UBound(kk) = 0 Then
    dd = 0
 Else
    dd = Len(kk(1))
 End If
End Function

以上两种vba方案都能正常处理上述所有问题。

Tags:

最近发表
标签列表