他のアプリのデータをエクセルにコピペで貼り付けた時に、見えない文字が貼り付けられる場合があります。
また、以下の図のように『・』の点が見えるけど、何かわからない文字が貼り付けられたりします。
エクセルの中だけでコピペしている分にはこんな問題は起きないんですが、エクセル以外のアプリのデータをエクセルに貼り付けた時に起こることがあります。
この、なんの文字かよくわからないのは『制御文字』とか、『ゴミ』とか呼ばれることが多いです。
制御文字はDELキーでも削除できない場合が多いので、今回は制御文字をきれいに削除する方法を紹介します。
消したくても消さない文字がある場合は、ぜひ参考にしてください!
見えない文字(制御文字)をCLEAN関数で削除する
見えない文字(制御文字)を削除したい場合は、CLEAN関数を使います。
名前の通り、『クリーン』してくれる関数なので覚えやすいんじゃないでしょうか。
さっそく使い方を紹介します。
下のエクセルを例に、C3のセルに『ABC・DEF』のように制御文字(『・』)が混入されている文字列から、CLEAN関数で制御文字を削除していきます。
確認しやすいように、C3には『=”ABC” & CHAR(11) & “DEF”』を入力して、11というコードの制御文字を無理やりABCとDEFの間に挿入しました。
そして、D3のセルに『=CLEAN(C3)』と入力します。
見ての通り、C3の文字列から制御文字を削除した『ABCDEF』の文字列が表示されています。
念の為文字列の長さを比べると、CLEAN関数前が7文字(ABCDEFの6文字+制御文字の1文字)だったのが、制御文字が削除されてCLEAN関数で6文字になっていることがわかると思います。
CLEAN関数の書式(書き方)
CLEAN関数の書式(書き方)です。
引数には文字列を指定するだけなので、簡単だと思います。
文字列そのものより、『文字列が入力されているセルの位置』を指定するのが一般的ですね。
CLEAN関数が削除する制御文字の一覧
続いて、『制御文字』のことを簡単に解説するので参考程度に読んでください。
制御文字というのは印刷されない文字のことで、その名の通り文字の制御などをするコードです。
文字のコードを表すものにASCIIコードというのがありますが、ここで解説している制御文字というのは、下の表の黄色の範囲に入っているものです。
表の赤枠部分(ASCII文字)の列が『表示される文字』を示していますが、黄色の制御文字の場合は文字として表示されることはありません。(一部『・』のような表示になるのもあります)
CLEAN関数は黄色の範囲の制御文字を全て削除します。(最後のDEL(127)を除く)
逆に、CLEAN関数は『文字以外のコードを全て削除する』と覚えた方がいいかも^^
なので、何かよくわからない文字がセルに入っているかもと思った場合は、このCLEAN関数でセルをクリーンしてみください。
CLEAN関数でセル内改行を削除することもできる
エクセルでよく使う『セル内改行』も制御文字です。
『ALT』+『Enter』キーで入力する改行ですね。
このセル内改行は、さきほどのASCIIコード表では『LF(十進コードでは10)』に該当します。
なので、セル内の改行を削除したい場合もCLEAN関数は使えます。
ただし、セル内改行以外の制御文字を削除したくてCLEAN関数を使うと、セル内改行も同時に削除されるので注意してください。