- 更新日 : 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形式(タブ区切り)でダウンロードして開く(文字化けが起きにくい)
いずれの方法でも、事前にエンコーディングを意識して扱うことで、文字化けを防ぎ、異なる環境間でもスムーズにデータを共有できます。
この記事をお読みの方におすすめのガイド5選【部署別紹介】
最後に、この記事をお読みの方によく活用いただいている人気の資料・ガイドを紹介します。すべて無料ですので、ぜひお気軽にご活用ください。
経理担当者向け
①Excel関数集 32選まとめブック
経理担当者の方をはじめ、ビジネスパーソンが知っておきたい便利なExcel関数集を初級~上級までギュッと網羅。新人社員の研修用などにもお使いいただけます。Google スプレッドシートならではの関数もご紹介しています。
②勘定科目・仕訳辞典(税理士監修)
勘定科目・仕訳に関する基本知識、および各勘定科目の仕訳例を具体的かつ網羅的にまとめた、50ページを超えるガイドを無料で提供しております。お手元における保存版としてでだけでなく、従業員への印刷・配布用としてもぜひご活用ください。
人事労務担当者向け
①入社・退職・異動の手続きガイドブック
書類の回収・作成・提出など手間のかかる入社・退職・異動(昇給・昇格、転勤)の手続き。
最新の制度をもとに、よくある質問やチェックポイントを交えながら、各手続きに必要な情報をまとめた人気のガイドですす。
②社会保険・労働保険の手続きガイド
企業において社会保険および労働保険の加入・喪失手続きは必ず発生し、手続きを誤れば保険事故が発生した際に従業員が不利益を被る可能性があります。
各保険の基本的な手続き方法を入社・退職・異動のシーン別にギュッとまとめた分かりやすいガイドです。
総務・法務担当者向け
契約書ひな形まとめ30選
業務委託契約書や工事請負契約書…など各種契約書や、誓約書、念書・覚書、承諾書・通知書…など、使用頻度の高い30個のテンプレートをまとめた、無料で使えるひな形パックです。
※ 掲載している情報は記事更新時点のものです。
※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。
関連記事
LEFTB関数の使い方:バイト単位で文字列を抽出する方法
LEFTB関数は、文字列の左端から指定したバイト数分の文字を抽出する関数です。通常のLEFT関数が文字数単位で抽出するのに対し、LEFTB関数はバイト単位で処理を行うため、全角文字と半角文字が混在するデータを扱う際に特に有効です。 例えば、…
詳しくみるエクセルの条件付き書式とは?数式を使った応用まで解説
エクセルの条件付き書式は、データを視覚的に分かりやすくする強力なツールです。特定の条件に基づいてセルの色を変更することで、重要な情報やパターンを瞬時に把握できます。この記事では、条件付き書式の基本的な使い方から、数式を用いた応用方法まで、幅…
詳しくみるエクセルで案件管理は可能?活用のポイントや注意点を解説
案件ごとの進捗や情報を整理する「案件管理」は、営業や業務管理の効率化に欠かせない作業です。専用ツールを使わずに、エクセルで手軽に管理を始めたいと考える方も多いのではないでしょうか。 本記事では、エクセルの初心者でも取り組みやすい案件管理の基…
詳しくみるスプレッドシートのINDIRECT関数とは?動的参照の基本から応用テクニック、エラー対処まで完全解説
Googleスプレッドシート(Google Sheets)のINDIRECT関数は、文字列として記述されたセル参照を実際のセル参照に変換する関数で、動的なデータ参照を可能にします。本記事では、INDIRECT関数の基本構文と動作原理から、ド…
詳しくみるGoogleスプレッドシートで昇順・降順に並べ替えるには?データをソートする方法
Googleスプレッドシート(以下、スプレッドシート)を使う際、データを効率良く管理するには「ソート機能」の活用が欠かせません。本記事では、スプレッドシートでデータを並べ替える方法、特に昇順でのソート手法と降順との使い分けについて、初心者向…
詳しくみるスプレッドシートにファイルを添付するには?メール送信とPDFのセル埋め込み方法
Googleスプレッドシート(Google Sheets)では、ファイルをメールで共有したり、セル内に直接貼り付けたりと、用途に応じた複数の添付方法が利用できます。 本記事では、スプレッドシートをメールに添付して送信する手順と、PDFなどの…
詳しくみる



