Excel-Formel: Nicht numerische Zeichen entfernen -

Generische Formel

(=TEXTJOIN("",TRUE,IFERROR(MID(A1,ROW(INDIRECT("1:100")),1)+0,"")))

Zusammenfassung

Um nicht numerische Zeichen aus einer Textzeichenfolge zu entfernen, können Sie diese experimentelle Formel basierend auf der TEXTJOIN-Funktion ausprobieren, einer neuen Funktion in Excel 2019. In dem gezeigten Beispiel lautet die Formel in C5:

(=TEXTJOIN("",TRUE,IFERROR(MID(B5,ROW(INDIRECT("1:100")),1)+0,"")))

Hinweis: Dies ist eine Array-Formel und muss mit Strg + Umschalt + Eingabe eingegeben werden.

Erläuterung

Von innen nach außen wird die MID-Formel verwendet, um den Text in B5 zeichenweise zu extrahieren. Der Schlüssel ist das ROW / INDIRECT-Stück:

ROW(INDIRECT("1:100"))

Das dreht ein Array mit 100 Zahlen wie folgt:

(1,2,3,4,5,6,7,8… .99,100)

Hinweis: 100 steht für die maximal zu verarbeitenden Zeichen. Ändern Sie, um Ihren Daten zu entsprechen.

Dieses Array geht als start_num- Argument in die MID-Funktion . Für num_chars verwenden wir 1.

Die MID-Funktion gibt ein Array wie folgt zurück:

("1"; "0"; "0"; ""; "a"; "p"; "p"; "l"; "e"; "s"; ""; ""; ""; ""; "…)

(Zusätzliche Elemente im Array wurden aus Gründen der Lesbarkeit entfernt.)

Zu diesem Array addieren wir Null. Dies ist ein einfacher Trick, der Excel zwingt, Text zu einer Zahl zu zwingen. Numerische Textwerte wie "1", "2", "3", "4" usw. werden konvertiert, während nicht numerische Werte fehlschlagen und einen # VALUE-Fehler auslösen. Wir verwenden die IFERROR-Funktion, um diese Fehler abzufangen und eine leere Zeichenfolge ("") zurückzugeben, während numerische Werte in das Array übertragen werden. Das Ergebnis ist ein Array, das nur Zahlen und leere Zeichenfolgen enthält:

(1; 0; 0; ""; ""; ""; ""; "";….)

Schließlich geht dieses Array-Ergebnis als text1- Argument in die TEXTJOIN-Funktion . Als Trennzeichen verwenden wir eine leere Zeichenfolge ("") und für ignore_empty geben wir TRUE an. TEXTJOIN verkettet dann alle nicht leeren Werte im Array und gibt das Ergebnis zurück.

Hinweis: TEXTJOIN gibt die Zahlen als Text zurück, z. B. "100", "500" usw. Wenn Sie ein echtes numerisches Ergebnis wünschen, fügen Sie Null hinzu oder schließen Sie die gesamte Formel in die VALUE-Funktion ein.

Interessante Beiträge...