我已经使用了单元格的自定义格式,如下所示
####-####-####-####
当我输入信用卡号时,无论输入什么数字,它都会将最后一个数字向下舍入为零“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 存储为数字,而是将其保留为文本。
答案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")