Excelを二重引用符付きのCSVとして保存する3つの簡単な方法
この記事では、Excelファイルを二重引用符(ダブルクォーテーション)付きのCSVとして保存するための3つの簡単な方法を解説します。CSVファイルを保存する際に二重引用符を付けることは、データの誤認識を防ぐうえで非常に重要です。たとえば、「USD,25,000,Model1」というデータ行を見てください。このままではカンマ区切りが紛らわしく、正しく読み込めない可能性があります。そこで「USD,"25,000",Model1」のように値を二重引用符で囲む方が適切です。以下の画像はこの記事の目的をまとめたものです。まずは全体像を把握しましょう。

練習用のワークブックは、下のダウンロードボタンから入手できます。
Excelを二重引用符付きCSVで保存する3つの最速テクニック
方法1:ユーザー定義の表示形式を使う
次のようなデータセットがあるとします。各セルの値を二重引用符で囲んだ状態でCSVファイルとして保存したい場合は、以下の手順に従ってください。

📌 手順
- まず、データ範囲全体(A1:B6)を選択します。
- 次に、Ctrl + 1 キーを押して「セルの書式設定」ダイアログボックスを開きます。
- 「表示形式」タブから「ユーザー定義」を選択します。
- 「種類」欄に \"#\";\"@\" と入力します。
- 最後に「OK」をクリックします。

- 続いて、「ファイル」≫「名前を付けて保存」を選択し、任意の保存場所を指定します。
- ファイル名を入力したら、ドロップダウンからファイルの種類として「CSV (コンマ区切り) (*.csv)」を選びます。
- 「保存」ボタンをクリックします。

- 保存先のフォルダを開き、CSVファイルをテキストエディタ(メモ帳など)で開きます。

- すると、余分な二重引用符が含まれた次のような結果が表示されます。

- Ctrl + H キーを押して「置換」ウィンドウを開きます。「検索する文字列」欄に二重引用符をスペースを入れずに入力し、「置換後の文字列」欄は空のまま「すべて置換」をクリックします。
- これで、次のような望みどおりの結果が得られます。

あわせて読みたい:マクロで複数のExcelファイルをCSVファイルに一括変換する方法
方法2:Windows PowerShellを使う
別の方法として、まず二重引用符なしでCSVファイルを保存しておき、その後Windows PowerShellを使って二重引用符を追加することができます。以下の手順で実行してみましょう。
📌 手順
- まず、CSVファイルとして保存したいワークシートを開きます。
- 前の方法と同様に「ファイル」≫「名前を付けて保存」を選択します。
- ファイルの保存場所を指定し、ファイル名を入力します。
- ファイルの種類として「CSV (コンマ区切り) (*.csv)」をドロップダウンから選択します。
- 「保存」ボタンをクリックします。

- すると、次のような結果が得られます。

- 次に、Shift キーを押しながら、二重引用符なしのCSVファイルが保存されているフォルダ内の空白部分を右クリックします。
- 表示されたメニューから「PowerShellウィンドウをここで開く」をクリックします。

- 以下のコマンドをコピーしてください。ファイル名はご自身の環境に合わせて変更する必要があります。
import-csv Sales1.csv | export-csv Sales2.csv -NoTypeInformation -Encoding UTF8- コピーしたコードをPowerShellウィンドウに貼り付け、Enter キーを押します。

- すると、下の画像のように目的の結果が得られます。

あわせて読みたい:Excelファイルをコンマ区切りのテキストファイルに変換する方法(3選)
関連記事
- マクロでExcelをパイプ区切りのテキストファイルに変換する方法(3選)
- 複数のExcelファイルをCSVに変換する3つの方法
方法3:VBAコードを使う
同じ結果はExcel VBAを使っても実現できます。以下の手順に従ってください。
📌 手順
- まず、Alt + F11 キーを押してVBAエディターを開きます。
- 次に、下の画像のように「挿入」≫「標準モジュール」を選択します。これで新しいモジュールが作成されます。

- 以下のコードをコピーしてください。
Sub ExcelToCSV()
Dim rng, row, cell As Range
Dim dqt, dlim, text As String
Dim file As Variant
On Error Resume Next
If ActiveWindow.RangeSelection.Count > 1 Then
text = ActiveWindow.RangeSelection.AddressLocal
Else
text = ActiveSheet.UsedRange.AddressLocal
End If
Set rng = Application.InputBox("Please select the data range:", "ExcelDemy.Com", text, , , , , 8)
If rng Is Nothing Then Exit Sub
file = Application.GetSaveAsFilename("", "CSV File (*.csv), *.csv")
dlim = Application.International(xlListSeparator)
Open file For Output As #1
For Each row In rng.rows
dqt = ""
For Each cell In row.Cells
dqt = dqt & """" & cell.Value & """" & dlim
Next
While Right(dqt, 1) = dlim
dqt = Left(dqt, Len(dqt) - 1)
Wend
Print #1, dqt
Next
Close #1
If Err = 0 Then MsgBox "The CSV file has been saved to: " & file, vbInformation, "ExcelDemy.Com"
End Sub
- コピーしたコードを、下の画像のようにモジュールに貼り付けます。

