「CSVファイルをExcel形式に変換したいけど、どうすればいいの?」そんな疑問を抱えていませんか?CSVはデータの受け渡しに広く使われますが、そのままでは書式設定やフィルター機能が使えません。この記事では、CSVをExcel(.xlsx)に変換する方法をWindows・Mac両対応で網羅的に解説します。
CSVとExcelの違い — なぜ変換が必要なのか
CSVとExcel(xlsx)はどちらも表形式のデータを扱いますが、中身はまったく別物です。
| 比較項目 | CSV(.csv) | Excel(.xlsx) |
|---|---|---|
| データ形式 | テキスト(カンマ区切り) | バイナリ(XML圧縮) |
| 書式設定 | なし | セル単位で設定可能 |
| 複数シート | 非対応 | 対応 |
| 数式・関数 | 非対応 | 対応 |
| グラフ・図形 | 非対応 | 対応 |
| フィルター・並べ替え | 非対応 | 対応 |
| ファイルサイズ | 小さい | 大きい |
CSVはシンプルなテキストファイルなので、どんなソフトでも開けるのがメリットです。一方で、セルの書式情報や数式を保存できないため、データの加工・分析にはExcel形式への変換が必要になります。
業務システムやWebサービスからエクスポートしたCSVをExcelで集計・加工する場面は非常に多く、正しい変換方法を知っておくと作業効率が大幅に上がります。
CSVをExcelに変換する5つの方法
方法1:オンライン変換ツールを使う(最も簡単)
sakuttoの「CSV→Excel変換」ツールなら、CSVファイルをアップロードするだけでxlsx形式に変換できます。
- CSVファイルをドラッグ&ドロップでアップロードする
- プレビューでデータが正しく読み込まれていることを確認する
- 「変換」ボタンを押してxlsxファイルをダウンロードする
ソフトのインストールは不要で、Windows・Mac・スマートフォンのどれでも使えます。ファイルはブラウザ内で処理されるため、サーバーにデータが送信されることはありません。顧客リストや個人情報を含むCSVでも安心して変換できます。
方法2:Excelで開いて「名前を付けて保存」する(Windows)
最もシンプルな方法ですが、書式崩れのリスクがあります。
- CSVファイルをダブルクリックしてExcelで開く
- 「ファイル」→「名前を付けて保存」を選択する
- ファイルの種類を「Excelブック(*.xlsx)」に変更する
- 保存先を指定して「保存」をクリックする
この方法は手軽ですが、Excelがデータ型を自動判定するため、電話番号の先頭「0」が消える(0落ち)や日付への誤変換が発生する場合があります。データの正確性が求められる場面では、方法1または方法3を推奨します。
[内部リンク: csv-to-excel-formatting の記事]
方法3:「テキストまたはCSVから」インポートする(書式崩れ防止)
Excel 2016以降では、Power Queryを使ったインポートでデータ型を細かく制御できます。
- Excelを新規で開く(CSVを直接ダブルクリックしない)
- 「データ」タブ →「テキストまたはCSVから」を選択する
- 対象のCSVファイルを選ぶ
- プレビュー画面で区切り文字(カンマ)とエンコーディングを確認する
- 「データの変換」をクリックしてPower Queryエディターを開く
- 先頭ゼロを保持したい列のデータ型を「テキスト」に変更する
- 「閉じて読み込む」をクリックする
この方法なら列ごとにデータ型を指定できるため、0落ちや日付変換を確実に防げます。読み込み後に「名前を付けて保存」でxlsx形式に変換してください。
方法4:MacでCSVをExcelに変換する
Macでは以下の方法でCSVをExcel形式に変換できます。
Excelがインストールされている場合:
- CSVファイルを右クリック →「このアプリケーションで開く」→「Microsoft Excel」を選択する
- 「ファイル」→「名前を付けて保存」→ ファイル形式を「Excelブック(.xlsx)」に変更する
- 保存する
Excelがない場合(Numbers経由):
- CSVファイルをNumbersで開く
- 「ファイル」→「書き出す」→「Excel」を選択する
- 「詳細オプション」でxlsx形式を確認して「保存」する
Numbersは無料で使えるため、Excelライセンスがない場合の代替手段として有効です。
方法5:Googleスプレッドシートで変換する(Excel不要)
ExcelもNumbersも使わずに、ブラウザだけでCSVをxlsx形式に変換できます。
- Googleドライブにアクセスする
- CSVファイルをアップロードする
- アップロードしたCSVファイルをダブルクリックしてGoogleスプレッドシートで開く
- 「ファイル」→「ダウンロード」→「Microsoft Excel(.xlsx)」を選択する
Googleアカウントがあれば誰でも無料で使えます。ただし、大容量のCSVファイル(数万行以上)では処理が重くなる場合があります。
複数のCSVファイルを一括変換する方法
業務では「フォルダ内のCSVを全部Excelに変換したい」場面がよくあります。手作業で1つずつ変換するのは非効率なので、一括変換の方法を紹介します。
VBAマクロで一括変換する
Excel VBAを使えば、フォルダ内の全CSVファイルをxlsx形式に自動変換できます。
- Excelを開き、Alt + F11でVBAエディターを起動する
- 「挿入」→「標準モジュール」を選択する
- 以下のマクロを貼り付けて実行する
Sub ConvertCsvToXlsx()
Dim folderPath As String
Dim fileName As String
Dim wb As Workbook
' フォルダ選択ダイアログ
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = -1 Then
folderPath = .SelectedItems(1) & "\"
Else
Exit Sub
End If
End With
Application.ScreenUpdating = False
fileName = Dir(folderPath & "*.csv")
Do While fileName <> ""
Set wb = Workbooks.Open(folderPath & fileName)
wb.SaveAs folderPath & Replace(fileName, ".csv", ".xlsx"), xlOpenXMLWorkbook
wb.Close False
fileName = Dir
Loop
Application.ScreenUpdating = True
MsgBox "変換が完了しました"
End Sub
フォルダ選択ダイアログが表示されるので、CSVファイルが保存されているフォルダを選ぶだけです。同じフォルダにxlsxファイルが作成されます。
PowerShellコマンドで一括変換する(Windows)
Windowsのコマンドラインから、Excelを使わずに一括変換する方法です。
# ImportExcel モジュールのインストール(初回のみ)
Install-Module ImportExcel -Scope CurrentUser
# フォルダ内の全CSVをxlsxに変換
Get-ChildItem -Path "C:\data" -Filter "*.csv" | ForEach-Object {
Import-Csv $_.FullName | Export-Excel -Path ($_.FullName -replace '\.csv$', '.xlsx')
}
ImportExcelモジュールを使えば、Excel本体がインストールされていなくてもCSVからxlsxへの変換が可能です。
Pythonで一括変換する
Pythonのpandasライブラリとopenpyxlを使った方法です。
import pandas as pd
from pathlib import Path
csv_folder = Path("./csv_files")
for csv_file in csv_folder.glob("*.csv"):
df = pd.read_csv(csv_file, dtype=str) # 全列を文字列として読み込み
df.to_excel(csv_file.with_suffix(".xlsx"), index=False)
print(f"変換完了: {csv_file.name}")
dtype=str を指定することで、先頭ゼロの消失を防止できます。
CSV→Excel変換時のよくあるトラブルと対策
文字化けする
CSVファイルの文字コード(UTF-8 / Shift_JIS)とExcelの読み取り設定が一致しないと文字化けが発生します。sakuttoの文字コード変換ツールで事前にエンコーディングを変換するのが最も簡単な解決策です。
[内部リンク: csv-encoding-guide の記事]
先頭の0が消える(0落ち)・日付に変換される
Excelの自動データ変換が原因です。CSVを直接ダブルクリックで開かず、変換ツールやPower Queryインポートを使うことで防止できます。
[内部リンク: csv-to-excel-formatting の記事]
カンマ区切りが認識されない
CSVファイルの区切り文字がタブやセミコロンの場合、Excelがカンマ区切りとして処理できません。Power Queryのインポート画面で区切り記号を正しく選択してください。
よくある質問(FAQ)
CSVファイルをExcelで開くのと変換するのは違いますか?
はい、異なります。CSVをExcelで「開く」だけではファイル形式はCSVのままで、書式設定やフィルター機能を追加しても保存時にすべて失われます。xlsx形式に「変換(保存)」することで、Excel固有の機能を含めた状態で保存できます。
Excelがないパソコンでもcsv→xlsx変換できますか?
はい、できます。sakuttoのCSV→Excel変換ツールはブラウザだけで動作するため、Excelのインストールは不要です。Googleスプレッドシートを使う方法や、PowerShell・Pythonで変換する方法もあります。
CSVの文字コードはどれを選べばいいですか?
日本語環境のExcelで開く場合は「Shift_JIS(CP932)」が最も互換性が高く、文字化けしにくい形式です。他のアプリケーションやWebサービスとデータを共有する場合は「UTF-8(BOM付き)」が推奨されます。
大容量のCSVファイルでも変換できますか?
sakuttoのCSV→Excel変換ツールはブラウザ内で処理するため、一般的な業務データ(数万行程度)であれば問題なく変換できます。数十万行を超える大容量ファイルの場合は、PowerShellやPythonでの一括変換が適しています。
ファイルがサーバーに送信されることはありますか?
sakuttoのCSV→Excel変換はすべてブラウザ内で完結します。アップロードしたファイルが外部サーバーに送信されることはないため、個人情報や機密データを含むCSVでも安全にご利用いただけます。
まとめ
CSVをExcel(xlsx)に変換する方法は、用途や環境に応じて選べます。最も手軽なのはsakuttoのオンライン変換ツールで、ソフトのインストールなしにブラウザだけで変換が完了します。書式崩れを確実に防ぎたい場合はPower Queryインポート、大量のファイルを処理する場合はVBAマクロやPowerShellでの一括変換が効率的です。