- ベストアンサー
16桁以上の「0」に変換されてしまった数値を読み取る方法
エクセル2003です。 17桁の社員コードをセルに入れていたのですが 16桁以上から0になってしまいました。 A1に「12312312312312312」と入力すると 数式バーでは「12312312312312300」になり セルの表示は「1.23123E+16」となっています。 この時、「0」に変換された部分は もともとどの数値だったかを調べる方法はありますか!? かなりピンチです! よろしくお願いします!!!
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
Excelは、数値としての有効桁数が15桁でして、16桁以上は保持できません。 ですので、「数字」としてセルへ入力するのは15桁までにする必要があります。 ただ、入力するのは「社員コード」で「数値」ではないですよね。でしたら セルの書式設定で「文字列」を指定してください。そうすれば確か最大桁数 は255桁まで行けたはずです。 ただし、文字列にしてしまったので、数字としての演算はできなくなってます。 そのコードの4番前、なんてのを計算する場合は一工夫が必要になりますよ。
その他の回答 (3)
- Gletscher
- ベストアンサー率23% (1525/6504)
そのセルを選んで、数式バーを見ると表示されていませんか? 普通は、セル上は丸めた結果が表示されても、数式バーには元の値が表示されます。 セルにも元の値を表示させたかったら、そのセルを選んで右クリックし、セルの書式設定で、表示形式の分類を「ユーザー定義」に変更し、種類のところを「0」を選んでみてください。
お礼
なぜか数式バーの時点で0になっています。。。 ありがとうございます。
》 もともとどの数値だったかを調べる方法はありますか!? 》 かなりピンチです! 無念でしょうが、諦めませう。ご希望の方法はありません。
お礼
がびーん!!!!!! そうですか。。。 ありがとうございます。
- info22
- ベストアンサー率55% (2225/4034)
エクセルの仕様上、整数の有効桁数が15桁になっていて、それ以上の桁数入力しても、16桁目以降がゼロ煮変換されて入力され、表示法も浮動小数点の格納方法に変換された数値が指数タイプ表示として表示されることになるのはEXCELの使用上避けられませんね。回避方法として社員データを文字タイプデータ(string)として入力すれば、16桁以上入力できるかと思います。 http://support.microsoft.com/kb/269370/ja まずは、やってみてください。 あるいは社員コードを 15桁以下の数値+15桁以下の数値 として2つのセルに分割して管理するようにすれば良いのではないかと 思います。
お礼
ありがとうございます。 よく読みました。 これからは文字列として入力します。
お礼
早速のご回答ありがとうございます。 以後文字列として入力しますが、すでに入力した数値も文字列になってしまったのでしょうか? 一工夫とはどうすればいいでしょう???