Excelで先頭の0が消える・数字が日付に変わるのを防ぐ方法
原因は、Excel が入力された内容を見て、数字や日付に自動で変換するためです。防ぐには、データを入れる前に列を「文字列」にするか、取り込むときに列を「テキスト」にします。一度消えた0は元に戻らないので、取り込み直しが確実です。
画面や項目名は、Excel のバージョンによって表示が違うことがあります。ここでは Microsoft の公式ヘルプ(2026年10月に確認)に書かれている名前を使っています。
なぜ起きるのか
Excel は、「0123」を数値の123と判断して、先頭の0を落とします。「1-2」のような文字は、日付と判断することがあります。長い数値は、最初の15桁だけが保たれます。郵便番号、電話番号、商品コード、会員番号などは、数字に見えても計算には使わない「コード」なので、この変換が困りごとになります。
方法1 入れる前に列を「文字列」にする
- データを貼り付ける列を選びます。
- Ctrl+1 を押して「セルの書式設定」を開きます。
- 「数値」タブで「文字列」を選び、「OK」を押します。
- そのあとで、データを貼り付けます。
書式を変える前に入力済みの値は、変わりません。必ず、貼り付ける前に設定してください。1つのセルだけなら、数字の前に半角のアポストロフィ(')を付けて入力する方法もあります。16桁以上の番号は、Excel が扱える桁数(15桁)を超えるため、文字列にする必要があります。
方法2 CSV を取り込むときに「テキスト」にする
- 「データ」タブの「テキスト/CSV から」で、CSV ファイルを取り込みます。
- プレビューで「編集」を押して、Power Query エディターを開きます。
- 対象の列の見出しを選びます。
- 「ホーム」→「変換」→「データ型」→「テキスト」を選びます。
- 「列の種類の変更」で「現在を置換」を選びます。
- 「閉じる & 読み込む」を押します。
プレビュー画面にある、データ型の検出方法を選ぶ欄で、自動検出をしない設定にすると、すべての列がテキストとして読まれます。CSV をダブルクリックで直接開くより、この取り込み方のほうが列の形式を指定できて安全です。
方法3 自動データ変換をオフにする
Microsoft 365 の Excel と Excel 2024 には、自動変換を止める設定があります(古いバージョンにはありません)。
- Windows は「ファイル」→「オプション」→「データ」を開きます。Mac は「Excel」→「環境設定」→「編集」を開きます。
- 「自動データ変換」の欄で、止めたい項目のチェックを外します。
項目は次の4つです。
- 先頭のゼロを削除して数値に変換する
- 長い数値の最初の 15 桁を保持し、必要に応じて指数形式で表示します
- 文字 "E" を囲む数字を指数形式の数値に変換する
- 連続する文字と数字の "日付に似た" 組み合わせを日付に変換する
オフにすると、数値は文字列として保存されます。文字列の数値は、計算に使えない場合があります。なお、この設定は Power Query で取り込んだデータには直接影響しません。
すでに化けてしまったデータの直し方
- 消えた0: あとから書式を変えても、消えた先頭の0は復元されません。元のデータから、方法1か方法2で取り込み直してください。
- 桁数が決まっているコード: 郵便番号のように桁数が決まっていれば、見た目で0を補う方法があります。セルを選び、Ctrl+1 →「数値」タブ→「ユーザー設定」の「種類」に
00000のように入力します。別の列に=TEXT(A1,"00000")のような式を入れる方法もあります。 - 日付に変わったもの: 日付に変わると、元の書き方が残らないことがあります。元のデータから取り込み直すのが確実です。
表ぬきについて
表ぬきは、「0123」のような先頭が0のコードや桁の多い番号を、Excel ファイルに書き出すときに文字のまま残します。ただし CSV は文字だけのファイルなので、Excel で開くときの自動変換は防げません。CSV を使うときは、上の方法2で取り込んでください。
対応しているのは、ページに表(table)として書かれているものです。画像になっている表は取り出せません。ブラウザの設定画面やChromeウェブストアなど、拡張が動かないページもあります。取り出した内容の利用は、各サイトの利用規約と著作権の範囲で行ってください。
拡張は Chrome ウェブストアで公開中です(パソコンの Chrome 用)。基本機能は無料で、有料版(買い切り 1,480円・税込)では Shift-JIS の CSV などが使えるようになります。