CSVとExcelを相互変換する方法(文字化けなし)
公開日:2026年7月8日(最終更新:2026年7月12日)|カテゴリ:CSV系
CSVとExcel(xlsx)は「別物」と考えると迷わない
どちらも表データを扱うため混同されがちですが、この2つは性格がまったく違うファイル形式です。
- CSV:値をカンマで区切っただけの、ただのテキストファイル。人間がメモ帳で読めるほど単純で、ほぼすべてのシステムが対応しています。その代わり書式・数式・複数シートという概念がなく、文字コード問題(Shift-JIS/UTF-8)を抱えています
- Excel(xlsx):書式・数式・複数シート・グラフまで含む高機能な形式。文字コードは内部的に固定されているため文字化けの心配がありません。その代わりExcel(または対応ソフト)がないと開けず、システムの取り込み形式としては対応していないことが多いです
つまり実務での使い分けはシンプルで、「システムに入れるならCSV、人が見るならxlsx」が基本線になります。
変換で「失われるもの」を知っておく
xlsx→CSVの変換は、高機能な形式から単純な形式への変換なので、必ず情報が削ぎ落とされます。事前に知っておくべきは次の4点です。
- 書式(色・罫線・セル結合):すべて消えます。特にセル結合は要注意で、結合されていた範囲は先頭セル以外が空欄になり、システム取り込みで列ずれの原因になります
- 数式:計算結果の値だけが残り、数式そのものは消えます
- 複数シート:CSVは1ファイル1シートなので、書き出せるのは1シート分だけです。複数シートあるブックは、必要なシートを選んで個別に変換します
- 見た目上の表示形式:「3月1日」と表示されていたセルの実体が「2026/3/1」の場合、CSVには実体の方(または設定に応じた形式)が書き出され、見た目と変わることがあります
逆にCSV→xlsxでは失われるものは基本的にありませんが、Excelでそのまま開くのと同様の「先頭の0が消える」「日付に化ける」といった自動変換がツールによっては起きるため、変換後に商品コードや電話番号の列を確認する習慣をつけておくと安全です。
文字化けを起こさない変換の考え方
変換時に意識するのは「入口」と「出口」の2か所だけです。
- 入口(CSVを読み込むとき):元のCSVの文字コードを正しく指定する。日本語版Excelで保存されたCSVならShift-JIS、Webシステムから出力されたものならUTF-8が大半です。読み込み結果のプレビューで日本語が正しく見えているかを必ず確認します
- 出口(CSVを書き出すとき):渡す相手に合わせて選ぶ。Excelで開く人に渡すなら「UTF-8(BOM付き)」がWindows・Mac両対応で無難、古い業務システムに取り込むならShift-JISが求められることが多いです
CSV⇔Excel(xlsx)変換ツールはこの入口・出口の文字コードをそれぞれ指定できる設計にしており、変換処理はブラウザ内だけで行われるため、顧客データを含むファイルでも外部に送信されません。
ありがちな遠回り:「Excelで開いて名前を付けて保存」
CSV→xlsx変換を「ExcelでCSVを開いて、名前を付けて保存でxlsxを選ぶ」方法で行うと、開いた瞬間にExcelの自動変換(先頭0の削除・日付化)がかかった状態で保存されます。つまり変換作業そのものがデータを壊すリスクになります。コード類・電話番号を含むCSVでは、自動変換を挟まない専用の変換手段を使うか、Excelの「データの取り込み」機能で列の型を文字列に指定して読み込むようにしてください。
よくある質問
Q. Excelに変換すれば文字化けの心配はなくなりますか?
A. はい、ほぼなくなります。xlsxはファイル内部の文字コードが仕様で固定されているため、CSVのような「開く側の解釈による文字化け」が構造的に起きません。日本語データを人に渡すときにxlsxが好まれるのはこのためです。
Q. CSVに変換したら数式が数字になってしまいました。戻せますか?
A. 変換後のCSVからは戻せません。CSVには数式を保存する仕組みがなく、変換時点の計算結果(値)だけが書き出されるためです。数式を残したい場合は、元のxlsxファイルを必ず別途保管しておいてください。