展开全部
根据你下面的636f707962616964757a686964616f31333365663530答案,我最终研究出一个比较笨重的公式,仅供参考,假设数值是A1:
则完整的公式是:=LEFT(TEXT(A1,"0.000E+0"),5)*POWER(10,RIGHT(TEXT(A1,"0.000E+0"),2),
思路是先把源数字变成科学计数格式(这里面无法用单元格属性里面的科学计数格式实现,只能通过公式)。
然后在科学计数从最左侧开始取字符串,即LEFT函数,这里需要注意,小数点也算字符,所以在LEFT函数第二个数字(上述公式中的“5”)要比需要求出的有效数字(本题中为4)位数的值大1。
这样求出了合乎有效数字要求的字符串,然后通过RIGHT公式筛选出科学计数中的指数值。RIGHT公式与LEFT相反,是从右侧取字符串,在科学计数中,表示指数的为最后两位(不能忽略正负号),例如“3.285e-1”中的“-1”,所以公式中的“2”也是固定的。
最后再利用幂函数POWER与之前的有效字符串求出最终值,由于科学计数的底数是10,所以“10”是固定的。
由于公式直接使用源数字进行计算,所以比较麻烦,这里可以用TEXT公式先计算出科学计数的格式,例如为B2,然后再把B2代入公式中,则公式为:
=LEFT(B2,5)*POWER(10,RIGHT(B2,2)
亲测有效!
补充:我这个公式还是有问题,对于过大的数字就没办法实现,比如你例子中的123400,我做出的这个公式只适合我自己的应用,因为我是保留1为有效数字,后面都变成0。最佳答案还应该是科学计数的那个,因为数字过大时,有效数字就是使用科学计数格式。