表ぬき

Excelで先頭の0が消える・数字が日付に変わるのを防ぐ方法

原因は、Excel が入力された内容を見て、数字や日付に自動で変換するためです。防ぐには、データを入れる前に列を「文字列」にするか、取り込むときに列を「テキスト」にします。一度消えた0は元に戻らないので、取り込み直しが確実です。

画面や項目名は、Excel のバージョンによって表示が違うことがあります。ここでは Microsoft の公式ヘルプ(2026年10月に確認)に書かれている名前を使っています。

なぜ起きるのか

Excel は、「0123」を数値の123と判断して、先頭の0を落とします。「1-2」のような文字は、日付と判断することがあります。長い数値は、最初の15桁だけが保たれます。郵便番号、電話番号、商品コード、会員番号などは、数字に見えても計算には使わない「コード」なので、この変換が困りごとになります。

方法1 入れる前に列を「文字列」にする

  1. データを貼り付ける列を選びます。
  2. Ctrl+1 を押して「セルの書式設定」を開きます。
  3. 「数値」タブで「文字列」を選び、「OK」を押します。
  4. そのあとで、データを貼り付けます。

書式を変える前に入力済みの値は、変わりません。必ず、貼り付ける前に設定してください。1つのセルだけなら、数字の前に半角のアポストロフィ(')を付けて入力する方法もあります。16桁以上の番号は、Excel が扱える桁数(15桁)を超えるため、文字列にする必要があります。

方法2 CSV を取り込むときに「テキスト」にする

  1. 「データ」タブの「テキスト/CSV から」で、CSV ファイルを取り込みます。
  2. プレビューで「編集」を押して、Power Query エディターを開きます。
  3. 対象の列の見出しを選びます。
  4. 「ホーム」→「変換」→「データ型」→「テキスト」を選びます。
  5. 「列の種類の変更」で「現在を置換」を選びます。
  6. 「閉じる & 読み込む」を押します。

プレビュー画面にある、データ型の検出方法を選ぶ欄で、自動検出をしない設定にすると、すべての列がテキストとして読まれます。CSV をダブルクリックで直接開くより、この取り込み方のほうが列の形式を指定できて安全です。

方法3 自動データ変換をオフにする

Microsoft 365 の Excel と Excel 2024 には、自動変換を止める設定があります(古いバージョンにはありません)。

  1. Windows は「ファイル」→「オプション」→「データ」を開きます。Mac は「Excel」→「環境設定」→「編集」を開きます。
  2. 「自動データ変換」の欄で、止めたい項目のチェックを外します。

項目は次の4つです。

オフにすると、数値は文字列として保存されます。文字列の数値は、計算に使えない場合があります。なお、この設定は Power Query で取り込んだデータには直接影響しません。

すでに化けてしまったデータの直し方

表ぬきについて

表ぬきは、「0123」のような先頭が0のコードや桁の多い番号を、Excel ファイルに書き出すときに文字のまま残します。ただし CSV は文字だけのファイルなので、Excel で開くときの自動変換は防げません。CSV を使うときは、上の方法2で取り込んでください。

対応しているのは、ページに表(table)として書かれているものです。画像になっている表は取り出せません。ブラウザの設定画面やChromeウェブストアなど、拡張が動かないページもあります。取り出した内容の利用は、各サイトの利用規約と著作権の範囲で行ってください。

拡張は Chrome ウェブストアで公開中です(パソコンの Chrome 用)。基本機能は無料で、有料版(買い切り 1,480円・税込)では Shift-JIS の CSV などが使えるようになります。

解説ページの一覧にもどる