CSVをExcelで開くと0が消える?日付・桁落ち・文字化けを防ぐ方法

CSVの備考を1か所直したかっただけなのに、商品コードの「00123」が「123」になってしまった。

区分コードの「1-2」が日付になったり、長い管理番号の末尾が変わったりして、保存してよいのか分からなくなった。

こうしたトラブルは、ExcelがCSVの内容を読み込む際に、数字や日付として自動的に解釈することで起こります。開き方を変えれば防げるものもあります。

この記事では、CSVの表記が変わる原因と、Excelで文字列として取り込む方法を説明します。あわせて、計算や集計は必要なく、内容の確認や数か所の修正だけをしたいときに使える、ITtrip提供の「こわさないCSV」も紹介します。

すでに0や番号の変化に気づいた場合は、元のCSVに上書きしないでください。
まず原本を残し、コピーで確認します。Excelの画面上で値が変わっていても、保存前なら元のCSVには正しい文字が残っている場合があります。

目次

まず結論:計算するのか、表記を保って直すのかで選ぶ

CSVを扱うときは、「Excelを使うかどうか」よりも、そのデータで何をしたいのかを先に決めると、作業方法を選びやすくなります。

目的に合わせて選びましょう

計算・集計・グラフ作成をしたい
Excelを使い、商品コードや管理番号など、変えてはいけない列を取り込み時に「文字列」として扱います。

CSVの内容を確認し、必要なセルだけ直したい
数値や日付への自動変換を行わないCSV編集ツールを使う方法があります。「こわさないCSV」は、このような確認・軽微な修正に向けたツールです。

すでに値を変えた状態で上書きしてしまった
元システムからの再ダウンロードや、バックアップの確認を優先します。たとえば「123」という値だけでは、元が「00123」だったのか「000123」だったのかを判断できません。

CSVをExcelで開くと、何が変わることがある?

CSVは、値を区切り文字で並べたテキスト形式です。Excelブックのように、「この列は商品コードなので文字列として扱う」といったセルの型や表示形式を保存する形式ではありません。

そのため、同じCSVでも、読み込むソフトや設定によって値の解釈が変わることがあります。

代表的なのは、次のような変化です。

スクロールできます
元の内容の例起こり得る変化確認したいこと
商品コード 00123123 になり、先頭の0が消える数値として取り込まれていないか
区分コード 1-2日付として扱われる日付の自動判定が働いていないか
管理番号 123456789012345678末尾の桁が変わる、指数表記になる長い番号を数値として扱っていないか
コード 1E10指数表記の数値として扱われるEを含む文字列が数値化されていないか
金額表記 "1,200"数値として読み込まれ、1200 と表示されるカンマを含む文字列なのか、計算用の数値なのか
日本語の項目名・備考文字化けする読み込み時の文字コードが合っているか

数値や日付の変換はExcelの設定や取り込み方法によって異なります。表の変化がすべての環境で必ず起こるわけではありません。

CSVの商品コードや長い番号がExcelで異なる表示になる例を示す図
表示例。変換の有無や日付の見え方は、Excelの設定や環境によって異なります。操作の流れを示す図であり、Excelの実画面ではありません。

先頭の0・日付・長い番号は「計算する値」と区別する

「00123」と「123」は、計算上は同じ数値です。しかし、商品コードや受付番号としては別の表記です。

「1-2」も、区分コードなのか日付なのかは、その文字だけでは分かりません。変えてはいけないコードは、読み込み時から文字列として扱う必要があります。

長い番号では、表示だけでなく値そのものにも注意が必要です。Excelが数値として扱う場合の有効桁数は最大15桁であり、16桁以上の番号は正確に保持できないことがあります。

一方で、「E+」を含む表示になっただけで、必ず桁が失われたと判断できるわけではありません。 表示方法の問題と、数値化による精度の問題は分けて確認しましょう。長い管理番号を計算に使わないのであれば、最初から文字列として取り込むのが基本です。

「カンマが消えた」は、3つのケースを分けて考える

カンマについては、見えなくなったことが、そのままデータの破損を意味するわけではありません。

1つ目は、列を区切るためのカンマです。

次のCSVには、2つの項目があります。

00123,確認済み

