Direkt zum Inhalt
HeimAnleitungenTabellenkalkulationen

Excel Regex Tutorial: Mustervergleiche mit regulären Ausdrücken beherrschen

Entdecke die Möglichkeiten von regulären Ausdrücken (RegEx) für den Mustervergleich in Excel. In unserem umfassenden Leitfaden erfährst du, wie du Daten standardisieren, Schlüsselwörter extrahieren und erweiterte Textmanipulationen durchführen kannst.
Aktualisierte 11. Sept. 2024  · 12 Min. lesen

Musstest du schon einmal eine Liste mit Telefonnummern in verschiedenen Formaten standardisieren? Was ist mit dem Extrahieren von Schlüsselwörtern aus Freiform-Textfeldern? Wir stellen vor: RegEx! RegEx, kurz für Reguläre Ausdrücke, sind mächtige und flexible Muster, die verwendet werden, um Zeichenfolgen innerhalb von Textblöcken abzugleichen. In diesem Artikel sprechen wir über die gängige Regex-Syntax, wie du Regex in Excel aktivierst und schließlich, wie du sie effektiv einsetzt.

Was sind reguläre Ausdrücke?

Reguläre Ausdrücke, oft abgekürzt als "regex" oder "regexp", sind eine Möglichkeit, ein Suchmuster zu definieren, das für verschiedene Textmanipulationsaufgaben wie das Suchen, Parsen und/oder Ersetzen von Text verwendet werden kann. Reguläre Ausdrücke werden in der Programmierung, in Texteditoren und anderer Software häufig für Aufgaben verwendet, die einen Musterabgleich erfordern. Die Regex-Variante bzw. Syntax in Excel basiert auf der .NET-Engine für reguläre Ausdrücke.

Übliche reguläre Ausdrücke

Reguläre Ausdrücke können anhand der Merkmale, die sie definieren, gruppiert werden. Im Folgenden findest du häufige reguläre Ausdrücke, denen du begegnen wirst.

Wörtliche Zeichen

Reguläre Ausdrücke können Zeichen enthalten, die mit sich selbst übereinstimmen. Zum Beispiel würde die Regex "hello" genau auf die Zeichenfolge "hello" passen.

Metacharaktere

Reguläre Ausdrücke enthalten auch Metazeichen, die besondere Bedeutungen haben. Einige gängige Metazeichen sind:

  • . (dot): Passt auf jedes einzelne Zeichen außer einem Zeilenumbruch.
  • *: Passt auf null oder mehr Vorkommen des vorangehenden Zeichens oder der vorangehenden Gruppe.
  • +: Passt auf ein oder mehrere Vorkommen des vorhergehenden Zeichens oder der vorhergehenden Gruppe.
  • ?: Passt auf null oder ein Vorkommen des vorangehenden Zeichens oder der vorangehenden Gruppe.
  • | (Pfeife): Wirkt wie ein logisches ODER und ermöglicht es dir, Alternativen anzugeben.
  • () (in Klammern): Gruppiert Zeichen oder Teilmuster zusammen.
  • [] (eckige Klammern): Definiert eine Zeichenklasse, die es dir ermöglicht, ein beliebiges Zeichen aus einer Reihe von Zeichen zu finden.
  • ^ (Caret): Passt auf den Anfang einer Zeile oder Zeichenkette.
  • $: Passt auf das Ende einer Zeile oder Zeichenkette.
  • \ (Backslash): Entflieht einem Metacharakter, um ihn wörtlich zu nehmen.

Charakterklassen

Zeichenklassen in regulären Ausdrücken (regex) sind spezielle Notationen, mit denen du jedes beliebige Zeichen aus einer Menge von Zeichen zuordnen kannst. Sie werden verwendet, um Regex-Muster zu vereinfachen, indem sie eine prägnante Möglichkeit bieten, eine Gruppe von Zeichen anzugeben, die abgeglichen werden sollen. Du kannst eckige Klammern [...] verwenden, um Zeichenklassen zu definieren. Zum Beispiel passt [aeiou] auf jeden Vokal. [A-Z] passt auf jeden Großbuchstaben.

Quantoren

Quantifizierer sind Konstrukte, die angeben, wie oft ein bestimmtes Muster, Zeichen oder eine Zeichenklasse in der Zielzeichenkette vorkommen muss, um eine Übereinstimmung zu erzielen. Mit anderen Worten: Sie geben an, wie oft ein Zeichen oder eine Gruppe wiederholt werden soll. Zum Beispiel passt a{3} auf genau drei aufeinanderfolgende "a"-Zeichen. ab? passt entweder auf "a" oder "ab".

