Excelで作成した表やデータを外部システムへ取り込むとき、あるいは他部署や取引先とデータをやり取りするとき、CSVファイルに変換して渡すケースは非常に多く見られます。
CSVはシンプルな形式ですが、Excelとは保存される情報の内容が異なるため、初めて変換を試みると戸惑うポイントも多いです。
この記事では、ExcelデータをCSVデータに正しく変換する方法について、基本から応用までをわかりやすく解説します。実務でミスなく使いこなすための注意点やコツも紹介しているので、ぜひ参考にしてください。
目次
そもそもCSVとは?
CSV(Comma Separated Values)は、カンマ「,」で区切ったテキストデータを指します。
1行が1レコード、カンマで区切られた各項目がフィールドに対応しており、データベースやWebシステムなどで広く利用されています。
CSVファイルの特徴は以下の通りです。
書式設定や数式情報は含まない(データのみ保存)
非常に軽量で、扱いやすい
ほとんどのシステム・アプリケーションが対応
一方、Excel(.xlsx)は書式、数式、複数シートなども保存できるリッチなファイル形式であり、CSVとは本質的に異なります。
【Excel】CSVファイルをExcelで開く設定方法|正しく開いて文字化けやデータ崩れを防ぐ
ExcelデータをCSVデータに変換する手順
・ステップ1:Excelでデータを作成
まずは、通常どおりExcelでデータを作成します。
注意点として、CSVファイルでは「1行1データ」「カンマ区切り」が基本なので、表形式で整理されていることが望ましいです。
・ステップ2:CSVファイルとして保存する
作成したExcelデータをCSVに変換するには、次の手順を行います。
操作手順(Windows版Excelの場合)
メニュー「ファイル」をクリック
「名前を付けて保存」を選択
保存先フォルダを指定
「ファイルの種類」から「CSV UTF-8(コンマ区切り)(*.csv)」を選択
ファイル名を設定して「保存」をクリック
これで、現在表示中のシートがCSVファイルとして保存されます。
【Excel】CSVに変換できない時の対処方法|原因別チェックリストと解決策まとめ
保存時に注意すべきポイント
・ 複数シートは保存できない
CSVファイルは、1ファイル1シートが基本です。
Excelブックに複数シートが存在していても、保存されるのは現在アクティブなシートのみです。
対策:
複数シートをCSV化したい場合は、シートごとに個別に保存するか、マクロ(VBA)で一括保存を検討しましょう。
・ 数式・書式・グラフは保存されない
CSVはテキストのみを保存するため、次の情報は失われます。
数式(結果値のみ保存)
セルの色、罫線
グラフ、画像、コメント
データだけが残るため、数式を使用している場合は、保存前に「値の貼り付け」で固定化しておくと安心です。
・ 文字コードはUTF-8を選ぶ
日本語データを含む場合、Shift_JIS形式で保存すると、システムやブラウザで文字化けする恐れがあります。
保存時には必ず**「CSV UTF-8(コンマ区切り)(*.csv)」**を選びましょう。
・ 先頭ゼロ(0)問題に注意
社員番号や郵便番号など、先頭に「0」が必要なデータは、CSV保存時に**ゼロが消えてしまう(ゼロサプレス)**ことがあります。
対策方法:
データを文字列形式に変換する
TEXT関数を使ってゼロ埋めする
例:
=TEXT(A2,"00000")
これにより、5桁で常に0埋めされるデータを作成できます。
【Excel】範囲を指定してPDF化する方法【必要な部分だけをPDFに!】
VBAで複数シートを一括CSV変換する方法
大量のシートを個別に手作業で保存するのは手間がかかります。
以下のVBA(マクロ)を使えば、全シートを一括でCSVファイルに保存できます。
Sub 全シートCSV保存()
Dim ws As Worksheet
Dim folderPath As String
folderPath = Application.ThisWorkbook.Path & "\"
For Each ws In ThisWorkbook.Worksheets
ws.Copy
ActiveWorkbook.SaveAs Filename:=folderPath & ws.Name & ".csv", FileFormat:=xlCSVUTF8
ActiveWorkbook.Close False
Next ws
MsgBox "全シートをCSVに保存しました。"
End Sub
このマクロを使えば、シート名ごとに自動でCSVファイルが作成され、業務効率が大幅にアップします。
CSVファイルを正しく取り扱うためのポイント
ポイント | 内容 |
---|---|
保存形式 | 必ず「CSV UTF-8(*.csv)」を選択する |
シート数 | 1ファイル=1シートが原則 |
書式や数式 | 反映されない。必要なら値貼り付けで確定する |
先頭ゼロの保持 | TEXT関数や文字列形式で事前に加工しておく |
出力後の確認方法 | テキストエディタ(メモ帳、VSCodeなど)で確認する |
よくあるトラブルとその対策
Q1:CSVを開いたらデータが壊れていた
Excelで直接CSVを開くと、勝手にデータ型を認識して変換してしまうことがあります。
対策:
「データタブ → テキストファイルのインポート」を使い、読み込み時に列の形式(文字列、日付、数値など)を明示的に指定しましょう。
Q2:英語だけなら問題ない?
英語や半角文字だけで構成されるデータなら、文字コード問題(UTF-8 vs Shift_JIS)はそれほど深刻ではありません。
ただし、業務慣行としてUTF-8保存を徹底するほうが安全です。特に国際業務ではUTF-8が基本です。
Q3:元のExcelファイルも必要?
はい、CSV保存すると数式・書式・複数シート情報が失われるため、必ず元の.xlsxファイルもバックアップとして保管しておきましょう。
まとめ:CSV変換を正しく理解すれば業務効率が上がる
ExcelからCSVデータへの変換はとても簡単ですが、ExcelとCSVの特性の違いを理解した上で適切に操作することが重要です。
保存形式は「CSV UTF-8」を選ぶ
先頭0や文字化けに注意する
数式や書式は失われるので、必要なら値に変換する
複数シートはVBAなどで効率化できる
これらのポイントを押さえておけば、社内外のデータ連携やシステム連携もスムーズに進めることができるでしょう。