Excel CSVやTSVが文字化けする場合の対処方法

2020年10月15日

Google AnalyticsなどからエクスポートしたCSVやTSVは

Excelで開いた際に文字コードの問題で文字化けする場合があります。

この記事では、その対処方法とそれぞれの適切な状況を紹介します。

対処方法

三種類の方法が存在します。

これらの方法と得意な状況も含めて紹介します。

方法機能大量データ手間の少なさ
①Excelのデータインポート機能×
②テキストエディタからExcelにコピー&ペーストして区切り位置××
③テキストエディタで文字コードを変換したファイルを保存×

①Excelのデータインポート機能

一番おススメでありExcelとしても王道な方法です。

他に比べて手間が大きいのが難点ですが、テーブルフィルターが設定されるため

取り込み後にデータの分析を行う場合は特に強力な機能です。

それにはまず「データ」、「テキストまたはCSV」をクリックします。

「データ」、「テキストまたはCSV」をクリック

ファイルダイアログが表示されるので開くファイルを選択します。

TSVなどの場合、拡張子が異なるので「すべてのファイル」に変更する必要があります。

ファイルダイアログで開くファイルを選択

PowerQueryの画面の表示されるので「元のファイル」の文字コードと「区切り記号」を変更します。

「元のファイル」にはファイルの文字コードを指定します。

文字化けする場合はGoogle Analyticsなど多くの場合、「65001:Unicode(UTF-8)」です。

(他のシステムであれば稀に「51932:日本語(EUC)」など)

「区切り記号」はCSVであればそのまま「コンマ」、TSVなら「タブ」に変更します。

設定したら下の「読み込み」をクリックすれば完了ですが、

さらに調整する場合は「データの変換」をクリックします。

完了のためのボタン

Google Analyticsの場合は余計な行があるため削除します。

このサンプルファイルでは上に邪魔な行があるので「行の削除」の「上位の行の削除」から

上位の6行を削除します。(ファイルによって変わります)

上位の6行を削除

同様に下にも5行、合計行などがあるため「下位の行の削除」で削除します。

予定な行を削除したら「1行目をヘッダーとして使用」を選択します。

(ヘッダーのないファイルであれば不要)

「1行目をヘッダーとして使用」を選択

「閉じて読み込む」を選択すれば完了です。

「閉じて読み込む」を選択

テーブルフィルターが設定された分析しやすい状態でExcelにインポートされます。

インポート結果

②テキストエディタからExcelにコピー&ペーストして区切り位置

テーブルフィルターなどのデータ分析機能が不要な場合や、

既存のブックに追加したい場合に手間が少ないため①よりおススメの方法です。

まずテキストエディタでファイルを開きます。

サクラエディタのような大きいデータも扱えるものが良いですが、

Windowsにデフォルトで入っているメモ帳でも構いません。

開いた後、[Ctrl]+[A]か「編集」より「すべて選択」したあと

ファイルの内容を全コピーしExcelブックのペーストします。

そして「データ」より「区切り位置」を選択し「区切り位置指定ウィザード」を表示し

「カンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」に

チェックされている状態で「次へ」をクリックします。

「データ」より「区切り位置」を選択し「区切り位置指定ウィザード」を表示

区切り文字でTSVなら「タブ」やCSVなら「カンマ」をチェックして

「完了」をクリックすれば終了です。(他の調整がある場合は「次へ」)

区切り文字でTSVなら「タブ」やCSVなら「カンマ」をチェック

③テキストエディタで文字コードを変換したファイルを保存

②の状況でデータ量が多すぎてコピー&ペースト出来ない場合にお勧めです。

まずテキストエディタでファイルを開きます。

サクラエディタのような大きいデータも扱えるものが良いですが、

Windowsにデフォルトで入っているメモ帳で説明します。

それにはCSVやTSVのファイルを右クリックし、「プログラムから開く」より「メモ帳」をクリックします。

CSVやTSVのファイルを右クリックし、「プログラムから開く」より「メモ帳」をクリック

「ファイル」より「名前を付けて保存」をクリックします。

「ファイル」より「名前を付けて保存」をクリック

文字コードをANSIに変更して保存します。

文字コードをANSIに変更して保存

保存したファイルをExcelで開くと文字化け無しで開かれます。