【Excel】TRIM関数が効かない時のCHAR(160)削除法とは

TRIM関数が効かない!?「CHAR(160)」という特殊空白を削除するSUBSTITUTE術

ITの初心者

TRIM関数を使っても空白が消えないことがあります。特に「CHAR(160)」という特殊な空白について知りたいのですが、どうすれば削除できるのでしょうか?

IT・PC専門家

TRIM関数は通常の空白(スペース)を削除しますが、CHAR(160)は非表示の特殊空白です。この空白を削除するためには、SUBSTITUTE関数を使用して置き換える必要があります。具体的には、=SUBSTITUTE(A1, CHAR(160), “”)という形で使います。

ITの初心者

SUBSTITUTE関数の使い方がよくわかりません。具体的にどのような手順で行えばいいですか?

IT・PC専門家

SUBSTITUTE関数は文字列内の特定の文字を別の文字に置き換えます。手順は、まず対象のセルにTRIM関数を適用してから、その結果に対してSUBSTITUTE関数を用います。例えば、=SUBSTITUTE(TRIM(A1), CHAR(160), “”)という形です。この方法で特殊空白も削除できます。

TRIM関数とCHAR(160)

TRIM関数は、Excelで文字列の先頭や末尾にある余分な空白を削除するために使われます。しかし、特定の状況下では、この関数が期待通りに機能しないことがあります。その一例が「CHAR(160)」という特殊な空白です。CHAR(160)は、通常の空白(ASCIIコード32)とは異なる非表示の文字であり、Webページからコピーしたテキストや他のソフトウェアから貼り付けたテキストにしばしば含まれています。

CHAR(160)の問題とは

CHAR(160)は「ノーブレークスペース」とも呼ばれ、単語の切れ目で行が折り返されないようにするために使われることが一般的です。この特殊空白は、通常の空白と同じく見えないため、TRIM関数では削除されません。そのため、データの整形を行う際に問題となることがあります。

例えば、セルに「テスト  テスト」や「テストCHAR(160)テスト」という文字列がある場合、TRIM関数は前者の空白は削除しますが、後者のCHAR(160)は無視します。このため、見た目には変化がないように見えても、実際にはデータが正しく処理されていない可能性があります。

SUBSTITUTE関数を使った解決法

CHAR(160)を削除するためには、SUBSTITUTE関数を利用するのが効果的です。SUBSTITUTE関数は、特定の文字列を別の文字列に置き換えることができるため、CHAR(160)を空文字に置き換えることで削除が可能です。

具体的な手順は以下の通りです。

1. TRIM関数を使用する: まず、TRIM関数を使って通常の空白を削除します。
2. SUBSTITUTE関数を使う: その後、SUBSTITUTE関数を使ってCHAR(160)を削除します。

具体的な例を挙げると、セルA1に次のような文字列が入っているとします。

“`
=SUBSTITUTE(TRIM(A1), CHAR(160), “”)
“`

この式を使うことで、まずTRIM関数により通常の空白が削除され、その後SUBSTITUTE関数がCHAR(160)を削除します。

実際の使用例

この方法は、特にデータのインポートや他のソフトウェアからのデータ移行時に役立ちます。例えば、WebからコピーしたデータをExcelに貼り付けた際や、異なるフォーマットのデータを統合する際に、CHAR(160)が混入することがあります。この場合、上記の方法で簡単に特殊空白を削除し、データを整形します。

まとめ

TRIM関数だけでは解決できない問題も、SUBSTITUTE関数を組み合わせることで解決できます。特にCHAR(160)のような特殊空白を扱う場合には、この方法を覚えておくと非常に便利です。データの整形やクリーニングを行う際に、これらの関数を活用して、よりクリーンなデータを管理しましょう。

このように、Excelの関数を効果的に使うことで、データ処理の精度を高めることができます。是非、実践してみてください。

タイトルとURLをコピーしました