CSVファイルをエクセル(Excel)で開いて編集したい、逆にエクセルの表をCSVで書き出したい、そんな場面は仕事でよくあります。ただ、単純にダブルクリックで開くと日本語が文字化けしたり、電話番号や郵便番号の先頭の0が消えたりと、思わぬトラブルも起きがちです。 この記事では、CSVファイルをExcelで開く・変換する方法を3通り紹介し、あわせて文字化けや「先頭の0が消える」「勝手に日付へ変換される」といったつまずきの直し方まで解説します。WindowsとMacの両方の手順に触れるので、お使いの環境に合わせて読み進めてください。
目次
CSVファイルをエクセル(Excel)で開いて編集したい、逆にエクセルの表をCSVで書き出したい、そんな場面は仕事でよくあります。ただ、単純にダブルクリックで開くと日本語が文字化けしたり、電話番号や郵便番号の先頭の0が消えたりと、思わぬトラブルも起きがちです。
この記事では、CSVファイルをExcelで開く・変換する方法を3通り紹介し、あわせて文字化けや「先頭の0が消える」「勝手に日付へ変換される」といったつまずきの直し方まで解説します。WindowsとMacの両方の手順に触れるので、お使いの環境に合わせて読み進めてください。
CSVファイルとは?Excelとの違い

CSVは「Comma Separated Values(カンマ区切り値)」の略で、その名のとおり値をカンマで区切って並べたテキストファイルです。拡張子は「.csv」で、中身はメモ帳などのテキストエディタでもそのまま開けます。
CSVはあくまでテキストのため、フォントや色、数式といったExcelの装飾情報を持ちません。その分ファイルが軽く、異なるソフトやシステムの間でデータを受け渡す共通形式として広く使われています。一方のExcelファイル(.xlsx)は、色付けやグラフ、関数などの機能を丸ごと保存できる形式です。
つまり、システムから出力したデータを扱うならCSV、表として加工・保存するならExcelと、目的に応じて相互に変換して使い分けるのが基本になります。ExcelとGoogleスプレッドシートを併用しているなら、Googleスプレッドシートとエクセルのファイルを変換する方法も押さえておくと、形式選びで迷いません。
CSVファイルをエクセルで開く・変換する3つの方法
CSVをExcelで扱う方法は1つではありません。手軽さを優先するか、文字化けやデータ崩れを防ぐことを優先するかで、選ぶ手順が変わります。ここでは代表的な3つの方法を、用途別に紹介します。
- 方法1:ダブルクリックでそのまま開く(最短。ただし文字化け・ゼロ落ちのリスクあり)
- 方法2:「データ」→「テキストまたはCSVから」で読み込む(Windows推奨。文字コードや区切りを指定できる)
- 方法3:Excel for Macで取り込む(ファイル→インポート)
方法1:ダブルクリックでそのまま開く
もっとも手軽なのは、CSVファイルをダブルクリックして直接Excelで開く方法です。多くの環境では拡張子.csvがExcelに関連付けられているため、ダブルクリックするだけで表形式で表示されます。別のアプリで開いてしまう場合は、ファイルを右クリックして「プログラムから開く」からExcelを選ぶと表示できます。
ただしこの方法には落とし穴もあります。ファイルの文字コードとExcelの想定がずれると文字化けし、電話番号や郵便番号などで先頭の0が自動的に削除されてしまうケースです。Microsoft 365やExcel 2024には、ダブルクリックで開くときに先頭ゼロを残すか選べるダイアログが用意されていますが、確実にデータを保ちたいなら後述の方法2が安全でしょう。
参考:Microsoft サポート「先頭のゼロおよび大きい数値の保持」
方法2:「データ」→「テキストまたはCSVから」で読み込む(Windows推奨)

データ崩れを防ぎたいときにもっとも確実なのが、Excelの「データ」タブから読み込む方法です。この方法なら、取り込む前に文字コードと区切り記号を指定できるため、文字化けやゼロ落ちを未然に防げます。
手順は次のとおりです。
- Excelを起動し、「データ」タブを開く
- 「テキストまたはCSVから」を選択する(表示がない場合は「データの取得」→「ファイルから」→「テキストまたはCSVから」)
- 対象のCSVファイルを選び「インポート」をクリックする
- プレビュー画面で「元のファイル(文字コード)」と「区切り記号」を確認・変更する
- 必要なら「データの変換」で列ごとの書式を指定し、問題なければ「読み込み」をクリックする 参考:Microsoft サポート「テキスト (.txt または .csv) ファイルのインポートまたはエクスポート」

文字コードの欄で「65001: Unicode (UTF-8)」を選ぶと、UTF-8のCSVでも文字化けせずに読み込めます。読み込んだデータは、この後の手順でxlsx形式として保存できます。
方法3:Excel for Macで取り込む(ファイル→インポート)
Macに搭載されたExcel(Excel for Mac)では、リボンの構成が少し異なります。取り込みは「データ」→「テキストから(レガシ)」と進むのが基本で、選ぶとテキストファイルウィザードが開きます。区切り文字に「カンマ」を指定すれば、列が正しく分かれた状態で読み込めるはずです。従来からある「ファイル」→「インポート」でCSVを選ぶ経路でも、同じウィザードが使えます。列のデータ形式(文字列など)も、このウィザードで指定できます。
参考:Microsoft サポート「Excel for Mac でデータをインポートおよび整形する (Power Query)」
新しいバージョンのExcel for Macでは、「データ」→「データの取得」からPower Queryを使う取り込みも利用できます。区切り文字の指定でつまずいたときは、この後の「区切り位置がずれる・1列にまとまってしまう」の項も参考になります。
取り込んだCSVをxlsx形式で保存する
Excelに取り込んだデータをExcelブックとして残すには、xlsx形式で保存します。「ファイル」→「名前を付けて保存」を開き、ファイルの種類を「Excel ブック(.xlsx)」に設定して保存してください。これで、色付けやグラフ、関数といったExcelの機能を使える状態になります。

CSVファイルが文字化けするときの直し方
CSVをExcelで開いたら日本語が「繧ィ繧ッ繧サ繝ォ」のような読めない文字列に化けて表示された——この文字化けは、多くの場合ファイルの文字コードとExcelの読み込み設定が一致していないために起こります。とくにUTF-8で保存されたCSVを、Windowsの初期設定であるShift_JIS(CP932)として開こうとすると発生しやすい現象です。
対処のいちばん確実な方法は、前述の「テキストまたはCSVから」で読み込む際に、文字コードの欄で「65001: Unicode (UTF-8)」を選ぶことです。プレビューで文字化けが直っているのを確認してから読み込めば、崩れずに取り込めます。
参考:Microsoft サポート「テキスト (.txt または .csv) ファイルのインポートまたはエクスポート」
すでにファイルを編集できる状態なら、Excelの「名前を付けて保存」で「CSV UTF-8(コンマ区切り)」として保存し直す、あるいはメモ帳でCSVを開き、「名前を付けて保存」の文字コード欄でUTF-8またはANSIに切り替えて保存し直す方法も有効です。渡す相手が求める文字コードに合わせておけば、再発を防げます。

エクセルファイルをCSVに変換して保存する方法

今度は逆に、Excelの表をCSVへ書き出す手順です。やることはシンプルで、ファイル形式を変えて保存し直すだけになります。
- 変換したいExcelファイルを開く
- 「ファイル」→「名前を付けて保存」を選ぶ
- ファイルの種類から「CSV UTF-8(コンマ区切り)」または「CSV(コンマ区切り)」を選んで保存する
参考:Microsoft サポート「ブックをテキスト形式 (.txt または .csv) で保存する」

どちらの形式を選ぶかは、受け渡す相手や用途で決めます。日本語を含むデータを他のシステムへ渡すなら、文字化けしにくい「CSV UTF-8(コンマ区切り)」が第一候補です。従来のシステム側でShift_JISが求められる場合は、「CSV(コンマ区切り)」を選ぶとよいでしょう。なお、Googleスプレッドシートで作成した表をCSVとして書き出したいときは、覚えておきたいGoogleスプレッドシートをダウンロードする方法とできない場合の対処法の手順が参考になります。
複数シートがあるブックをCSVにするときの注意
ブックに複数のシートがある場合でも、CSV保存そのものは可能です。ただしCSVは1枚の表しか持てない形式のため、保存されるのは現在開いている(アクティブな)シートだけになります。保存時には「選択したシートのみが保存される」旨の警告が表示されるので、必要なシートを表示した状態で保存してください。複数シートをまとめて残したいなら、シートごとに分けてCSV保存するか、xlsxのまま保管するのが安全です。
CSVで数値が勝手に変わるときの対処(トラブルシューティング)
CSVをExcelで開くと、数値が意図しない形に変わってしまうことがあります。原因はExcelの自動データ変換で、放置するとデータが壊れたまま保存されてしまうため、早めの対処が大切です。 参考:Microsoft サポート「先頭のゼロおよび大きい数値の保持」
先頭の0が消える(郵便番号・電話番号・商品コード)

