Googleスプレッドシートの取り込み画面には、CSVの文字コードを選ぶ欄がありません。CSVはUTF-8の前提で読み込まれるため、Shift_JISで保存されたCSVを取り込むと日本語が文字化けします。日本語版WindowsのExcelで「CSV (コンマ区切り)」として保存したファイルや、業務システムから出力したCSVの多くがShift_JISです。

取り込む側では文字コードを直せないので、取り込む前にファイルをUTF-8に変換するのが対処法です。この記事では、変換、取り込み、取り込み後の確認の順に説明します。

まず、文字化けの状態を確かめる

次のような状態なら、Shift_JISのCSVをUTF-8として読んだときの典型的な文字化けです。

  • 英数字や記号は正しく表示され、日本語の部分だけが「�」や意味のない記号の並びになる
  • 列の分かれ方や行数はおおむね正しい

GoogleドライブにアップロードしたCSVを、ドライブ上で直接スプレッドシートとして開いた場合も、同じ理由で文字化けします。

変換に入る前に、元のCSVをパソコンのメモ帳などで開き、日本語が正しく読めるかを確認してください。メモ帳でも文字化けしている場合は、ファイル自体がすでに壊れている可能性があります。この場合は変換しても直らないので、出力元からもう一度取得します。

手順1:元のファイルを残して作業する

変換に失敗したときにやり直せるよう、元のCSVは上書きしないでください。変換したファイルは、顧客一覧_utf8.csv のように別の名前で保存します。

手順2:メモ帳でUTF-8に変換する(Windows)

Windowsのメモ帳でも変換できます。

  1. CSVを右クリックし、「プログラムから開く」→「メモ帳」を選ぶ
  2. 日本語が正しく表示されていることを確認する(画面下部に、読み込んだ文字コードが表示される場合があります)
  3. 「ファイル」→「名前を付けて保存」を選ぶ
  4. 保存画面の「エンコード」で「UTF-8」を選ぶ
  5. 別の名前を付けて保存する

保存の選択肢には「UTF-8」と「UTF-8 (BOM 付き)」があります。スプレッドシートに取り込むだけであれば、まずBOMなしの「UTF-8」で保存しておけば問題ありません。

Macやほかのテキストエディタを使う場合も考え方は同じです。Shift_JISとして開き、UTF-8を指定して保存する操作ができるエディタであれば変換できます。メニューの名前はエディタごとに確認してください。

Excelで変換する場合の注意

ExcelでCSVを開き、「名前を付けて保存」で「CSV UTF-8 (コンマ区切り)」を選ぶ方法でもUTF-8に変換できます。ただし、ExcelはCSVを開いたときに中身を自動で変換するため、次のような変化が起きることがあります。

  • 先頭の0が消える(郵便番号、電話番号、社員番号など)
  • 文字列が日付に変わる(例: 1-2 が日付になる)
  • 桁の多い数字が指数表示になる、末尾の桁が0に置き換わる

こうした列があるCSVは、Excelを通さずにテキストエディタで変換するほうが安全です。

手順3:スプレッドシートに取り込む

  1. Googleスプレッドシートで「ファイル」→「インポート」を選ぶ
  2. 「アップロード」タブで、変換したUTF-8のCSVを選ぶ
  3. 取り込みの設定を選ぶ
  4. 「データをインポート」を押す

設定の画面では、次の項目を確認します(画面の表記は変わることがあります)。

設定 選び方の目安
インポート場所 新しいスプレッドシートを作成する、新しいシートを挿入する、現在のシートを置換するなどから選ぶ。既存のデータを残したいなら、置換は避ける
区切り文字の種類 自動で列が正しく分かれない場合は「カンマ」を指定する
テキストを数値、日付、数式に変換する 先頭の0や、日付に見える文字列をそのまま残したいなら、チェックを外す

手順4:取り込んだ結果を確認する

文字化けが直っても、ほかの部分が崩れていることがあります。次の項目を確認してから使い始めてください。

確認すること 見る場所 崩れていたら
日本語 見出し行と、名前や住所の列 変換後のファイルをメモ帳で開き、日本語が読めるか確認する
特殊な文字 ①、㈱、髙、﨑 のような文字を含むセル 下の「一部の文字だけおかしいとき」を参照する
件数 元データの件数と、スプレッドシートのデータ行数 セル内の改行や、ダブルクォートで囲まれていない値を確認する
列のずれ 最後の列や、住所・備考の列 カンマを含む値がダブルクォートで囲まれているか確認する
数値・コード 郵便番号、電話番号、商品コード、金額 「テキストを数値、日付、数式に変換する」を外して取り込み直す

それでも直らないとき

変換したのに、まだ文字化けする

変換後のファイルをメモ帳で開き、日本語が正しく読めるか確認します。メモ帳で読めない場合は、元のCSVがShift_JIS以外の文字コードで保存されている可能性があります。文字コードの判別方法は、CSVの文字コードを扱う記事で詳しく説明しています。

一部の文字だけが「?」や別の文字になる

①や㈱、髙のような文字は、Windowsで使われるShift_JISの拡張部分に含まれます。変換に使うツールによっては、この拡張部分を扱えず、文字が「?」などに置き換わることがあります。日本語版Windowsのメモ帳で変換すれば通常は問題ありませんが、別のツールを使った場合は、元のファイルからメモ帳で変換し直して比べてください。

同じCSVを毎回取り込む

毎回変換するのが手間なら、出力する側の設定を見直します。Excelなら最初から「CSV UTF-8 (コンマ区切り)」で保存できます。業務システムやサービスからの出力であれば、出力画面や設定にUTF-8を選ぶ項目がないか確認してください。

チェックリスト

  • 元のCSVをメモ帳で開き、日本語が正しく読めることを確認した
  • 元のファイルは残し、別の名前でUTF-8に変換した
  • 先頭の0や日付に見える列がある場合は、Excelを通さずに変換した
  • 取り込みで、インポート場所と区切り文字を確認した
  • 必要に応じて「テキストを数値、日付、数式に変換する」を外した
  • 取り込み後に、日本語、特殊な文字、件数、列のずれ、数値を確認した
おすすめの記事