excel怎么取小数位数(excel小数截位函数)

百科 0 561

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

C列公式

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

D列公式

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

excel怎么取小数位数(excel小数截位函数)

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

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

dd = Len(kk(1))

End Function

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

相关推荐: