Excelファイルを自動的にCSVへ変換する3つの簡単な方法【初心者向け完全ガイド】
CSV(カンマ区切り値)は、多くのデータ分析ソフトウェアで標準的に利用されるファイル形式です。汎用性が高く、整理や編集も簡単なため、さまざまな場面でExcelのデータをCSV形式に変換して使いたいというケースがよくあります。この記事では、Excelファイルを自動的にCSVに変換する方法を、状況別にわかりやすく解説します。
手順を実際に試しながら学びたい方は、記事内で使用しているサンプルデータ付きのファイルをご活用ください。VBAコードも同梱されていますので、ダウンロードして練習に役立ててください。
CSVとは何か?
CSV(Comma-Separated Values:カンマ区切り値)は、その名の通り、値を文字列として保存し、カンマを区切り文字として各項目を分けるファイル形式です。シンプルな形式に見えますが、大量のデータを追加するとファイルが複雑になり扱いにくくなることもあります。それでも、PythonのPandasライブラリなど、一部のソフトウェアやプログラミング言語ではCSVが入力データとして好んで使われています。
CSVファイルを使用する主なメリットは以下の通りです。
- さまざまなプラットフォームのユーザーに広く採用されている
- 整理や編集が簡単
- Microsoft ExcelやGoogleスプレッドシートなど、ほぼすべての主要な表計算ソフトで利用可能
- 多くのビジネスソフトウェアでも対応している
一方で、大きなデメリットとして、1つのCSVファイルには1つのシートしか含められない点が挙げられます。対照的に、Excelの.xlsxファイルは、複数のワークシートに多数のデータセットをまとめて格納できます。
Excelファイルを自動的にCSVへ変換する3つの方法
Excelには、シートをCSVファイルに変換するためのいくつかの方法が用意されています。最も一般的なのは「名前を付けて保存」コマンドを使う方法ですが、データに特殊文字が含まれている場合や、複数のシートを一度に変換したい場合には、別の方法を選ぶ必要があります。
ここでは、それぞれの方法をセクションごとに分け、メリット・デメリットもあわせて紹介します。目的に合った方法を見つけてください。
方法1:「名前を付けて保存」コマンドで変換する
これは最も手軽で広く使われている方法です。シートにUnicode文字(日本語や中国語などの全角文字)が含まれていない場合は、この方法で問題ありません。Excelの「名前を付けて保存」機能を使えば、どのファイル形式にも変換でき、CSVへの変換も同様に行えます。
以下の手順で詳しく見ていきましょう。説明には次のデータセットを使用します。

手順:
- まず、Excelファイルに複数のシートがある場合は、変換したいシートを選択します。
- リボンの「ファイル」タブをクリックします。

- 続いて「名前を付けて保存」をクリックします。なお、F12キーを押すことで、「名前を付けて保存」ウィンドウを直接開くこともできます。

- 「名前を付けて保存」ウィンドウで保存先を指定し、「ファイルの種類」から「CSV(カンマ区切り)」を選択します。「CSV UTF-8」を選んでも同じ結果が得られます。

- 「保存」をクリックします。
- 「選択したファイルの種類は複数のシートを含むブックをサポートしていません」という警告が表示された場合(ブックに複数のシートがあるときに表示されます)、「OK」をクリックします。

これで、Excelファイルが自動的にCSVへ変換されます。

変換後のファイルをExcelで開くと、書式がすべて削除された状態で表示されます。

方法2:特殊文字を含むExcelファイルをCSVへ変換する
前述の方法でUnicode文字を含むシートを変換すると、データを再度読み込む際に問題が発生することがあります。「CSV(カンマ区切り)」として保存すると、ASCII以外の文字が文字化けしてしまうのです。特殊文字を含むデータセットがある場合は、以下の2つの方法のいずれかを使えば、文字化けせずにCSVへ変換できます。
どちらの方法でも、中国語(北京語)の名前を含む次のデータセットを使用します。

ExcelファイルをCSVに変換する際は、UTF-8とUTF-16という2つのUnicodeエンコード方式を選べます。両者の主な違いは、UTF-8が英語や数字などの一般的な文字を8ビットでエンコードするコンパクトな方式であるのに対し、UTF-16はすべての文字に最低16ビットを使う点です。どちらに変換しても似たようなCSVファイルが得られますが、アジア系の文字の場合はUTF-16が推奨されます。
2.1 CSV UTF-8として保存する
UTF-8では、ASCII文字はASCIIファイルと同じエンコードになります。そのため、Unicode文字がそれほど多くない場合は、UTF-8への変換が適しています。
ExcelファイルをCSV UTF-8として自動的に変換するには、以下の手順に従ってください。
手順:
- まず、Excelファイルに複数のシートがある場合は、変換したいシートを選択します。
- リボンの「ファイル」タブをクリックします。

- 続いて「名前を付けて保存」をクリックします。ここまでの手順は、F12キーを押すことでも同じ操作が可能です。

- 「名前を付けて保存」ウィンドウで保存先を指定し、「ファイルの種類」フィールドで「CSV UTF-8(カンマ区切り)」を選択します。

- 「保存」をクリックします。
- ブックに複数のシートがある場合、1つのシートのみ変換される旨の警告が表示されるので、「OK」をクリックします。

これで、特殊文字を文字化けさせることなく、ExcelファイルをCSVへ自動変換できます。
最終的なCSVファイルは、すべてのデータが保持された状態で以下のように表示されます。

Excelで開くと、次のように表示されます。

2.2 CSV UTF-16として保存する
今回のようなアジア系の文字を含むデータの場合は、UTF-16の使用が推奨されます。ただし、UTF-8よりも多くのバイト数を消費し、ASCIIファイルとの完全な互換性がないというデメリットがあります。
それでもExcelファイルをCSV UTF-16として自動変換したい場合は、以下の手順に従ってください。
手順:
- まず、Excelファイルに複数のシートがある場合は、変換したいシートを選択します。
- リボンの「ファイル」タブを開きます。

- 続いて「名前を付けて保存」を選択します。または、F12キーを押しても同じです。

- 「名前を付けて保存」ウィンドウで保存先を指定し、「ファイルの種類」として「Unicode テキスト」を選択します。

- 「保存」をクリックします。
- テキストファイルとして保存されます。次に、メモ帳などのテキストエディタで開いてください。データ間の区切り文字がタブになっていることが確認できます。

- メモ帳からタブ部分(空白)をコピーします。

- キーボードのCtrl+Hを押して、メモ帳の「置換」ダイアログを開きます。
- 「検索する文字列」ボックスに、コピーしたタブを貼り付けます。
- 「置換後の文字列」ボックスに、カンマ(,)を入力します。
- 最後に「すべて置換」をクリックします。

- ダイアログを閉じると、すべてのタブがカンマに置き換えられ、カンマ区切りのテキストファイルが完成します。

- 最後に、拡張子を手動で「.csv」に変更します。

以上の手順で、ExcelファイルをCSV UTF-16として自動的に変換できます。
方法3:複数のシートをまとめてCSVへ変換する(VBA活用)
これまでに紹介した方法はいずれも有効ですが、1回の操作で変換できるのは1つのシートだけです。しかし、Excelファイルに大量のシートがあり、そのすべてを変換しなければならないケースもあります。そんなときに便利なのが、Microsoft Visual Basic for Applications(VBA)による一括変換です。
VBAコードを使用するには、まずリボンに「開発」タブを表示しておく必要があります。まだ有効化していない場合は、開発タブを有効化してください。
説明には、冒頭で紹介した2つのデータセットを別々のシートに含むファイルを使用します(記事冒頭からダウンロードしたファイルがこれに該当します)。

Excelファイルの全シートを一括でCSVに変換するには、以下の手順に従ってください。
手順:
- まず、リボンの「開発」タブを開き、「コード」グループから「Visual Basic」を選択します。

- VBAウィンドウで「挿入」を選択し、ドロップダウンメニューから「標準モジュール」を選びます。

- モジュール内に、以下のコードを記述します。
Sub Batch_Convert_CSV()
Dim wsht As Worksheet
Dim file_path As String
Application.ScreenUpdating = False
file_path = ActiveWorkbook.path & "\" & Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, ".") - 1)
For Each wsht In Worksheets
wsht.Copy
ActiveWorkbook.SaveAs Filename:=file_path & "_" & wsht.Name & ".csv", FileFormat:=xlCSV, CreateBackup:=False
ActiveWorkbook.Close False
Next
Application.ScreenUpdating = True
End Sub
- コードを記述したら、ファイルを保存し、キーボードのF5を押してコードを実行します。
すると、元のExcelファイルと同じフォルダ内に、すべてのシートが個別のCSVファイルとして変換・保存されます。
こちらが最初のシートから変換されたCSVファイルです。

そして、こちらが2つ目のシートから変換されたCSVファイルです。

なお、この一括変換でも、方法2で触れたようにUnicode文字は文字化けしてしまいます。データに特殊文字が含まれる場合は、方法2の手法を併用してください。
まとめ
この記事では、状況に応じて使い分けられる、Excelファイルを自動的にCSVへ変換するさまざまな方法を紹介しました。ご自身の用途に合った方法が見つかれば幸いです。ご質問やご提案があれば、ぜひコメント欄でお知らせください。このような詳細なガイドについては、Exceldemy.comもご覧ください。
関連記事
- 複数のExcelファイルをCSVに変換する方法(3つの適切な方法)
- マクロでExcelをパイプ区切りテキストファイルに変換する(3つの方法)
- Excelファイルをカンマ区切りのテキストファイルに変換する方法(3つの方法)
- 【解決済み】Excelがカンマ付きでCSVを保存しない(7つの解決策)
- Excelを開かずにCSVへ変換する方法(4つの簡単な方法)
-
Excelで2つのCSVファイルを比較する6つの簡単な方法
Microsoft Excelは非常に強力なソフトウェアであり、その豊富なツールや機能を使えば、データに対してさまざまな操作を行うことができます。業務の中では、複数のCSVファイルを比較する必要に迫られることも少なくありません。一致するデータを見つけたい場合も、差分を確認したい場合も、Excelにはいくつかの有効な方法があります。この記事では、Excelで2つのCSVファイルを比較するための6つの簡単かつ迅速な方法をご紹介します。それでは、順番に見ていきましょう。 より理解を深め、実際に練習してみたい方は、以下のCSVファイルをダウンロードしてご利用ください。 Excelで2つのCSVファイル
-
ExcelファイルをPDFに変換する4つの方法|初心者向けに手順を徹底解説
データや数値を日常的に扱うお仕事をされている方なら、Microsoft ExcelやGoogleスプレッドシートをお使いのことでしょう。しかし、Excelファイルを誰かと共有する前に、必ずPDFに変換してから送るのがベストプラクティスであることをご存じでしょうか? この記事では、ExcelファイルをPDFに変換する具体的な方法をご紹介します。まずは、なぜExcelシートをPDFに変換すべきなのか、その理由から見ていきましょう。 ExcelをPDFに変換すべき理由 PDF化することでExcelシートが保護され、編集できなくなります。受け取った相手が書式や数式を勝手に変更したり、データを改ざんし