The Great Asked: 2020-06-15 19:11:15 +0800 CST2020-06-15 19:11:15 +0800 CST 2020-06-15 19:11:15 +0800 CST Excel 单元格限制 - 相同场景的不同结果 772 我的 excel 单元格中有数字,如下所示 我想Len对Left现有数字使用公式 为什么Len函数返回 15 作为第一行的输出?它必须21没有小数点和23小数点? 当我申请LEFT提取第一个 10 位数字时,为什么它返回输出5.71011899而不是5710118995 为什么第二行工作正常而不是第一行? 两行的单元格格式相同。 请问您能帮我解决以上问题吗? microsoft-excel worksheet-function 1 个回答 Voted Best Answer Mike Fitzpatrick 2020-06-15T20:17:42+08:002020-06-15T20:17:42+08:00 LEN 函数需要一个字符串,但您为其提供了一个数字,这通常很好,因为 Excel 会自动将数字转换为字符串。这似乎发生在 Excel 不查看应用于单元格的数字格式(如果有)的情况下。 第一个数字是两者中较大的一个,似乎作为 5.710118995E+20(15 个字符)传递给 LEN,而第二个数字的量级较小,似乎作为57101189950000000000(20 个字符)传递给 LEN。 这可能是因为 Excel 在内部表示数字的方式不同,具体取决于它们的比例和精度(整数与浮点数)。 避免任意转换的最简单方法是自己处理它们: =LEFT(TEXT(CELL, "0"), 10) 或者对于这种数量级的数字更好,坚持使用科学记数法: =left(TEXT(CELL, "0.0000000000E+00"), 10)
LEN 函数需要一个字符串,但您为其提供了一个数字,这通常很好,因为 Excel 会自动将数字转换为字符串。这似乎发生在 Excel 不查看应用于单元格的数字格式(如果有)的情况下。
第一个数字是两者中较大的一个,似乎作为
5.710118995E+20
(15 个字符)传递给 LEN,而第二个数字的量级较小,似乎作为57101189950000000000
(20 个字符)传递给 LEN。这可能是因为 Excel 在内部表示数字的方式不同,具体取决于它们的比例和精度(整数与浮点数)。
避免任意转换的最简单方法是自己处理它们:
或者对于这种数量级的数字更好,坚持使用科学记数法: