- 更新日 : 2025年12月2日
スプレッドシートのCSVで文字化けが発生したら?対処法まとめ
GoogleスプレッドシートからCSVファイルをダウンロードし、別のアプリケーション(特にMicrosoft Excelなどの表計算ソフトやテキストエディタ)で開いた際に、日本語が文字化けすることがあります。
これは、ファイルに保存された文字のエンコーディング(文字コード)と、ファイルを開くアプリケーションが想定しているエンコーディングが一致しないために起こります。
この記事では、スプレッドシートのCSVで文字化けが発生する原因を解説し、最も一般的な解決策であるエンコーディングの変換方法を、具体的にステップバイステップでご紹介します。
目次
スプレッドシートのCSVで文字化けが発生する原因は?
文字化けの主な原因は、エンコーディング(文字コード)の不一致です。
Googleスプレッドシートは、CSV形式でファイルをダウンロードする際、国際標準であるUTF-8という文字コードを使用します。これは、日本語を含む世界中のほとんどの文字を正しく扱える、現在最も推奨されているエンコーディングです。
一方で、特に古いバージョンのMicrosoft Excelなど、特定のアプリケーションは、日本語のCSVファイルを開く際に、自動的にShift JIS(またはCP932)という、日本で以前主流だった文字コードを想定して処理しようとします。
この「UTF-8で保存されたファイルを、Shift JISとして開こうとする」という食い違いが、文字化け(特に「???」や意味不明な記号の羅列)を引き起こす原因となります。
| 操作 | アプリケーションが使用するエンコーディング |
|---|---|
| スプレッドシートからの出力(CSV保存) | UTF-8 |
| Excelなどでの入力(CSVを開く) | 多くの日本語環境でShift JISを想定 |
このギャップを埋めるため、ダウンロードしたファイルを「開く前」または「開いた直後」に、エンコーディングをUTF-8からShift JISに変換するか、アプリケーション側で「これはUTF-8だよ」と明示的に伝える必要があります。
文字化けを回避する対処法は?
文字化けを解消するための方法はいくつかありますが、ここでは特に効果的で、多くのユーザーが利用する3つの主要な対処法を解説します。
対処法 1:テキストエディタでエンコーディングを変換する(環境次第で有効/文字損失に注意)
CSV を Excel で開く前に、テキストエディタで UTF-8 → Shift JIS(CP932) に変換して保存し直す方法です。Shift JIS で表せない文字(絵文字・一部記号・異体字など)は「?」に置換されるため、対象データが Shift JIS で表現可能か事前確認してください。
Windows(メモ帳・サクラエディタ・VS Code など)
CSV を開く → 2) 「名前を付けて保存」または「エンコードを指定して保存」 → 3) 文字コードで 「Shift JIS」または「CP932」 を選択して保存。
※メモ帳では一覧に 「ANSI」 と表示される場合があります。日本語ロケールでは ANSI = CP932 です。
macOS(テキストエディットなど)
CSV を開く → 2) メニュー 「フォーマット」→「プレーンテキストにする」 → 3) 「ファイル」→「保存」→ ダイアログの 「標準テキストのエンコーディング」 で 「Japanese(Shift JIS)」 を選択して保存。
この方法で保存した CSV を Excel で開くと、Shift JIS 前提の環境でも文字化けが起きにくくなります。ただし文字損失の可能性があるため、必要に応じて後述の「UTF-8 のまま取り込む」方法を優先してください。
Shift JIS で表現できる文字だけで構成された CSV であれば、保存し直したファイルを Excel で開いても文字化けしません。絵文字・特殊記号・一部の漢字が含まれる場合は、UTF-8 のまま Excel に取り込む方法(データの取り込み時に文字コードを UTF-8 に指定/BOM 付き UTF-8 で保存)を検討してください。
対処法 2:Excelの「データ取得」機能を利用する(Excel 2016以降推奨)
最近のExcelには、CSVファイルをインポートする際に文字コードを指定できる機能があります。この機能を使えば、ファイルを変換せずに、直接UTF-8のまま開くことが可能です。
- Excelを起動し、新しいブックを開きます。
- メニューの「データ」タブをクリックします。
- 「データ取得と変換」グループにある「テキストまたはCSVから」を選択します。
- ダウンロードしたCSVファイルを選択して「インポート」をクリックします。
- プレビュー画面が表示されたら、「ファイルの元の形式」(または「ファイルの起源」)のドロップダウンリストで、「65001:Unicode (UTF-8)」を選択します。
- データが正しく表示されることを確認し、「読み込み」をクリックします。
これで、UTF-8として正しく認識されたデータがExcelシートに展開されます。特にExcel 2016以降のユーザーにはこの方法が最も推奨されます。
対処法 3(補足):GASでShift JIS書き出しは実装可能だが要注意
Google Apps Scriptでは Utilities.Charset.SHIFT_JIS などを用いてShift JISでの書き出しを実装可能です。ただし、実装の質と対象文字に依存し、Shift JISで表せない文字は変換時に欠落・置換されます。保守性やセキュリティ面も踏まえ、まずは対処法2(Excel側でUTF-8指定インポート)を優先してください。
スプレッドシートから文字化けを避ける方法
Googleスプレッドシートは CSV/TSV いずれも UTF-8(BOMなし) で書き出します。Excelでの文字化けを避けるには、ファイル形式をTSVに変えるだけでは不十分です。次のいずれかを推奨します。
- Excelの[データ]→[テキスト/CSVから]で取り込み、[ファイルの起源]を「65001: Unicode (UTF-8)」に指定する。(Excel 2016以降の推奨手順)
- どうしても直接開きたい場合は、BOM付きUTF-8に変換して保存してからExcelで開く(エディタ等でBOMを付与)。ExcelはBOM付きUTF-8を自動判別しやすい挙動があります。
- 旧環境でShift JISが前提なら、文字損失に注意しつつテキストエディタ等でUTF-8→Shift JISへ変換してから開く(絵文字・一部記号は「?」になる可能性)。
エンコーディングの理解と正しい手順で文字化けを防ぐ
スプレッドシートのCSVで文字化けが起きる主な原因は、UTF-8で保存されたファイルを、ExcelなどがShift JISとして読み込むことによるエンコーディングの不一致です。
この問題を解決するための代表的な方法は次の3つです。
- テキストエディタでUTF-8からShift JISに変換して保存し直す(最も確実)
- Excelの「データ取得」機能で文字コードをUTF-8に指定して読み込む(Excel 2016以降)
- CSVではなくTSV形式(タブ区切り)でダウンロードして開く(文字化けが起きにくい)
いずれの方法でも、事前にエンコーディングを意識して扱うことで、文字化けを防ぎ、異なる環境間でもスムーズにデータを共有できます。
※ 掲載している情報は記事更新時点のものです。
※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。
関連記事
スプレッドシートでセルに斜線を引くには?図形描画から罫線まで実用的な方法を解説
GoogleスプレッドシートにはExcelのようなセルに罫線を引く斜線機能はありません。そのため、図形描画や罫線の工夫など代替方法を使う必要があります。 本記事では、PCとスマホそれぞれでセルに斜線を引く具体的な方法から、複数セルへの一括適…
詳しくみるCLEAN関数の使い方!エクセルで印刷できない文字を削除する方法
CLEAN関数は、テキストデータから印刷できない制御文字を削除するエクセルの文字列関数です。外部システムからのデータ取り込み、Webデータのコピー&ペースト、CSVファイルの処理など、様々なデータクリーニング作業で活用されています。 本記事…
詳しくみるスプレッドシートでグラフを作る方法!円・棒・線・複合グラフの作り方ガイド
数値だけでは伝わりにくいデータも、グラフにすれば直感的に理解できます。Googleスプレッドシートのグラフ機能を使えば、売上の推移や構成比、目標達成率などを簡単に可視化できます。 この記事では、円グラフ・棒グラフ・線グラフといった基本から、…
詳しくみるLN関数の使い方:エクセルで自然対数を計算する
エクセルで数学的な計算を行う際、自然対数を求めたいと思ったことはありませんか?「LN関数」は、自然対数を手軽に求められる関数です。自然対数は、科学や金融、統計などの分野でよく使われます。 この記事では、エクセル初心者の方にもLN関数の基本的…
詳しくみるスプレッドシートで合計を求めるには?SUM関数の基本から応用まで
Googleスプレッドシートで数値データの合計を求めることは、売上管理、経費計算、在庫管理など、あらゆるビジネスシーンで必要不可欠な作業です。単純な合計から複雑な条件付き集計まで、適切な関数を使いこなすことで、データ分析の効率と精度を高める…
詳しくみるエクセルでプルダウンを4段階まで連動させる方法
エクセルで連動するプルダウンリストを作成することで、データ入力の効率と正確性を大幅に向上させることができます。本記事では、基本的なプルダウンの作成方法から、2段階、3段階、そして4段階まで連動するプルダウンリストの作成方法を、初心者の方でも…
詳しくみる