KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

ワークシートのデータを、ダブルクォーテーション付きまたはなしで CSV ファイルとして保存するにはどうすればよいですか?

著者シャオヤン変更日

Excel で範囲のデータを CSV ファイルにエクスポートまたは保存する際、デフォルトではセル値がダブルクォーテーションで囲まれないことに気づくかもしれません。ただし、セルにカンマや改行などの特殊文字が含まれている場合、Excel は自動的にその値をダブルクォーテーションで囲みます。この仕様により、他のアプリケーションでファイルを開いた際にも、各データフィールドが正しく保持されます。 実際の業務では、すべてのデータを常にクォートしたい場合や、逆に一切クォートを使いたくない場合もあるでしょう。本記事では、ワークシートのデータをダブルクォーテーション付きまたはなしで CSV ファイルとして保存するための効果的な方法をいくつか紹介します。それぞれの方法がどのような状況に適しているかを分析し、具体的な手順をステップ・バイ・ステップで解説します。

ワークシートのデータをダブルクォーテーション付きで CSV ファイルとして保存する

ワークシートのデータをダブルクォーテーションなしで CSV ファイルとして保存する

その他のExcel 組み込み方法:Excel の「名前を付けて保存」機能で CSV をエクスポートする


ワークシートのデータをダブルクォーテーション付きで CSV ファイルとして保存する

エクスポート時にワークシート内のすべての値を確実にダブルクォーテーションで囲みたい場合(たとえば、特定のデータインポートシステムとの互換性を確保したいときや、データ内にカンマ・タブ・改行が含まれているときなど)は、VBA コードを使ってエクスポートプロセスをカスタマイズできます。

ほとんどのユーザーにとって、Excel の標準エクスポート機能には「すべてのフィールドを常にクォートする」オプションが備わっていません。しかし VBA を使えば、特に複雑または大規模なデータセットにおいても、出力形式をきめ細かく制御できます。この方法の唯一の欠点は、VBA エディタに関する基本的な知識が必要になることですが、得られる柔軟性は、このわずかな手間を十分に補って余りあります。

この操作を行うには、以下の詳細な手順に従ってください。

1ALT + F11キーを押して、Microsoft Visual Basic for Applicationsウィンドウを開きます。VBA 環境に不慣れな場合は、操作前に必ずブックを保存してください。

2挿入 > 標準モジュールをクリックし、次のコードを標準モジュールウィンドウに貼り付けてください。

VBA コード:ワークシートのデータをダブルクォーテーション付きで CSV ファイルとして保存する:

