小数点计数的Excel公式
我需要计算一个数字的小数位数 A1单元值为:小数点计数的Excel公式,excel,Excel,我需要计算一个数字的小数位数 A1单元值为: 123456.78. B1中的公式为: =LEN(MOD(A1,1)) MOD(A1,1)的结果是: 我期望LEN为4(LEN(0.78)=4)。 Excel公式计算17,因为forumula返回: 0.779999999998836 我应该尝试另一种方法吗?例如,查找分隔符char =LEN(A1)-FIND(".",A1) 试试这个: =LEN(RIGHT(A1;LEN(A1)-FIND(",";A1))) 管理非小数项
123456.78.
B1中的公式为:
=LEN(MOD(A1,1))
MOD(A1,1)的结果是:
我期望LEN为4(LEN(0.78)=4)。
Excel公式计算17,因为forumula返回:
0.779999999998836
我应该尝试另一种方法吗?例如,查找分隔符char
=LEN(A1)-FIND(".",A1)
试试这个:
=LEN(RIGHT(A1;LEN(A1)-FIND(",";A1)))
管理非小数项和不同小数分隔符的更好公式:
=IF(ISNUMBER(FIND(".";A1));LEN(A1)-FIND(".";A1);IF(ISNUMBER(FIND(",";A1));LEN(A1)-FIND(",";A1)))
我看到Len函数出于某种原因导致math函数返回不正确的值(Len(Mod(123456.78,1))返回17而不是4,而Len(Mod(6.78,1)正确返回4) 在计算长度之前,您可以将文本函数添加到公式中,将其更改为文本,格式为“General”以保留小数精度:
LEN(TEXT(MOD(A1,1),“General”)
对于那些想用它来计算不带前导“0”的小数位数的人,只需从结果中减去2即可。我使用公式的修改版本来检查它是否是一个数字(感谢:'if(ISNUMBER(FIND(“.”,A1)),LEN(A1)-FIND(.”,A1),0)“。如果数字不包含小数,您的公式将返回一个错误。是的,我添加了一个细化,以便分隔符可以是”“或”“,以处理错误
=IFERROR(LEN(RIGHT(A1;LEN(A1)-FIND(“,”A1));0)如果没有小数,则
将返回0我觉得这有点混乱-您需要计算单元格值中的小数位数,即15位(加0)。显示的文本长度为4个字符(0.和2位小数)。如果希望它是2位小数,则可以使用=四舍五入(A1,2)
或=文本(A1,“0.00”)
。或者您可以创建一个命名范围,名为=GET.CELL(53,A1)
,它将显示显示的值,您可以使用LEN
函数返回4。
=IF(ISNUMBER(FIND(".";A1));LEN(A1)-FIND(".";A1);IF(ISNUMBER(FIND(",";A1));LEN(A1)-FIND(",";A1)))