これを表として開くと、「00123」と「確認済み」が別々のセルに表示されます。間のカンマは列の区切りとして使われるため、セル内には表示されません。これは通常の動作です。

2つ目は、セルの内容として必要なカンマです。

00123,"午前,午後"

この例でも項目は2つです。後半の「午前,午後」は、カンマを含めて1つのセルの内容になります。

一般的なCSVの記法では、セル内にカンマや改行などを含める場合、値をダブルクォーテーションで囲みます。引用符を一括削除したり、すべてのカンマを機械的に置換したりすると、列の区切りまで変えてしまうおそれがあります。

3つ目は、「1,200」のような数値の桁区切りです。

これが数値として読み込まれると、表示形式によっては「1200」と見えます。計算上の金額は同じでも、CSVに「1,200」という文字を残したい用途では、文字列として扱う必要があります。

区切り文字のカンマ、セルの中のカンマ、数値の表示上のカンマは、別のものとして確認しましょう。

CSVの列を区切るカンマとセル内のカンマの違い
引用符で囲まれた「午前,午後」は、カンマを含めて1つのセルの内容です。

文字化けは、0落ちとは別の問題

日本語が読めなくなる場合は、文字コードの読み違いが原因になっていることがあります。

Excelでは、CSVを取り込む際に文字コードを確認する方法があります。また、Microsoftは、UTF-8のCSVについて、BOM付きでの保存や、データの取り込み機能を使う方法を案内しています。

ただし、UTF-8にしただけで先頭の0や日付の自動変換まで防げるわけではありません。 文字コードと、数値・日付として扱うかどうかは、別々に確認する必要があります。

文字化けした状態で上書きする前に、原本から正しい文字コードで読み直してください。

ExcelでCSVの0や日付を変えずに開く方法

Excelで作業を続けたい場合は、CSVをそのままダブルクリックするのではなく、取り込み機能で列の扱いを指定する方法があります。

以下はWindowsのデスクトップ版Excelを前提にした手順です。バージョンによって、メニューの名称や表示位置が異なる場合があります。

この節の画像は、操作の流れを示す図です。実際のExcel画面ではありません。

STEP
新しいブックからCSVを取り込む

Excelで新しいブックを開き、「データ」タブから「テキストまたはCSVから」を選びます。

原本のコピーを選び、プレビューで日本語の表示と列の区切りを確認してください。文字化けしている場合は文字コードを、列が意図どおりに分かれていない場合は区切り記号を確認します。

続いて「データの変換」を選び、取り込み内容を調整します。

ExcelのテキストまたはCSVからデータを取り込む操作の流れを示す図
ダブルクリックではなく、取り込み機能からCSVを開きます。操作の流れを示す図であり、Excelの実画面ではありません。
STEP
自動で追加された型変換を確認する

Power Queryエディターでは、CSVの内容から列の型が自動判定され、「変更された型」という処理が追加される場合があります。

右側の「適用したステップ」を確認し、自動変換で0や表記が変わっている場合は、その型変換のステップを削除してから、必要な型を設定します。数値に変換した後で文字列に戻すのではなく、自動変換前の値から文字列として取り込むことが重要です。

なお、元のCSV自体ですでに0や桁が失われている場合は、この操作で復元できるわけではありません。

Power Queryで自動追加された型変換のステップを確認する操作の流れを示す図
自動変換後に文字列へ戻すのではなく、変換前の値から取り込みます。操作の流れを示す図であり、Excelの実画面ではありません。
STEP
変えたくない列を「テキスト」にする

商品コード、管理番号、区分コードなど、表記を保ちたい列を選び、データ型を「テキスト」に設定します。

内容の確認や文字修正だけが目的なら、すべての列をテキストとして取り込む方法もあります。計算が必要な場合は、計算に使う列と、番号・コードとして保つ列を分けてください。

「00123」がそのまま残っていることや、長い番号の末尾が変わっていないことを確認し、「閉じて読み込む」でワークシートに読み込みます。

商品コードや管理番号をテキスト型として取り込む設定を示す図
表記を保ちたい列をテキストとして指定します。操作の流れを示す図であり、Excelの実画面ではありません。
STEP
編集後は別名で保存し、出力も確認する

必要な編集をしたら、元のCSVとは別の名前で保存します。

