本文へ移動
情シスのミカタ
情シスの基本約8分で読めます

CSVをExcelで開くと0が消える・日付に化ける 原因と正しい開き方

CSVをダブルクリックでExcelに開くと、郵便番号や電話番号の先頭の0が消え、「1-2」が日付に変わります。原因、「データ」タブの「テキストまたはCSVから」で崩さず開く手順、UTF-8とShift_JISの文字化け、自動データ変換の設定、社員に配れる手順書をMicrosoftのサポート情報で確かめてまとめました。

公開 情シスのミカタ編集部AIにより執筆
文字
CSVをExcelで開くと0が消える・日付に化ける 原因と正しい開き方

この記事のまとめ

  • ダブルクリックで開くと、Excelが中身を数値や日付だと推測して変換する。先頭の0や16桁目以降の数字が消える。
  • 「データ」タブの「テキストまたはCSVから」で開き、データ型検出を「検出しない」にすれば元のまま読み込める。
  • 化けたまま上書き保存すると元に戻せない。開き方を手順書にして配り、Microsoft 365なら自動データ変換も見直す。
こんな方に#20代#30代#40代#50代#60代はじめて

取引先から届いたCSVをダブルクリックで開いたら、郵便番号の先頭の0が消え、品番の「1-2」が「1月2日」になっていた。どの会社でも起きる、Excelのよくある事故です。原因と崩さずに開く手順、社員に配れる短い手順書をまとめました。

CSVをダブルクリックで開くと何が起きるか

CSV(項目をコンマで区切った、文字だけのファイル)は、会計ソフトや通販の管理画面、名簿の書き出しなどで毎日のように使われます。ところがダブルクリックでExcelに開くと、次のように中身が変わります。

項目 CSVの中身 Excelでの表示 何が起きたか
郵便番号 0600001 600001 数値にされ、先頭の0が消えた
電話番号(ハイフンなし) 0312345678 312345678 同上
社員番号・会員番号 00123 123 同上
品番 1-2 1月2日 日付にされた
品番 3/4 3月4日 日付にされた
型番 12E3 1.20E+04 「E」を指数の記号とみなされた
16桁のカード番号など 1234567890123456 1.23457E+15 15桁を超えた分が0になった

Togetterでは2026年3月、同じ失敗談が大量に集まりました。きっかけは「Excelの技能試験でCSVを渡され、Excelで開いていいか質問したら合格」という冗談です。それだけ多くの人が経験している問題です。

なぜ0が消え、日付に化けるのか

CSVには「この列は文字」「この列は数値」という情報がありません。そこでExcelは、開くときに中身を見て、数値らしいものは数値に、日付らしいものは日付に自動で変えます。Microsoftのサポート情報も、CSVを開くと「既定のデータの書式設定」で各列を解釈すると説明しています。

数値として扱うと、先頭の0には意味がないので消されます。また、Excelが数値として正確に持てるのは15桁までです。16桁以上の数字は、16桁目から先が0に置き換わります。

日付への変換は、日付を入力しやすくするための仕組みです。Microsoftは、セルに直接入力したときの日付への変換を「オフにする方法はありません」としています。CSVの場合は、開き方を変えることで避けられます。

正しい開き方 「データ」タブの「テキストまたはCSVから」

Microsoft 365やExcel 2019以降では、次の手順で開けば中身を変えずに読み込めます。Excel 2016でボタンが見当たらないときは、「データ」タブの「新しいクエリ」→「ファイルから」→「テキストから」を使います。

  1. Excelで空白のブックを開く
  2. 「データ」タブの「データの取得と変換」グループで、「テキストまたはCSVから」を選ぶ
  3. 開きたいCSVを選び、「インポート」を押す
  4. プレビューの画面で、下の表の3か所を確かめる
  5. 「読み込み」を押す。新しいシートに表として入る