「007」や「0120…」のように先頭が0の値は、そのまま開くと0が削られて「7」「120…」になってしまいます。防ぐには、方法2の「テキストまたはCSVから」で取り込む際に、該当列のデータ形式を「文字列」に指定します。すでにダブルクリックで開いてしまった場合、後から書式を変えても消えた0は戻らないため、元のCSVを文字列指定で開き直してください。
大きな数値が「1.23E+11」と表示される
桁数の多い数値は、Excelが指数表記(1.23E+11のような形)に変換することがあります。これも先頭ゼロと同じく、取り込み時に列を「文字列」に指定すれば防げます。すでに指数表記になったセルは、表示形式を変えても元の桁が復元されない場合があるため、こちらも文字列指定で開き直すのが確実です。
「3-11」などが勝手に日付になる
「3-11」「1/2」のようにハイフンやスラッシュを含む値は、Excelが日付と判断して「3月11日」などに変換してしまう場合があります。商品コードや型番でよく起こるトラブルです。こちらも取り込み時に列を「文字列」に指定すれば、入力したままの形を保てます。
区切り位置がずれる・1列にまとまってしまう
データがカンマで区切られず1列に詰まって表示されるときは、区切り記号の指定が合っていません。「テキストまたはCSVから」の画面で区切り記号を「コンマ」に切り替えると、正しく列が分かれます。タブ区切り(TSV)なら「タブ」を選べば問題ありません。Excel for Macのテキストファイルウィザードでも、同じように区切り文字を選び直せます。
Windows・Macのショートカット早見表
CSV作業で使う頻度の高い操作は、ショートカットで済ませると効率が上がります。WindowsとMacで押すキーが異なるため、両方を掲載します。
| 操作 | Windows | Mac |
| ファイルを開く | Ctrl + O | ⌘ + O |
| 名前を付けて保存 | F12 | ⌘ + Shift + S |
| 上書き保存 | Ctrl + S | ⌘ + S |
| 元に戻す | Ctrl + Z | ⌘ + Z |
| セルの書式設定を開く | Ctrl + 1 | ⌘ + 1 |
「セルの書式設定」(Ctrl + 1/⌘ + 1)は、列を「文字列」に変える操作の入り口として覚えておくと便利です。
よくある質問(FAQ)
CSVとExcelファイルの違いは何ですか?
CSVはカンマで区切っただけのテキストファイルで、色や数式などの装飾を持ちません。Excelファイル(.xlsx)は装飾や関数、グラフを保存できる形式です。データの受け渡しにはCSV、加工や見栄えの調整にはExcelが向いています。
CSVをExcelで開くと文字化けするのはなぜですか?
ファイルの文字コードとExcelの読み込み設定がずれているためです。UTF-8のCSVをShift_JIS想定で開くと起こりやすいので、「テキストまたはCSVから」で文字コードに「65001: Unicode (UTF-8)」を指定すると直ります。
先頭の0や電話番号が消えないようにするには?
取り込み時に、その列のデータ形式を「文字列」に指定してください。ダブルクリックで開くと自動で数値へ変換されやすいため、「テキストまたはCSVから」からの読み込みが安全です。
CSV UTF-8とCSV(コンマ区切り)はどちらを選べばよいですか?
日本語を含むデータを他システムへ渡すなら、文字化けに強い「CSV UTF-8(コンマ区切り)」が無難です。相手側がShift_JISを求める場合だけ「CSV(コンマ区切り)」を選びます。
複数シートをまとめて1つのCSVにできますか?
できません。CSVは1枚の表だけを扱う形式のため、保存されるのはアクティブなシートのみです。複数シートを残すには、シートごとにCSV保存するか、xlsxのまま保管します。
まとめ
CSVファイルをExcelで扱うときは、目的に合わせて方法を選ぶのがポイントです。とにかく早く開きたいならダブルクリック、文字化けやゼロ落ちを避けたいなら「データ」→「テキストまたはCSVから」で文字コードと列の書式を指定する方法が確実でしょう。逆にExcelからCSVを書き出すときは、「CSV UTF-8(コンマ区切り)」を基本に、相手の環境へ合わせて形式を選びます。
先頭ゼロの消失や勝手な日付変換も、取り込み時に列を「文字列」に指定しておけばほとんど防げます。困ったときは、この記事のトラブルシューティングを見返してみてください。
文/Excel研究所




DIME MAGAZINE














