Zahlen aus Text in Excel extrahieren: 3 effiziente Methoden (Power Query, Formeln, VBA)

Melden

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:

  1. Markiere deine Daten und gehe auf den Reiter Daten > Aus Tabelle/Bereich.
  2. Im Power Query Editor klicke auf den Reiter Spalte hinzufügen > Benutzerdefinierte Spalte.
  3. Gib der Spalte einen Namen (z.B. "Nur_Zahlen").
  4. Gib folgende Formel ein (Power Query ist "case-sensitive"!):
    Text.Select([Spaltenname], {"0".."9"})

    (Ersetze [Spaltenname] durch den Namen deiner Ursprungsspalte).

  5. Bestätige mit OK.
  6. 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:

  1. Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Gehe auf Einfügen > Modul.
  3. 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
  4. Schließe den VBA-Editor.
  5. 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:

  1. SEQUENZ(LÄNGE(A2)): Erstellt eine Liste von Zahlen (1, 2, 3...), die so lang ist wie der Text.
  2. TEIL(A2; ... ;1): Zerlegt den Text in einzelne Zeichen.
  3. *1: Versucht, jedes Zeichen mit 1 zu multiplizieren. Buchstaben ergeben einen Fehler (#WERT!), Zahlen bleiben Zahlen.
  4. WENNFEHLER(... ;""): Entfernt die Fehlermeldungen (die Buchstaben).
  5. 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.

0