我想在 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 往返数据可能会有问题,我还没有检查过。