我正在使用 TEXT 函数将数字转换为科学计数法的字符串。
我需要能够将我的数字转换为 E+ 之前的特定位数。例如,我需要转换
- 5000 至 5E+3
- 5000 至 50E+2
- 5000 至 500E+1
- ETC。
但我得到了不同的结果
- TEXT(5000, "0E+0") 给出 5E+3 正如预期的那样
- TEXT(5000, "00E+0") 给出 50E+2 正如预期的那样
- TEXT(5000, "000E+0") 给出 005E+3 不符合预期
为什么最后一个不起作用以及如何使其起作用?
答案1
我自己找到了解决方案。我使用数字尾数和数量级。所以公式是这样的
如果 A1 中为 5000,则=A1/10^INT(LOG(A1)) & "E+" & INT(LOG(A1))
得出 5E+3
如果 A2 中的值为 5000,则=10*A2/10^INT(LOG(A2)) & "E+" & (INT(LOG(A2))-1)
得出 50E+2
如果 A3 中有 5000,则=100*A3/10^INT(LOG(A3)) & "E+" & (INT(LOG(A3))-2)
得出 500E+1
答案2
尝试一下此自定义数字格式:
##0E+0