- F5 キーを押してコードを実行します。データ範囲の入力を求められるので、ワークシートに戻って範囲を選択し、「OK」をクリックします。そのまま「名前を付けて保存」の画面へ移動します。

- 保存場所を指定してファイル名を入力し、「保存」をクリックします。

- すると、Excelに次のようなメッセージが表示されます。

- 最後に、以下の結果になっているか確認しましょう。

🔎 VBAコードの解説
Sub ExcelToCSV()
このサブプロシージャの中にコードを記述していきます。
Dim rng, row, cell As Range
Dim dqt, dlim, text As String
Dim file As Variant
必要な変数を宣言しています。
On Error Resume Next
エラーが発生しても処理を続行させるためのステートメントです。
If ActiveWindow.RangeSelection.Count > 1 Then
text = ActiveWindow.RangeSelection.AddressLocal
Else
text = ActiveSheet.UsedRange.AddressLocal
End If
対象となるデータ範囲を自動的に検出します。
Set rng = Application.InputBox(“Please select the data range:”, “ExcelDemy.Com”, text, , , , , 8)
ユーザーにデータ範囲の選択を促します。
If rng Is Nothing Then Exit Sub
入力がない場合は処理を終了します。
file = Application.GetSaveAsFilename(“”, “CSV File (*.csv), *.csv”)
新規ファイルの形式をCSVに設定します。
dlim = Application.International(xlListSeparator)
区切り文字としてカンマを指定します。
Open file For Output As #1
新しいファイルを作成します。
For Each row In rng.rows
dqt = “”
For Each cell In row.Cells
dqt = dqt & “”“” & cell.Value & “”“” & dlim
Next
While Right(dqt, 1) = dlim
dqt = Left(dqt, Len(dqt) – 1)
Wend
Print #1, dqt
Next
Close #1
各セルの値を二重引用符で囲み、新しいファイルに書き込んでいきます。
If Err = 0 Then MsgBox “The CSV file has been saved to: ” & file, vbInformation, “ExcelDemy.Com”
CSVファイルの保存完了を通知します。
あわせて読みたい:Excelファイルを自動的にCSVに変換する3つの簡単な方法
注意点
- PowerShellを別の場所から起動した場合は、コマンド内に正しいファイルパスを指定する必要があります。
- ファイル名はご自身のファイルに合わせて適宜変更してください。
まとめ
今回は、Excelファイルを二重引用符付きのCSVファイルとして保存する方法をご紹介しました。この記事がお役に立てたなら嬉しいです。さらに質問やご提案がある場合は、下のコメント欄でお気軽にお知らせください。Excelのスキルをもっと磨きたい方は、ぜひ当ブログ「ExcelDemy」もチェックしてみてください。今後とも学びを続けていきましょう。
関連記事
- 【解決済み】Excelがカンマ区切りでCSVを保存できないときの対処法(7つ)
- ExcelファイルをCSV形式に変換する5つの簡単な方法
- Excelをコンマ区切りのCSVファイルに変換する2つの方法
- Excelを開かずにCSVへ変換する4つの簡単な方法
-
ExcelでCSVファイルを並べ替える方法|初心者でもできる2つの簡単な手順
ExcelでCSVファイルを扱う場面は非常に多くあります。氏名や住所のデータ、商品情報、リスト管理など、さまざまな用途で活用されています。しかし、データ量が大きくなると操作が少し複雑になり、CSVファイルを並べ替え(ソート)する必要が出てきます。この記事では、ExcelでCSVファイルを並べ替える2つの簡単な方法を、手順を追ってわかりやすく解説します。 練習用に、サンプルファイルをダウンロードしてご利用ください。 CSVファイルとは? 並べ替えの手順に入る前に、まずCSVについて簡単におさらいしましょう。CSVは「Comma Separated Values(カンマ区切り値)」の略で、データを
-
ExcelでCSVファイルを整形する方法|カンマ区切り・引用符付きの2つの実例で解説
氏名、住所、商品情報などのデータを扱う際、テキストファイルとして保存することがあります。このようなテキストファイルが「CSVファイル」です。しかし、Excelに正確に取り込むためには、CSVファイルを適切な形式に整形する必要があります。本記事では、ExcelでのCSVファイルの整形方法を、2つの具体例を使ってわかりやすく解説します。 CSVファイルとは? CSVは「Comma Separated Values(カンマ区切り値)」の略称で、データを特定の区切り文字で分割したシンプルなテキストとして保存する形式です。Excelユーザーの間では、CSVファイルの取り扱いは非常に一般的な作業となってい