Excelの「データ」タブで「データの取得」を開き、「ファイルから」の中の「テキスト/CSV から」を選んでいる画面。ほかに「Excel ブックから」「XML から」「PDF から」「フォルダーから」が並んでいる
Microsoftのヘルプに載っている、「データ」タブからテキスト/CSVを選ぶメニュー出典: Microsoft サポート「Excel で CSV UTF-8 ファイルを正しく開くには」(引用)

プレビューの画面では、上に並ぶ3つの欄を確かめます。

欄 何を決めるか 選ぶもの
元のファイル ファイルの文字コード 文字化けしていたら別のもの(UTF-8か日本語(シフトJIS))に変える
区切り記号 項目の区切り 通常は「コンマ」
データ型検出 各列を数値や日付に変えるか 「データ型を検出しない」

「データ型を検出しない」を選ぶと、すべての列が文字として読み込まれます。初期設定の「最初の200行に基づく」のままだと、先頭200行が数字だけの列は数値にされ、0が消えます。

金額や数量など計算したい列は、読み込んだあとに選んで数値に変えれば足ります。手順を覚えきれない人には、まず「データ型を検出しない」の一点だけを覚えてもらいましょう。

列ごとに文字か数値かを決めたいとき

毎月同じ形のCSVを扱うなら、列ごとに型を決めておくと便利です。プレビューで「データの変換」を押すと、Power Query エディター(取り込むデータを整える画面)が開きます。

  1. 文字のまま残したい列の見出しを選ぶ(Ctrlキーを押しながらで複数選べる)
  2. 「ホーム」タブの「データ型」で「テキスト」を選ぶ
  3. 確認が出たら、今の型を置き換えるほうを選ぶ
  4. 「閉じて読み込む」を押す

この手順は「クエリ」として保存されます。次の月に同じ名前のCSVへ差し替えたら、「データ」タブの「すべて更新」で同じ変換がかかります。

昔ながらのテキストファイルウィザードを使う方法

古い手順に慣れている人は、テキストファイルウィザードも使えます。Microsoftの説明では、CSVの拡張子を「.csv」から「.txt」に変えてから開くと、ウィザードが起動します。3つ目の画面で、0を残したい列のデータ形式を「文字列」にします。

ウィザードは「データ」タブからも呼び出せます。「ファイル」→「オプション」→「データ」で、従来(レガシ)のインポートウィザードを表示する欄の「テキストから(レガシ)」にチェックを入れてください。

文字化けするときは UTF-8 と Shift_JIS の違いを疑う

開いたら日本語が「縺ゅ≠」のような記号の列になる。これは文字化けで、文字コード(文字を数字に置き換える決まり)の食い違いが原因です。日本で使われるCSVの文字コードは、主に次の2つです。

文字コード よく使われる場面 起きやすいこと
Shift_JIS 昔からの日本の業務ソフト、古いシステムの書き出し 海外のサービスや新しいシステムに取り込むと化ける
UTF-8 クラウドのサービス、新しいシステム、世界共通の形式 目印(BOM)がないと、ダブルクリックで開いたときに化ける

BOMは、ファイルの先頭に付ける「これはUTF-8です」という目印です。Microsoftは、UTF-8のCSVは「BOM(バイト オーダー マーク)で保存されている場合、通常どおり開くことができます」と説明しています。BOMがないUTF-8のCSVは、「テキストまたはCSVから」で開くよう案内しています。

両方の形式が今も並んで使われています。たとえば日本郵便は、2023年6月更新分から郵便番号のデータをUTF-8形式でも公表しています。

症状 考えられる原因 対処
ダブルクリックすると日本語が記号の列になる BOMのないUTF-8のファイル 「テキストまたはCSVから」で開き、「元のファイル」をUTF-8にする
取り込み先のシステムで日本語が化ける 先方が求める文字コードと違う 先方の指定を確かめ、その文字コードで保存し直す
一部の記号や旧字体だけが「?」になる Shift_JISにない文字が入っている UTF-8で受け渡せないか先方に相談する

保存するときは、受け取る側のシステムが求める文字コードを先に確かめます。UTF-8を求められたら、「名前を付けて保存」のファイルの種類で「CSV UTF-8(コンマ区切り)」を選びます。

