Excel 2010 对以自定义格式输入的信用卡号进行四舍五入

Excel 2010 对以自定义格式输入的信用卡号进行四舍五入

我已经使用了单元格的自定义格式,如下所示

####-####-####-####

当我输入信用卡号时,无论输入什么数字,它都会将最后一个数字向下舍入为零“0”。

答案1

Excel 每个单元格仅识别 15 位数字,超过此数字,它将把任何超出的数字变为零。

答案2

要解决此问题,请将单元格格式化为文本(如注释中所述),然后输入数字。然后单元格最多可以显示 1,024 个字符。

此行为仅出现在用于计算的数字上,即在格式化为数字的单元格中。在格式化为文本的单元格中,您最多可以输入 32,767 个字符,其中 Excel 在工作表上最多显示 1,024 个字符。

由于自定义数字格式主要用于数字,因此您无法创建存储超过 15 位数字的自定义数字格式。例如,您不能使用以下格式将 16 个字符的信用卡 ID 存储为数字:

-####-####-

如果您在使用 ####-####-####-#### 格式的单元格中输入数字 1111222233334444,Excel 会在单元格中显示 1111-2222-3333-4440。您尝试存储的实际数字是 1,111,222,233,334,444,超过一千万亿。但由于这个数字太大,Excel 会删除最后一位(最低有效位)数字,并在其位置替换一个零。

如果您在格式化为文本的单元格中键入数字,则所有字符都会保留您键入的原样,因为 Excel 不会尝试将信用卡 ID 存储为数字,而是将其保留为文本。

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

答案3

正如您所指出的,Excel 每个单元格仅识别 15 位数字。信用卡号永远不会用作数字(加法、乘法等),因此只需将其作为文本输入即可。您可以在'输入数字之前点击撇号 ( ),以确保它们被视为文本。

如果您不想输入破折号,您可以使用不同列中的公式将破折号添加到字符串中。

=MID(A1,1,4)&"-"&MID(A1,5,4)&"-"&MID(A1,9,4)&"-"&MID(A1,13,4)

这将转换该字符串:

1234567890123456

对此:

1234-5678-9012-3456

或者,您可以将每组四位数字输入到新单元格中,然后使用以下公式构造您的信用卡号:

=TEXT(A1,"0000")&"-"&TEXT(B1,"0000")&"-"&TEXT(C1,"0000")&"-"&TEXT(D1,"0000")

相关内容