取引先から届いた CSV をダブルクリックしたら、漢字が記号になっていた。社員番号の 00123 が 123 になっていた。経理や人事、営業事務の方なら、一度は経験があると思います。
原因は、CSV が壊れているからではなく、Excel が開くときに自動で判断しているからです。この記事では、起きる仕組み、取り込み直す手順、保存するときの選び方、やってしまったときの直し方を説明します。手順は Microsoft の日本語のサポートページで確かめた、Windows の Microsoft 365 の Excel のものです(2026年10月21日確認)。Mac で違う所は、その都度書きます。
なぜ文字化けして、0 が消えるのか
CSV は、項目をコンマで区切って並べただけの文字のファイルです。Microsoft のページでも、コンマ区切りテキスト ファイルと説明されています。色や桁数の指定、「この列は文字列」という情報は入っていません。
そのため、ダブルクリックで開くと、Excel が次の 2 つを自分で判断します。
- 文字コード(どの規則で文字を並べたか)
- 各列のデータの種類(数値か、文字列か、日付か)
Microsoft のページには、.csv を開くと「現在の既定のデータの書式設定」で各列を解釈する、と書かれています。さらに先頭のゼロについて、Excel は自動で削除して数値に変換する、とも書かれています。
文字化けと0落ちが起きる理由と、取り込みで直す流れ(架空のデータ)作成: 編集部 / もとの資料: Microsoft サポート「テキスト (.txt または .csv) ファイルのインポートまたはエクスポート」ほか
文字化けは文字コードの食い違い
文字コードは、文字を数字に置き換える規則です。日本語の CSV では、Shift_JIS と UTF-8 の 2 つを見かけることが多く、読む側が違う規則で読むと文字化けします。
Microsoft のテキスト インポート ウィザードのページには、ファイルの文字セットが自分のパソコンと違うと分かっているときは、[ファイルの元] をそれに合わせて変更する、と書かれています。
UTF-8 には、もう 1 つ決まりがあります。Microsoft のページによると、UTF-8 の CSV は、BOM(バイト オーダー マーク)付きで保存されていれば通常どおり開けます。BOM は、ファイルの先頭に付く「この文字コードです」という目印です。Power Query の公式の説明では、文字セットは推測されず、UTF-8 は BOM で始まる場合にのみ推測される、とあります。
BOM があるかどうかは、受け取る側からは見えません。化けたら、次の章の取り込みを使います。
0 落ちと日付化は、列を数値や日付と判断するから
社員番号 00123 は、Excel には数字の並びに見えます。数値と判断された列は、先頭のゼロが削られます。郵便番号、電話番号、取引先コードも同じです。
日付も同様で、Microsoft のページには、12/2 と入力すると 2-Dec に変わる、と書かれています。
直し方 1: ダブルクリックをやめて「データ」タブから取り込む
いちばん確実なのは、CSV を直接開かず、Excel の中から取り込む方法です。Microsoft のページに、新しいブックで [データ] タブから取り込む手順があります。
- Excel を起動し、空のブックを開く。
- [データ] タブの [テキストまたは CSV から] を選ぶ。画面によっては [テキスト/CSV から] と表示されます。
- 取り込む CSV を選んで [インポート] を選ぶ。
- 中身のプレビューが出る。文字が化けていたら、[ファイルの元] を切り替える(下で説明)。
- 画面下の [データ型検出] で、検出の方法を選ぶ(下で説明)。
- [読み込み] を選ぶ。列を個別に直したいときは [データの変換] を選ぶ。
[ファイルの元] で文字化けを直す
プレビューの文字が化けているときは、[ファイルの元] の一覧から、別の文字コードを選びます。日本語のファイルなら、「日本語 (シフト JIS)」や「Unicode (UTF-8)」といった項目が候補になります。一覧の表記は、Excel の版や設定で違う場合があります。
選ぶと、プレビューがすぐ変わります。読める形になった選択で、[読み込み] に進みます。送り元に「Shift_JIS です」「UTF-8 です」と聞けるなら、先に聞くと早く済みます。
[データ型検出] で 0 落ちを防ぐ
Microsoft Learn の Power Query の説明では、データ型検出の方法を 3 つから選べます。最初の 200 行をもとにする、データ セット全体をもとにする、自動検出をオフにしてすべての列を既定の「テキスト」にする、の 3 つです。
CSV の列に社員番号や郵便番号が混じっているときは、検出をオフにする選択が分かりやすい方法です。すべての列が文字列で入るので、00123 は 00123 のまま残ります。日付や金額の列は、取り込んだあとで必要な列だけ型を直します。
列を個別に文字列にする(郵便番号・社員番号・電話番号・取引先コード)
検出を使ったまま、必要な列だけ文字列にする方法もあります。Microsoft の「先頭のゼロおよび大きい数値の保持」のページの手順です。
- 取り込みの画面で [データの変換](ページの表記では [編集])を選ぶ。
- 文字列にしたい列の見出しを選ぶ。Ctrl を押しながら選ぶと、複数の列を選べる。
- [ホーム] > [変換] > [データ型] で [テキスト] を選ぶ。
- [列の種類の変更] の画面が出たら、[現在を置換] を選ぶ。
- [閉じて読み込む] を選ぶ。
データが変わったときは、[データ] > [更新] を選ぶと、同じ変換のまま取り込み直せます。
| 列の例(架空) |
向いている型 |
理由 |
| 社員番号 00123 |
テキスト |
計算に使わず、先頭の 0 が意味を持つ |
| 郵便番号 0600001 |
テキスト |
先頭の 0 を残す |
| 電話番号 0312345678 |
テキスト |
先頭の 0 を残す |
| 取引先コード 000457 |
テキスト |
桁数が決まっている |
| 金額 128000 |
整数など |
合計を出すので数値のまま |
「向いている型」は編集部の目安です。
直し方 2: 開き方は変えずに、自動変換を止める
毎回取り込むのが大変なときは、自動データ変換の設定を変える方法があります。Microsoft のページでは、Excel for Microsoft 365 と Excel 2024 で使える機能と説明されています。
- [ファイル] タブの [オプション] を選ぶ。
- [データ] タブの [自動データ変換] へ進む。
- 止めたい変換のチェックを外す。
外せる項目は、次の 4 つです。
| 項目 |
外したときの動き |
| 先頭のゼロを削除して数値に変換する |
00123 が 00123 のまま残る |
| 長い数値の最初の 15 桁を保持し、指数形式で表示する |
16 桁以上の数字がすべて残る |
| 文字 "E" を囲む数字を指数形式の数値に変換する |
123E5 が 123E5 のまま残る |
| 連続文字と数字を日付に変換する |
JAN1 が 1 月 1 日にならない |
Mac では [Excel] > [環境設定] > [編集] の [自動データ変換] にあります。
この設定は、Power Query で取り込むデータには直接影響しません。取り込みの画面で型を指定する方法とは別の設定です。
日付が勝手に変わるのを防ぐ
日付の列は、2 つの場面で変わります。
- CSV の中の「12/2」のような値が、日付に変わる
- 日付の並びの決まりが、CSV と Excel で食い違う
前者は、取り込みで列を文字列にするか、自動データ変換の 4 つ目を外します。Microsoft のページには、入力前にセルの書式を [テキスト] にする方法も載っています。Ctrl + 1 で [セルの書式設定] を開き、[文字列] を選びます。
後者は、Microsoft のテキスト インポート ウィザードのページに、CSV の列が月日年(MDY)で Excel の既定が年月日(YMD)の場合などがある、と書かれています。ウィザードでは列のデータ形式で [日付] を選び、並びの種類を選べます。Power Query の取り込みでは、取り込んだあとに列の型を日付に直します。
直し方 3: 表示だけ 0 をそろえる
CSV から出て行かない、自分のブックの中だけの問題なら、ユーザー定義の表示形式で先頭の 0 を表示できます。Microsoft のページの手順です。
- 書式を設定するセルを選ぶ。
- Ctrl + 1 で [セルの書式設定] を開く。
- [表示形式] タブの [分類] で [ユーザー定義] を選ぶ。
- [種類] に、桁数分の 0 を入力する。たとえば 5 桁の社員番号なら 00000。
Microsoft のページには、書式設定の前に削除された先頭のゼロは復元されない、とも書かれています。また、他のプログラムのデータ元に使うブックには、この方法を勧めていません。
保存するときの形式の選び方
取り込みで正しく読めても、保存のしかたで同じ問題が起きます。保存は [ファイル] > [名前を付けて保存] から、[ファイルの種類] を選びます。
CSVの保存形式の選び方 早見表(取り込み先の指定から決める)作成: 編集部 / もとの資料: Microsoft サポート「ブックをテキスト形式 (.txt または .csv) で保存する」ほか
Microsoft のページで確認できる形式は、次のとおりです。
| 形式 |
公式ページの説明 |
| Excel ブック (.xlsx) |
書式や数式を保てる、通常の保存形式 |
| CSV (コンマ区切り) |
Windows でタブや改行などが正しく解釈される、コンマ区切りのテキスト。作業中のシートだけを保存 |
| CSV UTF-8 (コンマ区切り) |
作業中のシートを UTF-8 のテキストにする。日本語版の Mac の一覧に掲載。Excel 2016 for Mac のみと注記あり |
| Unicode テキスト |
Unicode のテキストとして保存。タブ区切りの形式 |
選ぶ基準は、取り込み先が求める形
「どれが正しいか」は、Excel ではなく取り込み先で決まります。会計や勤怠、人事のシステムの取り込み画面や、マニュアルに、文字コード、区切り文字、見出し行の有無が書かれています。
- 文字コードの指定がある: その形式で保存する
- UTF-8 の指定がある: UTF-8 の形式を選ぶ。BOM が必要かもあわせて確かめる
- 指定がない: 試しに少数の行で取り込んで確かめる
Microsoft のページには、UTF-8 は BOM 付きなら Excel で通常どおり開ける、と書かれています。Excel で開く人にも渡すなら、BOM の有無が関係する場合があります。
保存するときに気をつけること
- 保存できるのは作業中のシートだけで、書式設定はすべて失われます。
- 保存のとき「CSV 形式で保存してよろしいですか?」といった確認が出ます。Microsoft の Outlook 向けのページでは、CSV で保存するなら [はい] を選ぶよう案内されています。[いいえ] だと .xlsx で保存されます。
- 保存したら、そのファイルを Excel で開き直さず、メモ帳で開いて中身を確かめます。Windows では、CSV を右クリックして [プログラムから開く] > [メモ帳] を選びます。
0 の欠けや文字化けは、メモ帳なら Excel の自動の判断が入らないので、見えるままに確認できます。
やってしまったときの直し方
先頭の 0 が消えた、文字化けしたブックを保存してしまったときは、そのブックを直そうとしない方が早くなります。
- 元の CSV を探す。メールの添付、共有フォルダー、システムからの出力に残っていることが多い。
- 消えた(または化けた)ブックは、別名で保存しておく。上書きしない。
- この記事の「ダブルクリックをやめて『データ』タブから取り込む」で、元の CSV から取り込み直す。
- 必要な列を文字列にして、[読み込み] を選ぶ。
元の CSV をすでに上書きしてしまった場合は、Excel だけでは元の 0 を復元できません。Microsoft のページでも、削除された先頭のゼロは復元されないと説明されています。システムからもう一度出力してもらうか、番号の桁数が決まっているなら、TEXT 関数で桁をそろえる方法があります。
A2 に 123 が入っていれば、00123 になります。これは桁がそろっている場合に限った応急処置です。
今日からできること
- 今まで、CSV をダブルクリックで開いていた仕事を、1 つ書き出す。
- そのうち、番号やコードの列がある CSV を 1 つ選び、[データ] > [テキストまたは CSV から] で取り込んでみる。
- [ファイルの元] を切り替えて、文字化けが直る選択を見つける。
- [データ型検出] を切り替えて、先頭の 0 が残る方を確かめる。
- 取り込み先のシステムの、文字コードと区切り文字の指定を調べて、メモに残す。
- CSV を保存したら、メモ帳で開いて中身を確かめる。
集計の前処理は、Excelのピボットテーブルの使い方 経費や売上の集計表を数分で作る手順とあわせて読むと、流れがつながります。取り込んだ表で表記の揺れが出たときは、Excelのプルダウンの作り方 入力規則で選択肢を作り入力ミスを減らす手順が役に立ちます。