- 更新日 : 2026年3月18日
スプレッドシートの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形式(タブ区切り)でダウンロードして開く(文字化けが起きにくい)
いずれの方法でも、事前にエンコーディングを意識して扱うことで、文字化けを防ぎ、異なる環境間でもスムーズにデータを共有できます。
この記事をお読みの方におすすめのガイド5選【部署別紹介】
最後に、この記事をお読みの方によく活用いただいている人気の資料・ガイドを紹介します。すべて無料ですので、ぜひお気軽にご活用ください。
経理担当者向け
①Excel関数集 32選まとめブック
経理担当者の方をはじめ、ビジネスパーソンが知っておきたい便利なExcel関数集を初級~上級までギュッと網羅。新人社員の研修用などにもお使いいただけます。Google スプレッドシートならではの関数もご紹介しています。
②勘定科目・仕訳辞典(税理士監修)
勘定科目・仕訳に関する基本知識、および各勘定科目の仕訳例を具体的かつ網羅的にまとめた、50ページを超えるガイドを無料で提供しております。お手元における保存版としてでだけでなく、従業員への印刷・配布用としてもぜひご活用ください。
人事労務担当者向け
①入社・退職・異動の手続きガイドブック
書類の回収・作成・提出など手間のかかる入社・退職・異動(昇給・昇格、転勤)の手続き。
最新の制度をもとに、よくある質問やチェックポイントを交えながら、各手続きに必要な情報をまとめた人気のガイドですす。
②社会保険・労働保険の手続きガイド
企業において社会保険および労働保険の加入・喪失手続きは必ず発生し、手続きを誤れば保険事故が発生した際に従業員が不利益を被る可能性があります。
各保険の基本的な手続き方法を入社・退職・異動のシーン別にギュッとまとめた分かりやすいガイドです。
総務・法務担当者向け
契約書ひな形まとめ30選
業務委託契約書や工事請負契約書…など各種契約書や、誓約書、念書・覚書、承諾書・通知書…など、使用頻度の高い30個のテンプレートをまとめた、無料で使えるひな形パックです。
※ 掲載している情報は記事更新時点のものです。
※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。
関連記事
-
# Excel・スプレッドシート
エクセルでのグラフの作り方とは?基本から2軸グラフなどの編集まで徹底解説
エクセル(Excel)は数値を管理するだけでなく、そのデータを視覚的にわかりやすく伝える「グラフ作成」においても非常に強力なツールです。しかし、「どのグラフを選べばいいかわからない…
詳しくみる -
# Excel・スプレッドシート
HOUR関数の使い方:時刻データから時間を抽出する方法
HOUR関数は、時刻データから「時」の部分だけを取り出す関数です。勤怠管理での労働時間計算、スケジュール管理での時間帯別集計、24時間営業の売上分析など、時間に関するデータ処理で頻…
詳しくみる -
# Excel・スプレッドシート
エクセルのDATE関数とは?日付の自動作成と曜日を判定する方法
ExcelのDATE関数(読み方:デイト関数)は、「年・月・日」の数値を組み合わせて正確な日付を作成するための関数です。日付の計算や特定の日付の生成だけでなく、他の関数との組み合わ…
詳しくみる -
# Excel・スプレッドシート
エクセルグラフの「凡例」とは?意味・表示・編集方法を解説
この記事では、Excel初心者の方や、改めてExcelの使い方を学びたい方に向けて、グラフにおける凡例の基本的な意味から、表示・非表示の切り替え、位置や書式、項目名の編集方法、さら…
詳しくみる -
# Excel・スプレッドシート
スプレッドシートのセル内改行テクニック!見やすいデータ作成の実践手法
Googleスプレッドシートで長い住所や備考を入力するとき、1つのセルに収まりきらず見づらくなった経験はありませんか。そんなときに便利なのがセル内改行です。改行を入れることで、情報…
詳しくみる -
# Excel・スプレッドシート
DELTA関数の使い方:2つの値が等しいかを判定する方法
DELTA関数は、2つの数値が等しいかどうかを判定し、等しい場合は1、異なる場合は0を返す関数です。データの一致確認、条件付き計算、品質検査での合否判定など、値の比較が必要な様々な…
詳しくみる




