EXCEL 有效数字的公式

EXCEL formula for significant digits

我正在搜索一个 Excel 公式来从十进制数或整数中获取有效数字的数量(我意识到单元格必须是字符串才能具有尾随零)

例如:

从一个整数我可以做到: =len("113") 有 3 个签名。位数

同样对于十进制数 >=1 或 < 1 我可以剪掉点: 假设 H19 里面有 1.13:

=IF(VALUE(H19)>=1;LEN(SUBSTITUTE(H19;".";""));LEN(SUBSTITUTE(H19;"0.";"")))

这个公式给我3个签名。数字或者假设 0.13 会给我 2 个签名。数字为“0”。将从字符串中删除。

我能否以某种方式包括所有可能发生的情况,比方说:“0.000300”? “300”是信号。数字所以 3 是结果。

使用我的公式无法正常工作。

第二个问题是,我的公式现在只有在有人使用点作为小数点分隔符但它以逗号分隔时才有效。不幸的是,它确实必须是公式而不是宏。

我在谷歌上搜索了很多,但找不到涵盖所有方面的解决方案。 有人可以帮忙吗?

如果数字存储为格式为显示尾随 0 的数字,请使用:

=LEN(H19*10^(--SUBSTITUTE(CELL("format",H19),"F","")))

注意格式必须是 "Number" 而不是 "General"

如果数字存储为文本:

=LEN(MID(SUBSTITUTE(SUBSTITUTE(H19,".",""),",",""),AGGREGATE(15,6,ROW($XFD:INDEX(XFD:XFD,LEN(SUBSTITUTE(SUBSTITUTE(H19,".",""),",",""))))/(MID(SUBSTITUTE(SUBSTITUTE(H19,".",""),",",""),ROW($XFD:INDEX(XFD:XFD,LEN(SUBSTITUTE(SUBSTITUTE(H19,".",""),",","")))),1)<>"0"),1),99))