如何在 Excel 中按我想要的方式格式化 20 位数字?

如何在 Excel 中按我想要的方式格式化 20 位数字?

我想在 Excel 的一个单元格中输入两个手机号码,单元格/显示格式如下:##### - #####, ##### - #####

但它一直将最后 4 位数字改为零。

有任何方法可以实现吗?

答案1

Excel 没有如此高分辨率的数字,因此您会看到四舍五入。

您可以轻松地验证它:输入12345678901234567890,编辑时您会发现12345678901234500000

你可以

  • 使用较少的数字:将长数字拆分为两列(如前缀+数字或
    数字1+数字2)。
  • 将数字格式化为文本:以撇号 ( ) 开头的数字'。这种方式无法自动格式化。
  • 使用标准数据库代替 Excel:在 Microsoft Office 中,您可以尝试 Microsoft Access。请记住,Excel 主要是一个电子表格处理器,而不是数据库。Microsoft Access 为较长的数据提供了类似的模板格式。

反正,在一个字段中保存两个数字(采用某种预期格式)通常不是一个好主意所以你应该先解决这个问题。

答案2

您不能将所有 20 位数字都放在一个单元格中,但假设在 A1 中有 1234567890,在 B1 中有 9876543210

您可以在第三列中将两者合并为文本格式,使用如下函数

=CONCATENATE(TEXT(A1;"#####-#####");", ";TEXT(B1;"#####-#####"))

并隐藏前两列。

希望这可以帮助

答案3

看:https://support.microsoft.com/en-us/kb/269370

Excel 遵循 IEEE 754 规范来存储和计算浮点数。因此,Excel 仅存储数字中的 15 位有效数字,并将第 15 位之后的数字更改为零。

本文不包括Excel 365- 这可能意味着限制不适用于它,或者它尚未被编辑以包含此产品。解决方法是将值存储为文本,但您可以使用其他地方提到的其他选项。

此外,64 位版本的 Office 提供了更高的精度,这可能意味着问题不存在(直到使用更长的数字。)通过 32 位 Excel 往返数据可能会有问题,我还没有检查过。

相关内容