トリムが機能しない場合にExcelセルから空白を削除する式は何ですか?


10

Internet ExplorerのhtmlテーブルからコピーしたExcelデータのテーブルがあります。テーブル値の列はすべて、それらの最後にスペースがあるように見えますが、Trim削除されません。Trim関数の結果の値を特殊な形式で貼り付けても、末尾に空白があります。

それTrimは削除されない他の種類の空白文字ですか?


1
どんなキャラクターがいるのかわかるモードで見てみると、削除されていないのはどんなキャラクター?
soandos

= LEN(CELL)を実行すると、何が返されますか?
kobaltz 2011

1
好奇心から、最後の文字のASCII番号は何ですか?=CODE(RIGHT(A1,1))A1contianが問題のあるテキストを想定している)を使用してそれを表示します。スペースは32で、タブが9で、改行文字は10と13です
ハンド-E-食品

1
@ Hand-E-Food、その関数の結果は160
非常に不規則

@kobaltz、= LEN(CELL)は9を返します。セルの値は(二重引用符なしで) "010-0000"ですが、トリムによって最後の文字が削除されていないようです。ここに値を入力するためのコピーアンドペーストは、ブラウザまたはその他の手段によってスペースになるように変更される可能性があります...
非常に不規則

回答:


17

キャラクター160は、改行しないスペースであり、スペースのように見えるが単語の一部であるように設計されているため、隣接する単語を強制的に結合させます。それらを通常のスペースに変換してから、trimを使用できます。

テキストがにあると想定してA1、次を使用します。

=TRIM(SUBSTITUTE(A1, CHAR(160), " "))

2
+1。このリンクは便利なリファレンスです。かなり頻繁にCLEANTRIMそしてSUBSTITUTEすべての文字列を扱うために必要とされる
brettdj

1

スペースが1つしかなく、列がAであると仮定しましょう。

A1= "CELL A1 "
A2= "CELL A2 "

Then B1 would be =LEFT(A1, LEN(A1)-1)
Then B2 would be =LEFT(A2, LEN(A2)-1)

それがそうであった場合、トリムは機能します...
soandos

そして、コメントが示していることから、これも同様にうまくいったでしょう。
kobaltz 2011

1
運が良かったから。そこには複数のキャラクターがいる可能性があり、あなたが知ることはなかっただろう。さらに、他の答えは、セルのどこで発生してもそれを処理するので、どの場合でもより一般的な答えになります。
soandos

それがASCII 160やASCII 161のようなものでない限り。各文字列の長さがわかっていて、それが期待されたものから1つずれていることがわかった場合、個人的にはこの問題は発生しません。私はあなたの見解を試して理解することにオープンですが、どちらのソリューションにも異なる環境での制限があります。
kobaltz 2011

同意した。彼が問題を特定してそれを解決したので、私は他の答えがもっと好きだと思います。同様の問題を解決する解決策があります。でもあなたの言いたいところは+1だ。
soandos 2011

0

ワークシート全体を選択し、置換(Ctrl + H)を使用してすべての改行なしスペース(NBSP)をスペースに置き換える方が簡単だと思います。これにより、セルの最後にスペースが残りますが、セルの中央からNBSPを削除することは避けてください。それでもトリムは必要ですが、TRIM(SUBSTITUTE(...))よりも簡単です。

Alt + 160を使用してNBSPに入ることができると思いましたが、うまくいきませんでした。シンボルの挿入を使用してNBSPをセルに配置し、そこからコピーして、[検索対象]フィールドにドロップする必要がありました。

記号の挿入では、NBSPは4の下の3行目の空のセルです。

これが繰り返し発生する問題である場合は、マクロレコーダーを使用して置換を保存できます。ただし、FINDを使用して文字列内の任意の場所にNBSPを配置し、それをスペースで置き換えるか、文字列内の位置に応じて削除するマクロを書く方が良い場合があります。このマクロは、FINDが失敗するまでループする必要があります。


Alt + 0160でNBSPを入力できます。1から3桁の数字はASCII、4桁の数字はUnicodeです。
Hand-E-Food

うまくいかなかったので、あきらめました。あなたのコメントは私にもう一度試すように説得しました。私はそれがラップトップではキーボードの真ん中にあるテンキーでしか機能しないことを忘れていました。次にこの方法で文字を入力する必要があるときは覚えておきます。プロンプトをありがとう。
Tony Dallimore、2011

0

CLEAN(x)関数を試してみてください-特に161、160などが混在している場合は、すべてのガフが取り除かれます。


いいえ、そうではありません。確かに160では動作しませんでした。
robotik
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.