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
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方案都能正常处理上述所有问题。