提出先や取り込み先からCSVの種類や文字コードを指定されている場合は、その仕様に合わせてください。Excelブックとして保存したファイルと、CSVとして保存したファイルは別の形式です。

取り込み時に正しく表示できたことと、出力したCSVが期待どおりであることは、分けて確認しましょう。確認のポイントは、後述の「保存したCSVは、もう一度確認する」で説明します。

対応するExcelでは「自動データ変換」の設定も使える

Microsoft 365・Excel 2024の追加設定を見る

Excel for Microsoft 365やExcel 2024では、自動データ変換の設定を変更できます。

Windows版では、「ファイル」→「オプション」→「データ」→「自動データ変換」を開き、先頭ゼロの削除、長い数値の変換、Eを含む値の変換など、不要な変換を無効にします。

ただし、この設定ですべての日付への変換が止まるとは限りません。ハイフンや空白などを含む値は、引き続き日付として扱われる場合があります。また、この設定はPower Queryでの取り込みには直接適用されません。

表記を守る必要がある列は、取り込み側でもテキストとして指定してください。

数か所だけ直すなら「こわさないCSV」という方法もある

「備考を1か所書き換えたい」「商品コードが合っているか確認したい」。

その程度の作業であれば、計算や集計のための設定まで必要ない場合があります。

ITtripが提供するこわさないCSVは、CSVの各セルを文字列として扱い、先頭の0、長い番号、日付に見える文字を自動変換せずに確認・編集する無料ツールです。利用登録は不要です。

Excelのすべての機能を置き換えるものではなく、「そのまま確認して、必要なセルだけ直す」ための選択肢として使います。

無料・登録不要。まずはサンプルから試せます。

STEP
CSVを開く

「こわさないCSV」を開き、「CSVを開く」からファイルを選びます。

最初は大切な原本ではなく、コピーや「サンプルで試す」を使って操作を確認すると進めやすくなります。

こわさないCSVでファイルを開く画面
まずはサンプルや原本のコピーで操作を確認します。
STEP
必要なセルだけ編集する

変更したいセルを選び、「編集」から内容を修正します。パソコンではダブルクリックやEnterキーでも編集できます。

たとえば備考の「午前,午後」に確認済みであることを追記したいなら、そのセルだけを編集します。周囲の商品コードや管理番号を変更する必要はありません。

こわさないCSVで備考の1セルだけを編集する画面
番号や日付の表記には触れず、必要なセルだけを修正します。
備考の1セルを変更し、周囲の商品コードと管理番号を確認する画面
備考以外の商品コード・管理番号・日付表記を保ったまま編集できます。
STEP
変更した箇所を確認する

保存前に、変更数から修正前と修正後の内容を確認します。意図しない変更があれば、元に戻してから保存します。

確認するのは「画面がきれいに見えるか」ではなく、「直したかったセルだけが、意図した内容になっているか」です。

こわさないCSVで変更前後の内容を確認する画面
ダウンロード前に、意図した変更だけが入っているか確認します。
STEP
編集したCSVをダウンロードする

「CSVをダウンロード」を押し、案内に従って編集後のファイルを保存します。サービスは元のファイルを直接上書きせず、コピーをダウンロードする方式です。操作方法や変更確認については、サービスの使い方でも案内しています。

作業を終える前に、必ずダウンロードしてください。
こわさないCSVには編集内容の自動保存・復元機能はありません。タブを閉じたりページを更新したりすると、編集中の内容は失われます。

ファイルの中身は、ブラウザー内で処理する仕様

こわさないCSVのプライバシーポリシーでは、ファイル本体、ファイル名、セルの内容、検索語などをサーバーに送信せず、ブラウザー内で処理する仕様を説明しています。

一方で、サイトを表示するための通信は発生し、編集画面の外側や案内ページには広告・アクセス解析があります。「CSVの中身を送信しない」ことと、「通信や広告・解析が一切ない」ことは同じではありません。

機密情報や個人情報を扱う場合は、所属先の利用ルールを確認してから使用してください。

得意な作業と、対応していない作業を確認する

こわさないCSVは、セルの確認や修正に機能を絞っています。

入力ファイルは20MBまでですが、別途レコード数・列数・セル数などにも上限があります。また、行・列の追加削除、並べ替え、計算・集計、一括置換、Excelブック形式の編集には対応していません。

