Excelが勝手にデータを変える仕様まとめ(先頭の0・日付化・15桁問題)

公開日:2026年7月12日|カテゴリ:コラム

「開いただけ」でデータが変わるという問題

Excelは表計算ソフトとして非常に優秀ですが、1つだけ業務データと相性の悪い性格があります。入力された値を「気を利かせて」別の形に解釈し直すことです。手入力なら気づけますが、CSVを開いた瞬間に数百行へ一括適用されると、もはや目視では気づけません。

kintoneや販売管理システムへのデータ取り込みを支援していると、「取り込みエラーの原因を遡ったら、途中でExcelを経由したときにデータが変わっていた」というケースに本当によく出会います。この記事では、代表的な「勝手に変わる」パターンを仕組みから整理します。敵の手口を知っていれば、事故のほとんどは防げます。

パターン①:先頭の0が消える

「090…」の電話番号が「90…」に、商品コード「00123」が「123」になる、最も有名なパターンです。

原因は、Excelが「0で始まる数字の並び」を数値として解釈するためです。数学的には090と90は同じ数なので、数値として扱った時点で先頭の0は「意味のない桁」として消えます。しかし業務データの電話番号や商品コードは数値ではなく「桁数に意味がある文字列」です。この認識のずれが事故の正体です。

厄介なのは、郵便番号・支店コード・JANコードなど、0始まりのコード体系が日本の業務には大量にあることです。名簿系のCSVをExcelで開いて保存したら、電話番号列が全滅していた——という事故は、どの業種でも起こり得ます。

パターン②:日付に化ける

「1-1」が「1月1日」に、「2/3」が「2月3日」になるパターンです。ハイフンやスラッシュで区切られた数字を、Excelが日付として解釈します。

被害に遭いやすいのは、住所の丁目・番地(「1-2-3」)、サイズ表記(「10-15」)、品番(「3-501」)など。さらに悪いことに、日付に変換された値は内部的には「シリアル値」という通し番号に置き換わるため、CSVとして保存し直すと「45658」のような意味不明な数字になることがあります。こうなると元の表記の復元は困難です。

この問題は科学の世界でも深刻で、遺伝子名「SEPT1」(セプチン1)などがExcelで9月1日に変換されてしまう事故が論文データで多発し、ついに遺伝子の命名機関が「Excelに化けない名前」へ遺伝子名自体を変更したという有名な事例があります。世界中の研究者が悩まされてきた、それほど根深い仕様です。

パターン③:大きな数字が「1.23E+13」や「末尾0」になる

12桁を超えるような長い数字は「1.23457E+13」という指数表記に変わります。これは表示形式の問題なので直せることもありますが、より深刻なのは15桁の壁です。

Excelが数値を保持できる精度は15桁までで、16桁以上の数字は16桁目以降が問答無用で0に置き換わります。クレジットカード番号(16桁)、マイナンバー系の長い番号、ECサイトの注文番号などが該当し、「4980123456789012」は「4980123456789010」に変わります。これは表示ではなくデータ自体の破壊で、後から絶対に復元できません。

パターン④:その他の「気配り」たち

防ぎ方:3つの習慣

仕組み上、これらはExcelの「バグ」ではなく仕様なので、使う側の習慣で防ぐのが現実的です。

  1. CSVをダブルクリックで開かない:確認だけなら、Excelを経由しないビューアーを使います。CSVビューアー・整形ならブラウザ内だけで表形式の確認・並び替え・列削除ができ、ファイルは書き換わりません
  2. Excelで扱う必要があるときは「取り込み」機能を使う:「データ」タブからCSVをインポートすると、列ごとにデータ型(文字列)を指定でき、自動変換を回避できます。少し手間ですが、コード類を含むCSVではこの一手間が保険になります
  3. 元ファイルを消さない・上書きしない:万一変換に気づかず保存しても、元のCSVさえ残っていればやり直せます。「作業は必ずコピーに対して行う」を徹底します

また、CSVとExcelの変換そのものが目的なら、Excelで開かずにCSV⇔Excel(xlsx)変換ツールで直接変換する方法もあります。変換の考え方はCSVとExcelを相互変換する方法で詳しく解説しています。

まとめ:Excelが悪いのではなく「適材適所」

誤解のないように付け加えると、これらの仕様は「セルに90と打ったら数値として計算したい」という表計算ソフト本来の目的には合理的なものです。問題は、コード類を含む業務データの中継地点としてExcelを使うと、この気配りが裏目に出るという一点に尽きます。「計算・分析はExcel、データの確認・受け渡しはExcelを経由しない」という使い分けが、データ事故を減らす いちばんの近道です。

よくある質問

Q. 一度壊れたデータ(消えた先頭の0など)は元に戻せますか?
A. 壊れた列の情報だけからは戻せません。「電話番号は全部0始まりのはず」のような業務知識があれば補完できる場合もありますが、桁数が混在するコード類は判別不能です。元のCSVファイルが残っていればそこからやり直すのが唯一確実な方法なので、取り込み作業では元ファイルを消さないことが重要です。

Q. 新しいExcelでは自動変換をオフにできると聞きました
A. はい。近年のExcel(Microsoft 365系)には「ファイル→オプション→データ」に自動データ変換を制御する設定が追加され、先頭の0の削除や大きな数値の指数表記化などをオフにできるようになりました。ただし設定は端末ごとであり、社内の全員が設定済みとは限らないため、共有ファイルの運用では引き続き「CSVを直接開かない」習慣が安全です。

あわせて使いたいツール