CSVやTSVのファイルをGoogleスプレッドシートに取り込んだ際に、文字化けが発生して困った経験はありませんか。データが正しく表示されず、文字の一部が「??????」や「テーブル」のように崩れてしまうことがあります。この問題の原因は、ファイルの文字コードとスプレッドシートの文字コードが一致していないためです。この記事では、UTF-8とShift_JISの切り替え方法を中心に、文字化けを解消する具体的な手順を解説します。
【要点】データ取込時の文字化けを解消する3つの方法
- テキストエディタでUTF-8に変換: CSVファイルをメモ帳やVS Codeで開き、UTF-8で保存し直してからスプレッドシートに取り込みます。
- GoogleドライブでShift_JISのまま開く: Shift_JISのCSVをGoogleドライブにアップロードし、スプレッドシートで開くときに文字コードを自動判別させます。
- IMPORTDATA関数でURLから取得: インターネット上のUTF-8のCSVを直接取り込むことで、文字化けを防止します。
ADVERTISEMENT
なぜ文字化けが起きるのか
Googleスプレッドシートは、デフォルトでUTF-8という文字コードを基準に動作します。一方、日本の環境でよく使われるShift_JISやEUC-JPのファイルをそのまま読み込むと、文字コードの不一致が原因で文字化けが発生します。特にWindowsで作成されたCSVファイルはShift_JISで保存されていることが多く、スプレッドシートで開くと日本語が正しく表示されません。また、スプレッドシートのインポート機能には、文字コードを明示的に指定するオプションが用意されていません。そのため、あらかじめファイルの文字コードをUTF-8に変換するか、別の方法で取り込む必要があります。
データ取込時の文字化けを解消する手順
ここでは、文字化けを解消するための具体的な手順を3つ紹介します。状況に応じて最適な方法を選んでください。
手順1: CSVファイルをUTF-8に変換してから取り込む
最も確実な方法は、CSVファイルをテキストエディタで開き、UTF-8で保存し直すことです。以下の手順で行います。
- テキストエディタでCSVを開く
Windowsの場合はメモ帳、Macの場合はテキストエディット、またはVisual Studio Codeなどのエディタを使います。ファイルを右クリックし、「プログラムから開く」で選択してください。 - 文字コードをUTF-8に指定して保存
メモ帳の場合、「名前を付けて保存」をクリックし、ダイアログ下部の「文字コード」を「UTF-8」に変更して保存します。VS Codeの場合は、右下のエンコード表示をクリックし、「UTF-8」を選択して上書き保存します。 - スプレッドシートにインポート
Googleスプレッドシートで「ファイル」→「インポート」を選び、変換済みのCSVファイルをアップロードします。これで文字化けが解消されて表示されます。
この方法は、ファイルの文字コードがShift_JISであることが明らかな場合に有効です。
手順2: GoogleドライブでShift_JISのCSVを開く
テキストエディタを使わずに、Googleドライブの機能を利用して文字化けを解消する方法です。
- CSVをGoogleドライブにアップロード
Googleドライブにアクセスし、Shift_JISのCSVファイルをドラッグ&ドロップでアップロードします。 - 「Googleスプレッドシートで開く」を選択
アップロードしたファイルを右クリックし、「アプリで開く」→「Googleスプレッドシート」を選びます。スプレッドシートが自動的に文字コードを判別し、多くの場合正しく表示されます。 - 必要に応じて設定を変更
もし文字化けが残る場合は、スプレッドシートの「ファイル」→「設定」でロケールを日本(日本語)に変更してみてください。これでShift_JISの文字が正しく認識されることがあります。
この方法は、手軽ですが必ず成功するとは限りません。失敗した場合は手順1を試してください。
手順3: IMPORTDATA関数でUTF-8のCSVを直接読み込む
ウェブ上に公開されているCSVファイルを読み込む場合、IMPORTDATA関数を使うと文字化けを防げます。
- CSVファイルのURLを確認
ファイルがUTF-8で保存されていることを確認します。ブラウザで開いたときに文字化けがなければUTF-8です。 - セルに関数を入力
読み込みたいセルに「=IMPORTDATA(“URL”)」と入力します。URLはダブルクォーテーションで囲んでください。 - 自動更新を利用
この関数は、元のCSVが更新されるとスプレッドシートも自動更新されます。
IMPORTDATA関数はUTF-8のCSVしか正しく読み込めません。Shift_JISのファイルを読み込むとやはり文字化けします。その場合は、事前にファイルをUTF-8に変換する必要があります。
注意点とよくある失敗例
BOM付きUTF-8とBOMなしUTF-8の違い
UTF-8にはBOM(Byte Order Mark)が付いている場合と付いていない場合があります。GoogleスプレッドシートはBOMなしのUTF-8を推奨しています。BOM付きのUTF-8のファイルをインポートすると、先頭に余分な文字が表示されることがあります。テキストエディタで保存する際は、BOMなしUTF-8(UTF-8N)を選択するとよいでしょう。VS Codeやメモ帳では、保存オプションでBOMの有無を切り替えられます。
インポート後に意図しない列区切りが発生する
CSVの区切り文字がカンマではなくタブやセミコロンの場合、スプレッドシートが正しく認識しないことがあります。そうした場合は、インポート時に「区切り文字」を適切に選択してください。また、Shift_JISのファイルをUTF-8に変換する際に、区切り文字が変わってしまうケースもあるため、変換後はデータの整合性を確認しましょう。
Macで作成したCSVの文字コード
Macのテキストエディットで作成したCSVは、デフォルトでUTF-8になることが多いです。しかし、古いソフトウェアや一部のアプリケーションではShift_JISで保存されることもあります。Googleスプレッドシートで文字化けした場合は、まずファイルの文字コードを確認することをおすすめします。確認方法としては、テキストエディタでファイルを開き、文字コード表示をチェックします。
ADVERTISEMENT
UTF-8とShift_JISの比較表
| 項目 | UTF-8 | Shift_JIS |
|---|---|---|
| 使用環境 | Web・Googleスプレッドシート標準 | Windows・日本の業務システム |
| 文字化け | Shift_JISで開くと文字化け | UTF-8で開くと文字化け |
| 推奨保存形式 | BOMなしUTF-8 | Shift_JIS(必要時のみ) |
| ファイルサイズ | 日本語1文字あたり3〜4バイト | 日本語1文字あたり2バイト |
まとめ
Googleスプレッドシートでデータを取り込む際の文字化けは、ファイルの文字コードをUTF-8に統一することでほとんどのケースで解消できます。手順1のテキストエディタによる変換は確実な方法です。手順2のGoogleドライブ経由は手軽で、手順3のIMPORTDATA関数はWeb上のデータに便利です。また、Shift_JISのデータを扱う必要がある場合は、事前にUTF-8に変換するか、ドライブの自動判別に頼ることをおすすめします。文字コードを意識することで、文字化けのない快適なデータ処理が可能になります。ぜひ、ご自身の環境に合った方法を試してみてください。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Googleスプレッドシートの人気記事ランキング
- 【Googleスプレッドシート】GOOGLEFINANCE関数で株価・為替を取得!リアルタイムデータの呼び出し
- 【Googleスプレッドシート】印刷範囲を指定して印刷!特定範囲だけPDFや紙に出す手順
- 【Googleスプレッドシート】新しいスプレッドシートを作成する3つの方法!ドライブ・URL・テンプレート
- 【Googleスプレッドシート】数値の連続データを自動入力!オートフィルの活用
- 【Googleスプレッドシート】ダークモードを有効にする!目に優しい配色への切替
- 【Googleスプレッドシート】株価APIで株式データを自動取得!GOOGLEFINANCE超え活用
- 【Googleスプレッドシート】共有相手が編集できない時のチェック!権限と許可状態の確認
- 【Googleスプレッドシート】ページ設定で用紙サイズと向きを調整!印刷レイアウトの基本
- 【Googleスプレッドシート】Excelファイルxlsxをインポートする手順!ドラッグ&ドロップで取り込み
- 【Googleスプレッドシート】条件付き書式をコピーする!書式のみペーストの活用
