Ich habe eine Tabelle mit Excel-Daten, die ich aus einer HTML-Tabelle in Internet Explorer kopiert habe. Eine Spalte mit Tabellenwerten scheint am Ende ein Leerzeichen zu haben, Trim
wird es jedoch nicht entfernen. Wenn ich den Wert des Ergebnisses der Trim
Funktion einfüge, hat es immer noch das Leerzeichen am Ende.
Könnte es sich um eine andere Art von Leerzeichen handeln, Trim
die nicht entfernt werden?
microsoft-excel
worksheet-function
Sehr unregelmäßig
quelle
quelle
=CODE(RIGHT(A1,1))
(vorausgesetzt,A1
der problematische Text enthält Contians), um ihn anzuzeigen. Leerzeichen ist 32, Tab ist 9 und neue Zeilenzeichen sind 10 und 13.Antworten:
Das Zeichen 160 ist ein nicht unterbrechendes Leerzeichen , ein Zeichen, das so gestaltet ist, dass es wie ein Leerzeichen aussieht, aber dennoch Teil des Wortes ist, wodurch die benachbarten Wörter gezwungen werden, zusammen zu bleiben. Sie können sie in reguläre Leerzeichen konvertieren und dann Trimmen verwenden.
Angenommen, der Text ist in
A1
, verwenden Sie:quelle
CLEAN
,TRIM
undSUBSTITUTE
alle , die für den Umgang mit StringsWenn es nur ein Leerzeichen hat und wir annehmen, dass die Spalte A ist.
quelle
Ich schlage vor, es wäre einfacher, das gesamte Arbeitsblatt auszuwählen und Ersetzen (Strg + H) zu verwenden, um jeden nicht unterbrochenen Bereich (NBSP) durch einen Bereich zu ersetzen. Dies lässt immer noch Leerzeichen am Ende der Zellen, vermeidet jedoch das Entfernen von NBSPs aus der Mitte der Zellen. Sie benötigen noch Trimmen, aber das ist einfacher als TRIM (SUBSTITUTE (...)).
Ich dachte, ich könnte mit Alt + 160 einen NBSP eingeben, aber das hat bei mir nicht funktioniert. Ich musste Symbol einfügen verwenden, um ein NBSP in eine Zelle zu platzieren, es von dort zu kopieren und in das Feld Suchen nach zu legen.
Bei Symbol einfügen ist NBSP die leere Zelle in der dritten Zeile unter 4.
Wenn dies ein sich wiederholendes Problem ist, können Sie das Ersetzen mit dem Makrorecorder speichern. Es ist jedoch möglicherweise besser, ein Makro zu schreiben, das FIND verwendet, um NBSP an einer beliebigen Stelle in einer Zeichenfolge zu lokalisieren und es entweder durch Leerzeichen zu ersetzen oder entsprechend seiner Position in der Zeichenfolge zu löschen. Dieses Makro müsste eine Schleife ausführen, bis FIND fehlschlägt.
quelle
Probieren Sie die CLEAN (x) -Funktion aus - sie beseitigt all diesen Schwachsinn, besonders wenn Sie eine Mischung aus 161, 160 usw. haben.
quelle