Excel関数 逆引き集 | 不可視文字除去 → CLEAN

Excel
スポンサーリンク

概要

「外部システムから取り込んだデータに“見えない文字”が混ざっている」
「改行コードや制御文字が原因で、検索・置換・一致判定がうまくいかない」
「コピーしたテキストに謎の空白や改行が入ってしまう」

こういう “不可視文字(制御文字)”を取り除きたい ときに使うのが CLEAN 関数です。

CLEAN は、
文字コード 0〜31 の制御文字を削除する関数
で、特に外部データのクレンジング(清掃)に大活躍します。

ここでは、初心者向けに CLEAN の仕組みと実務で使えるテンプレートを、例題つきで丁寧に解説します。


CLEAN 関数の基本

書式

=CLEAN(文字列)

CLEAN が削除するのは、主に次のような 制御文字(不可視文字) です。

  • 改行コード(CHAR(10))
  • タブ(CHAR(9))
  • ベル(CHAR(7))
  • その他の制御コード(0〜31)

つまり、
「見えないけど邪魔をする文字」 を一掃してくれます。


基本パターン:不可視文字を削除する

例:セル A2 に不可視文字が混ざっている場合

=CLEAN(A2)

これだけで、A2 の中にある制御文字がすべて取り除かれます。


応用1:改行やタブを含むテキストを“1行に整形”

外部システムから取り込んだデータに、
改行(CHAR(10))やタブ(CHAR(9))が混ざっていることがあります。

例:A2 のテキストから改行・タブを除去

=CLEAN(A2)

CLEAN は改行やタブも削除するため、
「1行のきれいなテキスト」 に整形できます。


応用2:TRIM と組み合わせて“余計な空白も除去”

CLEAN は制御文字を削除しますが、
空白(スペース)は削除しません。

そこで、空白も整えたいときは TRIM と組み合わせます。

例:不可視文字+余計な空白をまとめて除去

=TRIM(CLEAN(A2))

これで、

  • 改行・タブなどの制御文字 → CLEAN が削除
  • 連続スペース → TRIM が 1 個に整形
  • 先頭・末尾のスペース → TRIM が削除

という“完全クレンジング”ができます。


応用3:SUBSTITUTE と組み合わせて「特定の不可視文字だけ除去」

CLEAN は便利ですが、
削除対象は 0〜31 の制御文字のみ です。

もし「特定の文字だけ除去したい」場合は、
CLEAN と SUBSTITUTE を組み合わせます。

例:A2 のテキストからタブ(CHAR(9))だけ除去

=SUBSTITUTE(A2, CHAR(9), "")

改行だけ除去したい場合:

=SUBSTITUTE(A2, CHAR(10), "")

CLEAN は“全部まとめて削除”、
SUBSTITUTE は“狙った文字だけ削除”という使い分けです。


応用4:外部データのクレンジング(CSV・TSV・Webコピー)

Web やシステムからコピーしたテキストには、
不可視文字が混ざっていることが多く、
検索・一致判定・VLOOKUP が失敗する原因になります。

例:外部データを CLEAN で整形してから処理

=VLOOKUP(CLEAN(A2), 範囲, 2, FALSE)

CLEAN をかませることで、
“見えない差異”による検索ミスを防止できます。


応用5:TEXTJOIN と組み合わせて“きれいな結合”

複数セルを TEXTJOIN で結合するとき、
元データに不可視文字があると、
結合結果が乱れることがあります。

例:A2:A5 を CLEAN してから結合

=TEXTJOIN("、", TRUE, CLEAN(A2:A5))

※動的配列対応版(Excel 365)

これで、
不可視文字を除去したクリーンな文字列だけを結合できます。


不可視文字除去の“型”まとめ

不可視文字を削除

=CLEAN(A2)

不可視文字+余計な空白を削除

=TRIM(CLEAN(A2))

特定の不可視文字だけ削除

=SUBSTITUTE(A2, CHAR(コード), "")

検索・一致判定の前にクレンジング

=VLOOKUP(CLEAN(A2), 範囲, 2, FALSE)

結合前にクレンジング

=TEXTJOIN("、", TRUE, CLEAN(A2:A5))

例題

問題1

A2 に不可視文字(改行やタブ)が混ざっています。
これらを削除してきれいな文字列にしたいです。
CLEAN を使った式を書いてください。

=CLEAN(A2)

問題2

A2 のテキストから不可視文字を削除し、
さらに余計な空白も整えたいです。
TRIM と CLEAN を組み合わせた式を書いてください。

=TRIM(CLEAN(A2))

問題3

A2 のテキストからタブ(CHAR(9))だけを削除したいです。
SUBSTITUTE を使った式を書いてください。

=SUBSTITUTE(A2, CHAR(9), "")

問題4

VLOOKUP の検索値 A2 に不可視文字が混ざっており、
検索がうまくいきません。
検索前に不可視文字を除去する式を書いてください。

=VLOOKUP(CLEAN(A2), 範囲, 2, FALSE)

問題5

A2:A5 の文字列を結合したいが、
各セルに不可視文字が混ざっています。
CLEAN と TEXTJOIN を組み合わせた式を書いてください。

=TEXTJOIN("、", TRUE, CLEAN(A2:A5))

CLEAN は「見えないゴミを一掃する」ための強力な関数です。
外部データの取り込み・検索精度の向上・結合の安定化など、
実務での効果が非常に大きいので、ぜひ“データクレンジングの基本”として使いこなしてください。

Excel
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました