結論: MacのExcelはBOMなしUTF-8を正しく読めない
MacのExcelでCSVを開いて文字化けする原因は、UTF-8のBOM(Byte Order Mark)が付いていないことです。BOMがないとExcelはエンコーディングを誤認識し、日本語が「繧ウ繝ウ繝励Μ繝シ繝医」のような文字列に化けます。
解決策は2つあります。
- CSVをBOM付きUTF-8に変換してから開く(最も確実)
- Excelのインポート機能でエンコーディングを手動指定する
方法1: ブラウザツールでBOM付きUTF-8に変換する(最も簡単)
CSV文字化け修復ツールを使えば、ドラッグ&ドロップだけで変換できます。
- CSV文字化け修復ツールを開く
- 文字化けするCSVファイルをドラッグ&ドロップ
- エンコーディングが自動検出される
- 「修復済みCSVをダウンロード」をクリック
- ダウンロードしたファイルをExcelで開く
出力はBOM付きUTF-8なので、MacのExcelでもWindowsのExcelでも文字化けしません。サーバーにファイルを送信しないため、社内データを含むCSVでも安心して使えます。
方法2: Excelのインポート機能でエンコーディングを指定する
ダブルクリックで開くのではなく、インポート機能を使います。
- Excelを起動し、「データ」タブを選択
- 「テキスト/CSVから」をクリック
- CSVファイルを選択
- 「元のファイル」でエンコーディングを「Unicode (UTF-8)」に変更
- プレビューで日本語が正しく表示されるか確認
- 「読み込み」をクリック
方法3: テキストエディタでBOMを付けて再保存する
VS CodeやCotEditorなどのテキストエディタで対処する方法です。
VS Codeの場合
- CSVファイルをVS Codeで開く
- 右下のエンコーディング表示(例:「UTF-8」)をクリック
- 「エンコード付きで保存」を選択
- 「UTF-8 with BOM」を選んで保存
- 保存したファイルをExcelで開く
CotEditor(Mac専用)の場合
- CSVファイルをCotEditorで開く
- 「フォーマット」→「エンコーディング」→「Unicode (UTF-8) BOM付き」
- 保存してからExcelで開く
なぜMacで特に文字化けしやすいのか
MacとWindowsのExcelで挙動が異なる理由を整理します。
| 環境 | CSVのデフォルト解釈 | BOMなしUTF-8の扱い |
|---|---|---|
| Windows Excel(日本語) | Shift_JIS | 文字化けする |
| Mac Excel | UTF-8を期待するがBOMで判定 | BOMなしだと文字化けすることがある |
| Googleスプレッドシート | UTF-8 | 問題なし |
GoogleスプレッドシートからエクスポートしたCSVはBOMなしUTF-8です。そのままExcelで開くと文字化けするため、CSV文字化け修復ツールで変換してから開くのが確実です。
Googleスプレッドシートユーザーへのおすすめ運用
Googleスプレッドシートを使っていてExcelにCSVを渡す場面が多い場合、以下の運用がおすすめです。
- Googleスプレッドシートからダウンロード(.csv)
- CSV文字化け修復ツールにドロップして変換
- 変換済みCSVをExcelで開く or 相手に送付
この3ステップで、Mac・Windows問わず文字化けを防げます。
まとめ
- MacのExcelでCSVが文字化けする原因はBOMなしUTF-8
- 最も簡単な解決策はCSV文字化け修復ツールでBOM付きUTF-8に変換すること
- Excelのインポート機能でエンコーディングを手動指定する方法もある
- Googleスプレッドシート→Excel連携では毎回BOM付きに変換するのが安全
この記事の内容はAssistyのCSV文字化け修復で実際にお試しいただけます。