我需要计算一个数字的小数位数。
A1单元格值为:
123456.78.
B1中的公式为:
=LEN(MOD(A1,1))
MOD(A1,1)的结果是:
0.78
我预计LEN为4(LEN(0.78)= 4)。 Excel公式计算17因为forumula返回:
0.779999999998836
我应该尝试不同的方法吗?例如,查找分隔符char?
=LEN(A1)-FIND(".",A1)
答案 0 :(得分:1)
试试这个:
=LEN(RIGHT(A1;LEN(A1)-FIND(",";A1)))
管理非小数条目和不同小数分隔符的更好公式:
=IF(ISNUMBER(FIND(".";A1));LEN(A1)-FIND(".";A1);IF(ISNUMBER(FIND(",";A1));LEN(A1)-FIND(",";A1)))
答案 1 :(得分:0)
我发现Len函数由于某种原因导致数学函数返回错误的值(Len(Mod(123456.78,1))返回17而不是4,而Len(Mod(6.78,1)正确返回4 )。
您可以在计算长度LEN(TEXT(MOD(A1,1), "General"))
之前,将TEXT函数添加到公式中以将其更改为文本,格式为“常规”以保留小数精度。
对于那些希望使用此值来计算小数位数而不带前导“ 0”的用户,只需从结果中减去2。