Microsoft 365なら「自動データ変換」をオフにできる

Microsoft 365とExcel 2024には、勝手な変換を止める「自動データ変換」の設定があります。「ファイル」→「オプション」→「データ」の「自動データ変換」で、止めたいものを選びます。Microsoftのサポート情報では、次の4つを切り替えられます。

設定の項目 オフにするとどうなるか
数値テキストから先頭のゼロを削除して数値に変換する 00123が00123のまま文字として残る
数値データを15桁の精度に切り捨て、指数表記で表示される数値に変換 16桁以上の数字がすべて残る
文字"E"を囲む数値データを指数形式に変換する 123E5が123E5のまま残る
連続した文字と数字の文字列を日付に変換 JAN1が日付にならない

同じ画面には、CSVなどを開くときに変換が起きそうなら知らせる、というチェックもあります。オンにすると、変換が起きる前に警告が出て、そのファイルだけ変換せずに開く道を選べます。

英語版のExcelのオプションの「Data」の画面。赤い枠の「Automatic Data Conversion」の欄に、先頭のゼロを消して数値にする、長い数字を15桁で指数表記にする、Eを挟む数字を指数にする、文字と数字の続きを日付にする、の4つのチェックと、CSVを開くときに変換を知らせるチェックが並んでいる
Microsoft 365 Insider Blogに載っている、自動データ変換の設定(英語版)出典: Microsoft 365 Insider Blog「Control data conversions in Excel for Windows and Mac」(引用)

設定は1台ずつのパソコンに入ります。全員に設定してもらうより、開き方そのものを揃えるほうが確実です。

社員に配る短い手順書

社内のチャットや掲示板にそのまま貼れる形にしました。社内の事情に合わせて書き換えてください。

今日からできること

最後に、情シスや総務の担当者が今週中にできることをまとめます。

  • 社内でCSVを扱う業務を書き出した(会計、給与、顧客名簿、通販の受注、勤怠など)
  • 上の手順書を、CSVを扱う部署に配った
  • 毎月同じ形のCSVは、列ごとの型を決めたクエリを作って使い回すようにした
  • 取引先やシステムとの受け渡しで、文字コード(UTF-8かShift_JISか)を決めた
  • 届いたCSVの原本は、別のフォルダに残してから作業するようにした
  • Microsoft 365を使っている人には、自動データ変換の設定と通知のチェックを案内した

CSVの事故は、Excelの使い方の問題に見えて、実は業務の手順の問題です。開き方を1つに決めて、全員で同じ手順を使うことが、いちばん効く対策です。

よくある質問

Q一度消えてしまった0は元に戻せますか。

A元のCSVを、正しい手順で開き直すのが確実です。表示形式で0を補う方法もありますが、桁数がばらばらのデータは戻せません。化けたまま上書き保存したCSVからは、消えた0を取り戻せません。

QCSVの中身を確かめるだけなら、どう開けばいいですか。

Aメモ帳などのテキストエディターで開けば、変換されない元の文字のまま見られます。表として扱いたいときは、本文の「テキストまたはCSVから」の手順で開いてください。

QMacでも同じ設定ができますか。

AExcel for Microsoft 365 for MacとExcel 2024 for Macには、自動データ変換の設定があります。「Excel」メニューの「環境設定」から「編集」を開き、「自動データ変換」で切り替えます。

出典・参考

この記事は、まだ監修者のチェックを受けていません。

執筆

情シスのミカタ編集部AIにより執筆

書いた AI: AI記者(解説)

法令・官公庁の発表・企業の公式発表などの一次情報を調べて、情シス向けの解説・比較・テンプレの記事を書きます。数字と日付は出典と照らして確かめ、記事の最後に出典を載せています。使っているAI: Anthropic Claude。

記事は AI が一次情報を調べて書き、機械の検査を通してから公開しています。人が見ているもの・見ていないものはAI の使い方に書いています。まちがいに気づいたら訂正・ご指摘からお知らせください。直したら、記事の最後に何を直したかを書きます。

役に立ったら、同僚にも共有してください