EXCEL 从右到左 查找首个 大于零的数

要求是从右开始查找,首个非零数,并返回其在字符串内所在的位数。

如:
8305700→首个非零实数为"7",在第5位
1520→首个非零实数为"2",在第3位
3027、12.6→这一类就直接返回0就行

(我只是想要知道那些数字可以除以多少次10而不出现小数点而已。不知各位E大们有何高招)
不要用VBA哦,只要公式。
最好顺便解释一下内部所用函数的作用。

假设在A列,从A1开始

B1=MOD(A1,10)
下拉,出现0的就是能整除的,否则就是不能被10整除的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-11-07
=IF(RIGHT(SUBSTITUTE(A1,0,""),1)=RIGHT(A1,1),0,MATCH(RIGHT(SUBSTITUTE(A1,0,""),1),MID(A1,ROW($1:$99),1),0))

ctrl+shift+回车

下拉追问

数值 结果
0 2
1210 1
110000 1
11000 1
12100 1
上面有问题
1200 2
1300 2
1500 2
1500000 2
10700 3
100000 1
100 1
五千多个数据里,好像都是零前面带个1有问题

追答

=IF(RIGHT(SUBSTITUTE(A1,0,""),1)=RIGHT(A1,1),0,MIN(IF(A1/10^(ROW($1:$99))INT(A1/10^(ROW($1:$99))),LEN(A1/10^(ROW($1:$99)))))-1)

ctrl+shift+回车
刚才是没考虑重复数据的问题,这回可以了,请采纳!

本回答被提问者和网友采纳
相似回答