大量のデータ加工や集計が目的ならExcelなどを使い、既存のCSVを少しだけ直す用途と使い分けてください。 詳しい条件は「対応範囲・利用にあたって」で確認できます。

保存したCSVは、もう一度確認する

CSVは、保存できたところで終わりにせず、出力したコピーも確認しましょう。

確認するときは、数値や日付への自動変換を行わない方法で開きます。Excelを使う場合は、ここまで説明した文字列として取り込む方法を使ってください。

特に見ておきたいのは、次の3点です。

  • 値の表記:先頭の0、長い番号の末尾、日付に見えるコード、セル内のカンマが残っているか。
  • 変更した範囲:修正したかったセル以外に、意図しない変更がないか。
  • ファイルの構造と条件:列の並びやレコード数が変わっていないか。取り込み先が指定する文字コードなどの条件に合っているか。

セル内に改行があるCSVでは、テキスト上の行数と、表としてのレコード数が一致しない場合があります。単純な改行の数だけで件数を判断しないようにしてください。

編集済みCSVの商品コードと長い管理番号を確認する画面
保存したコピーを開き直し、先頭の0と長い管理番号の末尾を確認します。
編集済みCSVの区分コードと日付表記を確認する画面
日付に見える区分コードや、日付表記がそのまま残っていることを確認します。
編集済みCSVのカンマを含む金額表記と変更後の備考を確認する画面
金額表記のカンマと、備考だけが変更されていることを確認します。

この記事の検証用CSV(ヘッダーを含む4レコード・6列)では、ダウンロード後のファイルをCSVとして解析し、備考の1セルだけが変更され、ほかのセルは同じ値であることを確認しました。UTF-8のBOMとCRLFの改行も保持されていました。これは今回の説明用データでの確認結果です。

こわさないCSVで保存しても、その後のExcelの自動変換まで止められるわけではありません。
保存後のCSVをExcelで通常どおり開くと、再び値が数値や日付として解釈されることがあります。「保存で変わった」のか、「確認のために開いたソフトが変換した」のかを分けて考えてください。

また、外部から受け取ったCSVには、表計算ソフトで数式として解釈される値が含まれる場合があります。こわさないCSV内では数式を実行しませんが、その後にExcelなどで開く場合の扱いは別です。保存時に注意が表示された場合は、内容を確認してください。

CSVの編集でよくある質問

「00123」をダブルクォーテーションで囲めば、Excelでも0は消えませんか?

それだけでは、文字列として扱われる保証にはなりません。CSVのダブルクォーテーションは、カンマなどを含む値を1つの項目として表すためにも使われます。Excelの取り込みでは、引用符の扱いと列のデータ形式は別の設定です。先頭の0を保ちたい場合は、列を文字列として取り込んでください。

CSVを開いた後で、セルの表示形式を「文字列」にすれば直りますか?

すでに消えた0や失われた桁を、表示形式の変更だけで元どおりに戻すことはできません。正しい内容が残っている原本から、文字列として取り込み直してください。

表示形式を「00000」にして、0を補う方法ではだめですか?

「必ず5桁」という仕様が分かっているデータの表示を整える用途では使えます。ただし、元の値を確認したことにはなりません。桁数が混在するコードや、長い番号で失われた桁の復元には使えないため、原本の確認を優先してください。

CSVをUTF-8で保存すれば、0落ちや日付への変換も防げますか?

防げるとは限りません。UTF-8は文字を記録する方式であり、Excelがその値を数値や日付として扱うかどうかとは別の問題です。文字コードと列のデータ型の両方を確認してください。

まとめ:CSVは「変えてよい値」と「保つべき表記」を分けて扱う

CSVをExcelで開いたときの0落ちや日付への変換は、データが数字や日付として解釈されることで起こります。計算に使う数値と、商品コード・管理番号などの文字列を分け、必要な列を文字列として取り込むことが対策の基本です。

一方、「内容を見たい」「備考を1か所だけ直したい」という作業なら、最初から文字列として確認・編集する方法も選べます。

大切なのは、原本を残し、必要なところだけ修正し、保存したコピーも確認すること。 作業に合う方法を選び、CSVの表記を意図せず変えないようにしましょう。

まずはサンプルで、CSVの確認・編集を試してみてください。

参考:Microsoft公式情報

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次