【问题标题】:Excel's LEN() function returns 5 on numbers longer than 20 charactersExcel LEN() 函数对超过 20 个字符的数字返回 5
【发布时间】:2020-02-05 21:17:16
【问题描述】:

当我的数字超过 20 个字符时,Excel 中的 LEN() 函数返回 5。

我已经在我的台式机和手机上进行了尝试,得到了相同的结果。

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

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

所以我猜 21 个字符的 excel 用科学记数法存储数字,LEN() 计算它的长度。

在“评估公式”中仍然显示为“100000000000000000000”的恰好 20 个零的异常只是一个奇怪的情况吗?

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

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

<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(NUMBERVALUE(A1))
  • @M.Schalk 感谢您的输入,但没有帮助。我认为因为“1E+21”是一个数值

标签: excel number-formatting


【解决方案1】:

您可以在拨打LEN()之前将数字转换为文字

=LEN(TEXT(A1,"#")) 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-24
    • 2018-10-14
    • 1970-01-01
    • 2015-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多