Zahlen aus Text in Excel extrahieren: 3 effiziente Methoden (Power Query, Formeln, VBA)
Dieses Tutorial zeigt dir drei effiziente Wege, um Zahlen aus einer Textzeichenfolge in Excel zu extrahieren – von der modernen Power-Query-Lösung bis hin zu klassischen VBA-Funktionen.
Methode 1: Power Query (Die professionelle Lösung)
Power Query ist ideal, wenn du große Datenmengen bereinigen musst und dies regelmäßig wiederholst.
Schritte:
- Markiere deine Daten und gehe auf den Reiter Daten > Aus Tabelle/Bereich.
- Im Power Query Editor klicke auf den Reiter Spalte hinzufügen > Benutzerdefinierte Spalte.
- Gib der Spalte einen Namen (z.B. "Nur_Zahlen").
- Gib folgende Formel ein (Power Query ist "case-sensitive"!):
Text.Select([Spaltenname], {"0".."9"})(Ersetze
[Spaltenname]durch den Namen deiner Ursprungsspalte). - Bestätige mit OK.
- Klicke auf Datei > Schließen & Laden, um das Ergebnis zurück nach Excel zu bringen.
Vorteil: Sehr schnell bei großen Datenmengen und einfach per Rechtsklick aktualisierbar.
Methode 2: VBA (Die benutzerdefinierte Funktion)
Wenn du eine einfache Formel möchtest, die wie =SUMME() funktioniert, ist ein VBA-Makro die beste Wahl.
Schritte:
- Drücke
ALT+F11, um den VBA-Editor zu öffnen. - Gehe auf Einfügen > Modul.
- Kopiere den folgenden Code in das Fenster:
Function NurZahlen(Text As String) As String Dim i As Integer Dim Ergebnis As String For i = 1 To Len(Text) If Mid(Text, i, 1) Like "[0-9]" Then Ergebnis = Ergebnis & Mid(Text, i, 1) End If Next i NurZahlen = Ergebnis End Function - Schließe den VBA-Editor.
- In Excel kannst du nun die Formel so nutzen:
=NurZahlen(A2)
Vorteil: Einmal eingerichtet, funktioniert sie wie eine normale Excel-Funktion in deiner Arbeitsmappe.
Methode 3: Die moderne Matrix-Formel (Microsoft 365)
Wenn du Office 365 oder Excel 2021 nutzt, kannst du dies mit einer einzigen Formel ohne Makros lösen.
Die Formel:
=TEXTKETTE(WENNFEHLER(TEIL(A2;SEQUENZ(LÄNGE(A2));1)*1;""))
Erklärung:
SEQUENZ(LÄNGE(A2)): Erstellt eine Liste von Zahlen (1, 2, 3...), die so lang ist wie der Text.TEIL(A2; ... ;1): Zerlegt den Text in einzelne Zeichen.*1: Versucht, jedes Zeichen mit 1 zu multiplizieren. Buchstaben ergeben einen Fehler (#WERT!), Zahlen bleiben Zahlen.WENNFEHLER(... ;""): Entfernt die Fehlermeldungen (die Buchstaben).TEXTKETTE(...): Fügt die übrig gebliebenen Zahlen wieder zusammen.
Vorteil: Keine Makros nötig (keine .xlsm Datei erforderlich) und sofortiges Ergebnis.
Zusammenfassung: Welche Methode soll ich wählen?
| Methode | Beste Verwendung für... | Schwierigkeit |
|---|---|---|
| Power Query | Große Datenmengen / Importe aus CSV/Datenbanken. | Mittel |
| VBA | Wiederkehrende Aufgaben in einer spezifischen Datei. | Mittel |
| Formel | Schnelle Lösung zwischendurch (nur M365/Excel 2021). | Einfach |
Pro-Tipp: Wenn du Dezimalzahlen extrahieren willst (z.B. "Preis 12,50 €"), muss die Power-Query-Formel oder der VBA-Code angepasst werden, um auch das Komma oder den Punkt zuzulassen.