Sub CSVFile()
'updateby Extendoffice
    Dim xRg As Range
    Dim xRow As Range
    Dim xCell As Range
    Dim xStr As String
    Dim xSep As String
    Dim xTxt As String
    Dim xName As Variant
    On Error Resume Next
    If ActiveWindow.RangeSelection.Count > 1 Then
      xTxt = ActiveWindow.RangeSelection.AddressLocal
    Else
      xTxt = ActiveSheet.UsedRange.AddressLocal
    End If
    Set xRg = Application.InputBox("Please select the data range:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    xName = Application.GetSaveAsFilename("", "CSV File (*.csv), *.csv")
    xSep = Application.International(xlListSeparator)
    Open xName For Output As #1
    For Each xRow In xRg.Rows
        xStr = ""
        For Each xCell In xRow.Cells
            xStr = xStr & """" & xCell.Value & """" & xSep
        Next
        While Right(xStr, 1) = xSep
            xStr = Left(xStr, Len(xStr) - 1)
        Wend
        Print #1, xStr
    Next
    Close #1
    If Err = 0 Then MsgBox "The file has saved to: " & xName, vbInformation, "Kutools for Excel"
End Sub

3F5キーを押してマクロを実行すると、ダブルクォーテーション付きで CSV ファイルとして保存したいデータ範囲を選択するよう促すダイアログが表示されます。スクリーンショットを参照してください。

データ範囲を選択するVBAコード

4.選択後、OKをクリックすると、名前を付けて保存ウィンドウが開きます。目的のファイル名と保存場所を指定して確定してください。スクリーンショットを参照してください。

ファイル名と保存場所を指定

5.Kutools for Excel に、指定した場所に新しい CSV ファイルが保存されたことを知らせるプロンプトが表示されます。スクリーンショットをご参照ください。

新しいCSVファイルが保存されたことを通知するプロンプトボックスが表示されます

6OKをクリックしてダイアログを閉じると、テキストエディタで新しい CSV ファイルを開くか、他のシステムにインポートした際に、すべてのデータがダブルクォーテーションで囲まれていることを確認できます(下記参照)。

CSVファイル内のすべてのデータがダブルクォーテーションで囲まれています

ヒント:地域設定(リストの区切り記号など)によって、保存される CSV の形式が影響を受けることがあります。区切り文字に関する問題が発生した場合は、エクスポートしたファイルを再度ご確認いただき、必要に応じてコード内のxSepをカスタム区切り文字用に調整してください。

kutools for excel AIのスクリーンショット

KUTOOLS AI でExcel の魔法を解き放ちましょう

  • スマート実行:セル操作、データ分析、チャート作成をすべてシンプルなコマンドで実現します。
  • カスタム数式:ワークフローの効率化に役立つ、あなただけのカスタマイズ数式を生成します。
  • VBA コーディング:VBA コードを簡単に記述・実装できます。
  • 数式の解釈:複雑な数式が簡単に理解できます。
  • テキスト翻訳:スプレッドシート内で言語の壁を乗り越えましょう!
AI 搭載のツールでExcel の機能をさらに強化しましょう。今すぐダウンロードして、これまでにない効率を体験してください!

ワークシートのデータをダブルクォーテーションなしで CSV ファイルとして保存する

場合によっては、カンマや改行、その他の CSV パーサーを混乱させる可能性のある特殊文字を一切含まないデータを、ダブルクォーテーションなしで CSV にエクスポートしたいことがあります。デフォルトでは、セル内にカンマや改行などのデータが含まれている場合、Excel はデータの整合性を保つため、CSV エクスポート時に自動的にそれらをダブルクォーテーションで囲みます(下記参照)。

ダブルクォーテーションなしでワークシートデータをCSVファイルとして保存

データをまったくダブルクォーテーションなしで CSV ファイルとして保存したい場合は、選択した区切り文字(ここではタブ文字)を使ってプレーンな値を出力するカスタム VBA マクロをご利用いただけます。これは、データ内に問題となる文字が一切含まれていないことが確実で、厳密にクォートを使用しない形式が求められる場合に特に有効です。

注:タブ区切り値(.tsv)は技術的には CSV ではありませんが、多くのシステムで広く受け入れられており、ダブルクォーテーションが不要なシンプルな構造を実現します。

1ALT + F11キーを押して、Microsoft Visual Basic for Applicationsウィンドウを開きます。予期しないコードエラーによるデータ損失を防ぐため、操作前には必ずブックを保存してください。

2挿入>標準モジュールをクリックし、以下のコードを標準モジュールウィンドウに貼り付けてください。

VBA コード:ワークシートのデータをダブルクォーテーションなしで CSV ファイルとして保存する:

Sub Export()
'updateby Extendoffice
    Dim xRg As Range
    Dim xRow As Range
    Dim xCell As Range
    Dim xStr As String
    Dim xTxt As String
    Dim xName As Variant
    On Error Resume Next
    If ActiveWindow.RangeSelection.Count > 1 Then
      xTxt = ActiveWindow.RangeSelection.AddressLocal
    Else
      xTxt = ActiveSheet.UsedRange.AddressLocal
    End If
    Set xRg = Application.InputBox("Please select data range:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    xName = Application.GetSaveAsFilename("", "CSV File (*.csv), *.csv")
    Open xName For Output As #1
    For Each xRow In xRg.Rows
        xStr = ""
        For Each xCell In xRow.Cells
            xStr = xStr & xCell.Value & Chr(9)
        Next
        While Right(xStr, 1) = Chr(9)
            xStr = Left(xStr, Len(xStr) - 1)
        Wend
        Print #1, xStr
    Next
    Close #1
    If Err = 0 Then MsgBox "The file has saved to: " & xName, vbInformation, "Kutools for Excel"
End Sub

このスクリプトは、各フィールドをカンマではなくタブで区切った CSV ファイルを生成し、セル値にダブルクォーテーションを付けません。あらかじめ、個々のセル内にタブ文字が含まれていないことを確認してください。そうでないと、出力構造が崩れる可能性があります。また、このコードでは、エクスポートするファイルの名前と保存場所をユーザーに尋ねます。

3F5キーを押してマクロを実行すると、ダブルクォーテーションなしで CSV ファイルとしてエクスポートしたいデータ範囲を選択するプロンプトボックスが表示されます。

データ範囲を選択するVBAコード

4.データを選択したら、OKをクリックします。名前を付けて保存ダイアログでファイル名と保存場所を指定し、保存をクリックして続行します。

ファイル名と保存場所を指定

5.Kutools for Excel にファイルが保存されたことを知らせる確認ダイアログが表示されます。OKをクリックしてください。

新しいCSVファイルが保存されたことを通知するプロンプトボックスが表示されます

6。その後、テキストエディタまたはインポートツールで生成されたファイルを開き、エクスポートされたデータがダブルクォーテーションで囲まれていないことを確認してください(下記参照)。

CSVファイル内のデータを囲んでいたダブルクォーテーションが削除されています

セル内にカンマや改行を保持する必要がある場合は、この方法のご利用はおすすめできません。そうでないと、パースエラーが発生する恐れがあります。


その他のExcel 組み込み方法:Excel の「名前を付けて保存」機能で CSV をエクスポートする

Excel には、「名前を付けて保存」機能を使ってワークシートデータを CSV ファイルとしてエクスポートする簡単な組み込み方法も備わっています。この方法は、ダブルクォーテーションや区切り文字を手動で制御する必要のない簡易的なエクスポートに最適です。この機能を使うと、Excel はカンマ、改行、ダブルクォーテーションそのものなどの特殊文字を含むフィールドを自動的にダブルクォーテーションで囲みます。一方で、そうした文字を含まないフィールドにはダブルクォーテーションは追加されません。これは標準的な CSV 規約に準拠しており、ほとんどのサードパーティアプリケーションやデータインポートシステムとの互換性を確保します。

この方法では、すべてのフィールドを常にクォートしたり、クォートを完全に抑制したりすることはできませんが、標準的な CSV フォーマットによる基本的なデータエクスポートには十分効果的です。主な制限は細かい制御ができない点であり、データを一様にクォートする必要がある場合や区切り文字をカスタマイズしたい場合は、VBA や他の専門ツールをご利用いただくことをおすすめします。さらに、このプロセスでは常にアクティブなワークシート全体がエクスポートされるため、特定の範囲のみをエクスポートしたい場合は、事前に別シートにコピーしておく必要があります。

Excel の「名前を付けて保存」機能を使って CSV 形式でエクスポートするには、以下の手順に従ってください。

1ファイル名前を付けて保存をクリックします。旧バージョンのExcel では、Office ボタン名前を付けて保存を選択します。

2。「名前を付けて保存」ダイアログで、保存先の場所を選び、希望のファイル名を入力してください。

3。「保存形式を指定」ドロップダウンメニューから、CSV(カンマ区切り)(*。csv)を選択してください。

4保存をクリックします。ワークシートに CSV 形式でサポートされていない機能(数式、書式設定、複数のシートなど)が含まれている場合、Excel は現在のワークシートのみが CSV 形式で保存されることを通知します。「OK」をクリックして続行してください。

保存後、テキストエディタ(メモ帳など)で生成されたファイルを開くと、次の点に気づくでしょう:

  • カンマ、改行、または特殊文字を含むセルは、自動的にダブルクォーテーションで囲まれます。
  • プレーンテキストまたは数値を含み、特殊文字を含まないセルはクォートされません。
  • この方法では、すべてのフィールドに対してクォートを強制的に行うか省略する手動オプションは用意されていません。

ヒント:エクスポート前に、データ内に不要な特殊文字がないか確認してください。これらの文字は、Excel がセルの内容を引用符で囲むかどうかに影響します。範囲の一部のみをエクスポートする場合は、まず目的の範囲を空白のワークシートにコピーし、そのワークシートから「名前を付けて保存」をご利用ください。国際版Excel では、フィールド区切り文字がローカル設定に従う場合があります。


トラブルシューティングと提案事項:

  • エクスポートした CSV ファイルのクォートと区切り文字が意図通りかどうかを確認するには、必ずテキストエディタでチェックしてください。
  • エンコードの問題(例:非英語文字が正しく表示されないなど)が発生した場合は、「名前を付けて保存」ダイアログで CSV UTF-8 形式が利用可能な場合、その形式での保存をご検討ください。
  • VBA を使用する際は、事前にデータ内にダブルクォーテーションや区切り文字が含まれていないかを確認し、該当するケースがある場合はあらかじめデータを前処理してください。
  • ワークシートの一部のみをエクスポートしたい場合は、その範囲を新しいワークシートにコピーしてからエクスポートするか、VBA を使って特定の範囲を直接選択してください。
  • CSV 形式では、数式・書式・複数シートは保存されません。単一シートの生の値のみが保持されますので、ご注意ください。

概要:VBA とExcel の標準機能のどちらを選ぶかは、引用符の整合性、区切り文字の制御、およびデータ範囲の選択に関する要件によります。ここで紹介した VBA メソッドは高度なニーズに対してきめ細かい制御を実現しますが、Excel の標準的な「名前を付けて保存」機能は、高速かつシンプルなエクスポートに最適で、標準的な引用処理を行います。いずれの方法も、特定の要件(一部の列のみを引用したい、カスタムのエスケープルールを適用したいなど)を満たせない場合は、データを効率的に処理するために追加のスクリプトや専用の CSV ユーティリティの利用をご検討ください。


最高の Office 業務効率化ツール

🤖KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行     コード生成  カスタム数式作成    データ分析とチャート生成  拡張機能呼び出し
人気の機能検索・ハイライト、または重複をマーキング     空白行を削除する     データを失うことなく列の結合またはセルを     数式を使用しない四捨五入...
スーパー LOOKUP複数条件 VLookup    複数値 VLookup     複数シート間 VLookup      ファジーマッチ....
高度なドロップダウンリストドロップダウンリストをすばやく作成     連動型ドロップダウンリスト     複数選択可能なドロップダウンリスト....
列マネージャー指定した数の列を追加列の移動非表示列の表示状態を切り替え範囲および列の比較...
注目の機能グリッドフォーカス     デザインビュー   強化された数式バー    ワークブックとシートマネージャー     リソースライブラリ(オートテキスト)  日付ピッカー     ワークシートの統合    暗号化/セルの復号化    リストからメール送信     スーパーフィルター      特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。
トップ15 ツールセット12 テキストツールテキストの追加特定の文字を削除、...)   50+チャートタイプガントチャート、...)   40+実用的関数誕生日に基づいて年齢を計算します、...)   19 挿入ツールQR コードを挿入パスから画像を挿入、...)   12 変換ツール単語に変換する為替レートの変換、...)   7 結合と分割ツール高度な行のマージセルの分割、...)さらに多数
Kutools はお好みの言語でご利用いただけます。英語、スペイン語、ドイツ語、フランス語、中国語、および40+の他の言語をサポートしています!

Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。


Office Tab は Office にタブインターフェースをもたらし、作業を大幅に簡単にします

  • Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
  • 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
  • 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!

すべてのKutools アドインが、たった1 つのインストーラーで完結。

Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。

ExcelWordOutlookTabsPowerPoint
  • オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
  • インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
  • 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
  • 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • 最高のお得感— 個別アドイン購入よりお得