Excel上の半角スペースが"?"に文字化けするときの対処
Excel上の半角スペースが"?"に文字化けするときの対処方法を紹介します。
1.問題点
ウェブページのテキストをコピーしてExcelにはりつけ、それをさらにコピーしてテキストエディタに貼り付けたり、あるいはCSVとして保存すると、半角スペースが"?"に文字化けするケースがあります。
下記のテキスト「aaa bbb」のページをコピーします。
ページのHTMLは下記のようになっています。
aaa bbb<br />
aaa bbb
上の行は普通の半角スペース、下の行は" "になっています。
Excelに貼り付けます。
通常のxlsx形式で一旦保存し、セルをさらにコピーしてテキストエディタに貼り付けると、下記のようになります。
aaa bbb
aaa?bbb
あるいはcsv形式で保存したあと、ファイルをテキストエディタで開くと、同様の事象になります。
2.原因
ウェブページ上は同じ半角スペースに見えますが、下の行のスペースは「ノンブレークスペース」というもので、文字コードは次のように異なります。
- 半角スペース:CODE=32(0x20)
- NBSP:CODE=160(0xA0)
で、NBSPはShift-JISで表現できないため、Excel上では"?"に文字化けしてしまう、という訳です。
文字コードを調べるには、該当シートのセルに下記を設定します。
=CODE(MID(セル,開始位置,文字数))
さきほどのExcelに設定すると、それぞれ「32」「160」となります。
半角スペースの文字コード(32)
NBSPの文字コード(160)
3.対処
任意のセルに「=CHAR(160)」という数式を入力。
そのセルを丸ごとコピー。
Ctrl+fで「置換」タブを開く。
「検索する文字列」にコピーした内容をペースト(半角スペースが入ったようにみえます)、「置換後の文字列」に普通の半角スペースを入力。
「すべて置換」をクリック。
これでNBSPが半角スペースに変換されます。
さきほどの文字コードチェックでも「32」に変換されていることが分かります。
- Execlでファイルを共有する方法
- Excelの$の意味
- Excelで今日の日付の列に色をつける方法
- WindowsでExcelが強制終了する場合の対処
- Excelの列を数字で表示する方法
- Excelの「ブックの共有」を解除する方法
- ExcelのCSVデータ取り込みで「このテキストファイルのデータは、1つのワークシートに入りきりません。」というエラーになる場合の対処
- ExcelでUTF-8のCSVデータを取り込む方法
- Excelで特定の文字が入力されたセルの合計をカウントする方法
- Excelのファイル名をセルに表示する方法
- Excelで「円」表示された数字の合計を表示する方法
- PowerPointやExcelの図形を別の図形に変更する方法
- Excelで数値を百万単位で表示させる方法
- Excelで行と列を入れ替える方法
- Excelで短くなったスクロールバーを元に戻す方法