Was tun, wenn die TRIM-Funktion von Excel nicht funktioniert

Inhaltsverzeichnis:

Was tun, wenn die TRIM-Funktion von Excel nicht funktioniert
Was tun, wenn die TRIM-Funktion von Excel nicht funktioniert
Anonim

Wenn Sie Textdaten in ein Excel-Arbeitsblatt kopieren oder importieren, behält das Arbeitsblatt gelegentlich zusätzliche Leerzeichen zusätzlich zu dem von Ihnen eingefügten Inh alt. Normalerweise kann die TRIM()-Funktion allein diese unerwünschten Leerzeichen entfernen, unabhängig davon, ob sie zwischen Wörtern oder am Anfang oder Ende einer Textzeichenfolge auftreten. In bestimmten Situationen kann TRIM() die Arbeit jedoch nicht erledigen.

Auf einem Computer ist ein Leerzeichen zwischen Wörtern kein leerer Bereich, sondern ein Zeichen - und es gibt mehr als eine Art von Leerzeichen. Ein häufig auf Webseiten verwendetes Leerzeichen, das TRIM() nicht entfernt, ist das geschützte Leerzeichen.

Wenn Sie Daten von Webseiten importiert oder kopiert haben, können Sie die zusätzlichen Leerzeichen möglicherweise nicht mit der TRIM()-Funktion entfernen, wenn sie durch geschützte Leerzeichen erstellt wurden.

Geschützte und reguläre Leerzeichen

Image
Image

Leerzeichen sind Zeichen und jedes Zeichen wird durch seinen ASCII-Codewert referenziert. ASCII steht für American Standard Code for Information Interchange – ein internationaler Standard für Textzeichen in Computerbetriebsumgebungen, der einen Codesatz für 255 verschiedene Zeichen und Symbole erstellt, die in Computerprogrammen verwendet werden.

Der ASCII-Code für ein geschütztes Leerzeichen ist 160. Der ASCII-Code für ein reguläres Leerzeichen ist 32.

Die Funktion TRIM() kann nur Leerzeichen mit dem ASCII-Code 32 entfernen.

Image
Image

Unterschiedliche Schriftstile unterstützen unterschiedliche Bereiche von ASCII-Codes. Die Standardtabelle bietet 127 mögliche Werte; Schriftarten müssen mindestens eine 127-Zeichen-ASCII-Zuordnung unterstützen, um als gültig angesehen zu werden. Aber "erweiterte" ASCII-Zeichen, die mit zusätzlichen Codes aufgerufen werden, fügen häufig zusätzliche Zeichen zu Ihren bevorzugten Schriftarten hinzu. Tatsächlich ist das geschützte Leerzeichen selbst ein erweitertes ASCII-Zeichen, während ein Standard-Leerzeichen … nun ja, Standard ist.

Geschützte Leerzeichen entfernen

Entfernen Sie geschützte Leerzeichen aus einer Textzeile mit den Funktionen TRIM(), SUBSTITUTE() und CHAR().

Da die Funktionen SUBSTITUTE() und CHAR() in der Funktion TRIM() verschachtelt sind, muss die Formel in das Arbeitsblatt eingegeben werden, anstatt die Dialogfelder der Funktionen zu verwenden, um die Argumente einzugeben.

Die Formel lautet unter der Annahme, dass sich die Daten mit den geschützten Leerzeichen in Zelle A1 befinden:

Wie die Formel funktioniert

Jede verschachtelte Funktion führt eine bestimmte Aufgabe aus:

  • Die CHAR-Funktion legt die jeweiligen ASCII-Codes für die beiden unterschiedlichen Leerzeichen in der Formel fest - 160 und 32
  • Die SUBSTITUTE-Funktion ersetzt oder ersetzt alle geschützten Leerzeichen zwischen den Wörtern durch reguläre Leerzeichen
  • Die TRIM-Funktion entfernt die zusätzlichen regulären Leerzeichen zwischen Wörtern, sodass die Anweisung normal im Arbeitsblatt erscheint

Aufgrund der Operationsreihenfolgelogik von Excel-Formeln ruft die Formel die Funktion SUBSTITUTE() auf und weist sie an, jedes Vorkommen von CHAR(160) – dem geschützten Leerzeichen – durch ein Standard-Leerzeichen, CHAR, zu ersetzen (32), enth alten in Zelle A1. Dann entfernt die Funktion TRIM() die Standard-Leerzeichen aus der ersetzten Zeichenkette.

Überlegungen

Wenn TRIM() die Arbeit nicht erledigen kann, haben Sie möglicherweise andere Probleme als geschützte Leerzeichen, insbesondere wenn Sie mit in HTML gerendertem Originalquellmaterial arbeiten. Wenn Sie das Material in Excel einfügen, fügen Sie es als einfachen Text ein, um die Hintergrundformatierung aus der Zeichenfolge zu entfernen und spezielle Formatierungen wie Zeichen zu entfernen, die als Weiß-auf-Weiß gerendert werden – was wie ein Leerzeichen aussieht, aber keines ist. Suchen Sie auch nach eingebetteten Tabs, die mit der gleichen Formel wie oben ersetzt werden können, aber den ASCII-Code 160 durch 9 ersetzen.

SUBSTITUTE() ist nützlich, um jeden ASCII-Code durch jeden anderen zu ersetzen.

Empfohlen: