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 で、1 千兆を超えています。ただし、この数値は非常に大きいため、Excel では最後の (最下位の) 桁が削除され、代わりにゼロが配置されます。

テキストとして書式設定されたセルに数字を入力すると、Excel はクレジットカード ID を数字として保存せず、テキストとして残すため、すべての文字は入力したとおりに残ります。

ソース: https://support.microsoft.com/kb/269370/ja-jp

答え3

ご指摘のとおり、Excel はセルごとに 15 桁しか認識しません。クレジットカード番号は数値 (加算、乗算など) として使用されることはありませんので、テキストとして入力してください。'数値を入力する前にアポストロフィ ( ) を押すと、数値がテキストとして扱われるようになります。

ダッシュを入力したくない場合は、別の列の数式を使用して文字列にダッシュを追加できます。

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

この文字列は次のように変換されます:

1234567890123456

これに対して:

1234-5678-9012-3456

あるいは、4 桁の数字をそれぞれ新しいセルに入力し、次の数式を使用してクレジットカード番号を作成することもできます。

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

関連情報