Excel 的 LEN() 函数 returns 5 超过 20 个字符的数字

Excel's LEN() function returns 5 on numbers longer than 20 characters

当我的数字超过 20 个字符时,excel returns 中的 LEN() 函数 5.

我已经在我的台式机和移动设备上试过了,得到了相同的结果。

当我使用“评估公式”时,它显示它从“LEN(100000000000000000000)”(20 个零)到“5”。

在 21 个零的情况下,它将数字格式化为科学格式,因此它从“LEN(1E+21)”变为“5”。

所以我猜想在 21 个字符处 excel 以科学记数法存储数字,LEN() 计算其长度。

“计算公式”中刚好有 20 个零的异常仍然显示为“100000000000000000000”,这只是一个奇怪的案例吗?

有没有办法让 LEN() 函数处理长数字,或者有没有我应该使用的替代公式?

下面是我用来测试的 table 数据。

<table class="tableizer-table">
<thead><tr class="tableizer-firstrow"><th>Input</th><th>Len output</th><th>formula</th><th>input formatting</th><th>actual length (dp is just formatting not actually part of the number)</th></tr></thead><tbody>
 <tr><td>10000000000000000000.0</td><td>20</td><td>=len(A2)</td><td>number 1dp </td><td>20</td></tr>
 <tr><td>1000000000000000000000</td><td>5</td><td>=len(A3)</td><td>number no dp</td><td>22</td></tr>
 <tr><td>10000000000000000000</td><td>20</td><td>=len(A4)</td><td>Text</td><td>20</td></tr>
 <tr><td>100000000000000000000</td><td>21</td><td>=len(A5)</td><td>Text</td><td>21</td></tr>
 <tr><td>100000000000000000000.0</td><td>5</td><td>=len(A6)</td><td>number 1dp </td><td>21</td></tr>
 <tr><td>100000000000000000000.00</td><td>5</td><td>=len(A7)</td><td>number 2dp</td><td>21</td></tr>
 <tr><td>10000000000000000000.00</td><td>20</td><td>=len(A8)</td><td>number 2dp</td><td>20</td></tr>
 <tr><td>1E+19</td><td>20</td><td>=len(A9)</td><td>scientific</td><td>20</td></tr>
 <tr><td>1E+20</td><td>5</td><td>=len(A10)</td><td>scientific</td><td>21</td></tr>
</tbody></table>

您可以在取LEN()

之前将数字转换为文本
=LEN(TEXT(A1,"#"))