Excel 单元格限制 - 相同场景的不同结果

Excel 单元格限制 - 相同场景的不同结果

我的 Excel 单元格中有数字,如下所示

在此处输入图片描述

我想使用Len公式Left来计算当前数字

  1. 为什么Len函数返回第一行的输出为 15?它必须21不带小数点,并且23带有小数点?

  2. 当我申请LEFT提取前 10 位数字时,为什么它返回的输出5.71011899不是5710118995

  3. 为什么第二行工作正常而第一行却不行?

两行单元格的格式相同。

您能帮我解答上述问题吗?

答案1

LEN 函数需要一个字符串,但您为其提供的是一个数字,这通常没问题,因为 Excel 会自动将数字转换为字符串。这种情况似乎是在 Excel 没有查看应用于单元格的数字格式(如果有)的情况下发生的。

第一个数字是两者中较大的一个,似乎被传递给 LEN 为 5.710118995E+20(15 个字符),而第二个数字则小一个数量级,似乎被传递给 LEN 为57101189950000000000(20 个字符)。

发生这种情况的原因可能是 Excel 内部根据数字的比例和精度(整数与浮点数)以不同的方式表示数字。

避免任意转换的最简单方法是自己处理它们:

=LEFT(TEXT(CELL, "0"), 10)

或者更好的是,对于这种数量级的数字,坚持使用科学计数法:

=left(TEXT(CELL, "0.0000000000E+00"), 10)

相关内容