Anker

Anker sind Sonderzeichen, die mit keinem Zeichen in der Zeichenkette übereinstimmen. Stattdessen passen sie auf eine Position vor, nach oder zwischen den Zeichen. Anker werden verwendet, um sicherzustellen, dass das Regex-Muster an einer bestimmten Stelle im Text vorkommt. ^ verankert das Muster am Anfang der Zeichenkette und $ verankert es zum Beispiel am Ende.

Modifikator

Modifikatoren sind Zeichen, die verändern, wie die Regex-Engine das Muster interpretiert. Sie werden verwendet, um das Verhalten der Regex-Übereinstimmung anzupassen, was mehr Flexibilität und Kontrolle ermöglicht. Modifikatoren können verschiedene Aspekte des Abgleichs beeinflussen, z. B. die Groß- und Kleinschreibung, den mehrzeiligen Abgleich und die Interpretation von Sonderzeichen. Zum Beispiel macht i das Muster unabhängig von der Groß- und Kleinschreibung und g macht es global, sodass es auf alle Vorkommen in der Eingabe passt.

Anwendungen von regulären Ausdrücken in Excel

RegEx sind in verschiedenen Szenarien nützlich:

Datenvalidierung

In den meisten Fällen musst du die Daten überprüfen, um sicherzustellen, dass es sich um die richtigen Informationen handelt. Ein klassisches Beispiel sind Telefonnummern. In den USA ist das Standardformat (###) ###-####. Sie können aber auch als solche formatiert werden: ###-###-####, (+#) ### ### ####, ##########, usw. Mit RegEx kannst du feststellen, dass es sich bei den Informationen in der Datei tatsächlich um Telefonnummern handelt. Der folgende reguläre Ausdruck liefert eine Übereinstimmung bei 10-stelligen Telefonnummern mit einer optionalen Ländervorwahl zwischen 1 und 2 Ziffern: (\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$.

Textextraktion

Lange Sätze sind mit einer herkömmlichen Tabellenkalkulationssoftware oft schwer zu analysieren. Um bestimmte Schlüsselwörter zu extrahieren, kannst du RegEx verwenden. Um zum Beispiel Buchtitel, die in einfache Anführungszeichen eingeschlossen sind, aus einem Interviewtranskript zu extrahieren, können wir den folgenden regulären Ausdruck verwenden: '(.*?)'.

Textmanipulation

Du kannst nicht nur Informationen extrahieren, sondern sie auch umwandeln und für Berichtszwecke standardisieren. Nehmen wir an, wir sind daran interessiert, die ersten fünf Ziffern der US-Postleitzahlen zu extrahieren. Wir können alle Instanzen eines Feldes, das Postleitzahlen enthält, mit dem regulären Ausdruck ^\d{5} ersetzen.

Tokenisierung

Bei der Tokenisierung wird der Text in einzelne Token oder Wörter zerlegt. Regex-Muster können verwendet werden, um Regeln für die Tokenisierung von Text zu definieren. Du kannst zum Beispiel \s+ verwenden, um Text an Leerzeichen zu trennen, oder \W+, um Text an Nicht-Wortzeichen wie Satzzeichen zu trennen.

Informationen zu weiteren Mustern findest du in unserem Spickzettel zu regulären Ausdrücken in Python.

Excel-Grundlagen lernen

Erwerbe die Fähigkeit, Excel effektiv zu nutzen - keine Erfahrung erforderlich.
Kostenloses Lernen Beginnen

RegEx in Excel verwenden

Excel unterstützt RegEx zwar nicht von Haus aus, aber du kannst es aktivieren, indem du eine eigene Definition mit einem VBA-Skript (für Windows) schreibst oder Add-ins (für Mac) aktivierst. Wir zeigen dir, wie du eine Regex-Funktion aktivierst, um Text aus einer Spalte in Excel zu extrahieren.

Für Windows

Um loszulegen, drücke Alt+F11, um den Visual Basic Editor zu öffnen. Du kannst auch über Extras > Makro > Visual Basic Editor dorthin navigieren. Dann klickst du auf Einfügen > Modul.

Füge die folgende Funktion in das Modul ein:

Public Function CustomRegExpExtract(inputText As String, regexPattern As String, Optional instanceNumber As Integer = 0, Optional matchCase As Boolean = True) As Variant
    Dim textMatches() As String
    Dim matchesIndex As Integer
    Dim regex As Object
    Dim matches As Object
    
    On Error GoTo ErrHandler
    
    CustomRegExpExtract = ""
    
    ' Create a regular expression object
    Set regex = CreateObject("VBScript.RegExp")
    regex.Pattern = regexPattern
    regex.Global = True
    regex.MultiLine = True
    
    ' Set case sensitivity
    If matchCase Then
        regex.IgnoreCase = False
    Else
        regex.IgnoreCase = True
    End If
    
    ' Execute the regex pattern on the input text
    Set matches = regex.Execute(inputText)
    
    If matches.Count > 0 Then
        If instanceNumber = 0 Then
            ' If instanceNumber is 0, return all matches in an array
            ReDim textMatches(matches.Count - 1, 0)
            For matchesIndex = 0 To matches.Count - 1
                textMatches(matchesIndex, 0) = matches.Item(matchesIndex)
            Next matchesIndex
            CustomRegExpExtract = textMatches
        Else
            ' If instanceNumber is specified, return the match at that instance
            CustomRegExpExtract = matches.Item(instanceNumber - 1)
        End If
    End If
    
    Exit Function

ErrHandler:
    ' Handle errors by returning an error value
    CustomRegExpExtract = CVErr(xlErrValue)
End Function

' Modified from an original script by Patrick Matthews

Speichere die Funktion und navigiere zurück zum Tabellenblatt. Jetzt speicherst du die Arbeitsmappe als makroaktivierte Arbeitsmappe mit der Dateierweiterung .xlsm.

Verwendung der Funktion in einem Excel-Arbeitsblatt

Wenn du Makros in deiner Excel-Arbeitsmappe aktivierst, kannst du die Funktion CustomRegExpExtract wie eine reguläre Funktion in Excel verwenden, um komplexe Zeichenfolgenmuster zu analysieren:

  • inputText ist die ursprüngliche Zeichenkette, die geparst werden soll;
  • regexPattern ist das Muster des regulären Ausdrucks, das zum Parsen des inputTextes verwendet wird;
  • instanceNumber gibt standardmäßig alle Instanzen des Musters zurück, aber es kann eine ganze Zahl eingegeben werden, um die Anzahl der Instanzen festzulegen, die zurückgegeben werden sollen; und
  • matchCase gibt an, ob die Groß- und Kleinschreibung beim Abgleich berücksichtigt wird (TRUE oder weggelassen) oder ob sie ignoriert wird (FALSE).

Nehmen wir an, wir möchten Telefonnummern aus einem Feld extrahieren. Wir können das Regex-Muster in eine beliebige Zelle eingeben (im folgenden Fall steht es in Zelle A2). In Zelle A6 steht dein Beispiel für eine Freiform-Zeichenkette: "Sophia, 1111111111". In Zelle B6 geben wir =CustomRegExpExtract(A6,$A$2) ein. Die Funktion extrahiert die Telefonnummer, indem sie die Zeichenkette mit dem Regex-Muster in Zelle A2 vergleicht, und gibt wie erwartet "1111111111" zurück.

image1.png

Für Mac OS

Leider erkennt Mac OS die MS VBScript Regular Expressions 5.5 Bibliothek nicht. Um komplexe Musterabgleiche in Excel auf einem Mac zu ermöglichen, gibt es zwei Möglichkeiten: die Verwendung von erweiterten Filtern oder die Installation von Paketen.

image2.png

Erweiterte Filter verwenden

Erweiterte Filter in Excel helfen dabei, komplexe Datenfilteroperationen auf der Grundlage mehrerer Kriterien durchzuführen. Diese Funktion ist besonders nützlich, wenn du mit großen Datensätzen arbeitest. Hier erfährst du, wie du erweiterte Filter in Excel verwenden kannst:

  • Richte deine Daten ein: Achte darauf, dass deine Daten in einem tabellenartigen Format mit klaren Überschriften vorliegen.
  • Erstelle einen Kriterienbereich: Richte einen separaten Bereich in deinem Arbeitsblatt ein, um die Kriterien für die Filterung festzulegen. Dieser Bereich sollte die gleichen Überschriften haben wie die Spalten, die du filtern willst. Unterhalb dieser Überschriften gibst du die Kriterien für die Filterung an. Du kannst mehrere Kriterien unter der gleichen Überschrift für eine "ODER"-Logik oder in separaten Zeilen für eine "UND"-Logik eingeben.
  • Wähle die Daten aus: Klicke auf eine Zelle in deinem Datensatz oder wähle den gesamten Bereich aus, den du filtern möchtest.
  • Richte den Filter ein: Klicke auf die Registerkarte Daten im Excel-Ribbon und navigiere zu der Option Erweiterter Filter. Klicke in der Gruppe " Sortieren & Filtern" auf " Erweitert". Im Dialogfeld Erweiterter Filter wählst du aus, ob du die Liste an Ort und Stelle filtern oder die Ergebnisse an einen anderen Ort kopieren möchtest. Gib den Listenbereich an (deine Daten). Gib den Kriterienbereich an (in dem du deine Filterbedingungen einrichtest). Klicke auf OK, um den Filter anzuwenden.

Angenommen, du hast einen Datensatz mit den Spalten Name, Alter und Stadt. Du möchtest Personen über 30 Jahren in New York oder Personen in Los Angeles anzeigen lassen. Dein Kriterienkatalog könnte folgendermaßen aussehen:

Name

Alter

Stadt

 

>30

New York

   

Los Angeles

Installieren von Add-ins

  • Kutools für Excel: Kutools ist ein umfassendes Add-in, das viele Funktionen enthält. Eine davon ist die Möglichkeit, Daten mithilfe von Regex zu suchen und zu ersetzen. Es fügt dem Excel-Band eine neue Registerkarte mit einer Vielzahl von Tools hinzu, darunter auch Regex-Funktionen.
  • RegEx Suchen/Ersetzen: Dies ist ein Add-in für Excel, mit dem du Text mit regulären Ausdrücken suchen und ersetzen kannst. Es lässt sich in Excel integrieren und bietet eine erweiterte Suchen/Ersetzen-Funktion als die integrierte Option.
  • PowerGREP: PowerGREP ist zwar kein direktes Excel-Add-in, kann aber mit Excel-Dateien arbeiten. Es ist ein leistungsstarkes Grep-Tool für Windows, das komplexe Regex-Operationen mit Text- und Binärdateien ermöglicht. Es ist eher eine eigenständige Anwendung, kann aber in Verbindung mit Excel für erweiterte Regex-Verarbeitung verwendet werden. Es ist allerdings nicht billig. Eine Einzelplatzlizenz kostet 159 US-Dollar und der Preis steigt auf 5.300 US-Dollar für eine 100-Benutzer-Lizenz.

Einige Add-ins kannst du direkt in Excel über die Registerkarte Einfügen > Add-ins abrufen.

Andere müssen von einer externen Quelle heruntergeladen werden und deren Installationsanweisungen folgen.

Ein paar Überlegungen:

  • Kompatibilität: Stelle sicher, dass das Add-in mit deiner Excel-Version und deinem Betriebssystem kompatibel ist.
  • Sicherheit: Lade nur Add-Ins aus seriösen Quellen herunter und installiere sie.
  • Funktionalität braucht: Überlege dir, welche speziellen Regex-Aufgaben du erledigen musst, und wähle ein Add-in, das diese Anforderungen am besten erfüllt.

Fazit

In den meisten Fällen helfen dir die nativen Funktionen wie FINDEN, SUCHEN und ERSETZEN bei 90 % deiner Textbearbeitungsanforderungen in Excel. Bei den verbleibenden 10 %, die komplexere String-Muster enthalten, kann Regex jedoch eine große Hilfe sein. Wenn du mehr über die Anwendung regulärer Ausdrücke in gängigen Programmiersprachen erfahren möchtest, schau dir unsere Kurse Regular Expressions in Python und Intermediate Regular Expressions in R an.

Um in Sachen Excel auf den neuesten Stand zu kommen, schau dir unseren Excel-Grundlagen-Kurs an, der dir die wichtigsten Fähigkeiten vermittelt, die du brauchst, um das Programm zu beherrschen.

Bringe deine Karriere mit Excel voran

Erwerbe die Fähigkeiten, um Excel optimal zu nutzen - keine Erfahrung erforderlich.

Heute Kostenlos Starten

Photo of Chloe Lubin
Author
Chloe Lubin

Tagsüber Datenanalystin, nachts Geschichtenerzählerin. Ich liebe es, mein Wissen einzusetzen, um die Lücke in der Datenkompetenz zu schließen und Neulingen den Einstieg in das Feld zu erleichtern. Meine Philosophie ist es, jeden Tag zu lernen, und sei es nur für 5 Minuten!

Themen

Beginne deine Excel-Reise noch heute!

Zertifizierung verfügbar

Course

Einführung in Excel

4 hr
46.4K
Beherrsche die Excel-Grundlagen und lerne, dieses Tabellenkalkulationsprogramm zu nutzen, um aussagekräftige Analysen durchzuführen.
See DetailsRight Arrow
Start Course
Mehr anzeigenRight Arrow