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

click fraud protection

Beim Kopieren oder Importieren Textdaten In ein Excel-Arbeitsblatt, enthält die Tabelle gelegentlich zusätzliche Leerzeichen zusätzlich zu dem von Ihnen eingefügten Inhalt. Normalerweise, die Funktion TRIM() allein kann diese unerwünschten Leerzeichen entfernen ob sie zwischen Wörtern oder am Anfang oder Ende einer Textzeichenfolge stehen. In bestimmten Situationen kann TRIM() die Aufgabe jedoch nicht erledigen.

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

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

Nicht brechende und regelmäßige Leerzeichen

Excel-Trimmfunktion
Ted Französisch

Leerzeichen sind Zeichen und jedes Zeichen wird durch seinen ASCII-Codewert referenziert. ASCII steht für die

Amerikanischer Standardcode für den Informationsaustausch — 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 a regulär Platz ist 32.

Die Funktion TRIM() kann nur Leerzeichen entfernen, die einen ASCII-Code von 32 haben.

ASCII-Codeset-Tabelle.
 Wikimedia Commons

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

Entfernen von nicht brechenden Leerzeichen

Entfernen Sie geschützte Leerzeichen aus einer Textzeile, indem Sie die Funktionen TRIM(), SUBSTITUTE() und CHAR() verwenden.

Da die Funktionen SUBSTITUTE() und CHAR() innerhalb der Funktion TRIM() verschachtelt sind, muss die Formel in das Arbeitsblatt eingegeben werden, anstatt die Funktionen zu verwenden. Dialogboxen Zum eingeben des Argumente.

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

So funktioniert die Formel

Jede verschachtelte Funktion führt eine bestimmte Aufgabe aus:

  • Die CHAR-Funktion legt die entsprechenden ASCII-Codes für die beiden unterschiedlichen Leerzeichen in die Formel fest — 160 und 32
  • Die Funktion SUBSTITUTE ersetzt oder ersetzt alle geschützten Leerzeichen zwischen den Wörtern durch normale Leerzeichen
  • Die TRIM-Funktion entfernt die zusätzlichen regelmäßigen Leerzeichen zwischen den Wörtern, sodass die Anweisung normal im Arbeitsblatt angezeigt wird

Angesichts der Logik der Operationsreihenfolge von Excel-Formeln ruft die Formel die Funktion SUBSTITUTE() auf und weist sie an Ersetzen Sie jedes Vorkommen von CHAR(160) – dem geschützten Leerzeichen – durch ein Standard-Leerzeichen, CHAR(32), das in enthalten ist Zelle A1. Dann entfernt die Funktion TRIM() die Standard-Leerzeichen aus der ersetzten Zeichenfolge.

Überlegungen

Wenn TRIM() die Aufgabe 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 reinen 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 sieht aus wie ein Raum, ist es aber nicht. Suchen Sie auch nach eingebetteten Registerkarten, die mit der gleichen Formel wie oben ersetzt werden können, jedoch den ASCII-Code 160 durch 9 ersetzen.

SUBSTITUTE() ist nützlich, um beliebige zu ersetzen ASCII-Code mit jedem anderen.