是否可以在 Excel 中仅显示 5 位数字的指数值?

是否可以在 Excel 中仅显示 5 位数字的指数值?

我有下表,我正在尝试以非常具体的格式格式化数据。为了将原始值用于其附带函数,我必须格式化原始值,因此有 5 个数值,然后是适用的指数。 由于种种原因,我不能使用严格的科学符号。

这是一个已知的良好示例:0.00011766000000 其显示为:+11766-3

这是另一个很好的例子:-0.00018002000000 它将显示为:-18002-3

在我对更大的数据集进行测试时,似乎一切正常,但是这些数字用于计算物体的轨道旋转,因此精度(在我使用的格式的限制范围内)很重要。

原始值 所需输出 公式 实际产量
0.00995253 +99525-2 =CONCATENATE(MID(TEXT(J2,"+.#####00000E+#;-.#####00000E+#"),3,5),RIGHT(TEXT(J2,"+.#####E+#;-.#####E-#"),2)) 99525-2
-0.00188400 -18840-5 往上看 18840-5

我的公式只在正数时有效,在负数时无效。如果我只处理几百个数字,我可以对这些数字进行一些测试,但我要处理数万个这样的数字。

一个可行的解决方案是检测该值是负数还是正数,并使用简单的条件语句将负号连接到字符串。同样,如果它是正数,我会将正号连接到字符串。

我相信类似的东西=IF(B2>=0,CONCATENATE("+",H2),CONCATENATE("-",H2))会起作用但我想知道我是否遗漏了什么? B2 是原始数据;H2 是预期数据

所以我想知道是否有一种方法可以将值格式化为所需的格式,而无需进行文本操作?我宁愿按照我需要的方式格式化代码,然后使用 Text 函数来捕获所需的值。

答案1

我不确定你的公式到底有什么问题,以下是我认为更为健全的公式:

=IF(A1>0,"+","")& SUBSTITUTE( SUBSTITUTE( TEXT(A1,"0.0000E+0"),".",""),"E","")

在此处输入图片描述

答案2

我必须采取与建议略有不同的方法才能获得正确的输出。我创建了两个公式来实现我最初的目标。我决定坚持使用两个公式,因为如果我愿意,我可以简单地隐藏其他两列。

=CONCATENATE(MID(TEXT(J2,"+.#####00000E+#;-.#####00000E+#"),3,5),RIGHT(TEXT(J2,"+.#####00000E+#;-.#####00000E-#"),2))

=IF(J2>=0,CONCATENATE("+",K2),CONCATENATE("-",K2))
原始值 所需输出 公式1 二级方程式 实际产量
-0.001884 -18840-2 往上看 往上看 -18840-2
0.0099525 +99525-2 往上看 往上看 +99525-2

虽然从技术上讲,另一种解决方案会产生正确的输出,但我发现我必须明确指出 + 和 - 符号,以便输出才能在最终解决方案中使用实际输出。

相关内容