Gilt für
Excel für Microsoft 365 Excel 2019 Excel 2016 Excel 2013 Excel 2010

Eine benutzerdefinierte Funktion verwendet die Formelsprache M, akzeptiert einen Satz von Eingabewerten und gibt dann einen einzelnen Ausgabewert zurück. Wenn Sie über Logik verfügen, die Sie mehrmals wiederverwenden oder denselben Satz von Transformationen auf eine andere Abfrage oder einen anderen Wert anwenden möchten, sollten Sie eine benutzerdefinierte Funktion erstellen und dann die Funktion aufrufen, wo und wann Sie sie benötigen. Es gibt mehrere Möglichkeiten, eine benutzerdefinierte Funktion zu erstellen: 

Im Folgenden finden Sie ein einfaches Beispiel für eine benutzerdefinierte Funktion, die einer langjährigen Programmiertradition folgt.

  1. So erstellen Sie eine leere Abfrage:Excel    Select Data > Get Data > From Other Sources > Leere Abfrage abrufen.Power Query    Klicken Sie mit der rechten Maustaste auf eine leere Stelle im Bereich Abfragen auf der linken Seite, und wählen Sie dann Neue Abfrage > Andere Quellen > Leere Abfrage aus.

  2. Doppelklicken Sie im Bereich Abfragen auf der linken Seite auf den Namen, und benennen Sie die neue leere Abfrage in "HelloWorld" um.

  3. Wählen Sie die neue Abfrage und dann Start > Erweiterter Editor aus.

  4. Ersetzen Sie den Vorlagenstartcode durch den folgenden Code:

    let      HelloWorld = () => ("Hello World") in      HelloWorld

  5. Wählen Sie Fertig aus.

  6. Sie haben die Abfrage "HelloWorld" in eine benutzerdefinierte Funktion geändert. Beachten Sie, dass das Funktionssymbol links Symbol 'Funktion' .

  7. Um die Funktion aufzurufen, wählen Sie sie aus, und wählen Sie dann In Datenvorschau aufrufen aus.Aufrufen der benutzerdefinierten Funktion HelloWorld

  8. Die Ergebnisse der Funktion werden in der Datenvorschau angezeigt und dem Bereich Abfragen als Abfrage mit dem Standardnamen Aufgerufene Funktion hinzugefügt. Möglicherweise möchten Sie es in einen aussagekräftigeren Namen umbenennen, z. B. "HelloWorldResult".

  9. Wählen Sie diese Abfrage aus, und wählen Sie dann Start > Schließen & Laden aus, um die Ergebnisse in einem Arbeitsblatt anzuzeigen.

Ergebnisse 

Ergebnisse von HelloWorld in einem Arbeitsblatt

Das folgende Beispiel zeigt, wie Sie einen Parameter an eine benutzerdefinierte Funktion übergeben, um eine Dezimalzahl in hexadezimal zu konvertieren.

  1. So erstellen Sie eine leere Abfrage:Excel    Select Data > Get Data > From Other Sources > Leere Abfrage abrufen.Power Query    Klicken Sie mit der rechten Maustaste auf eine leere Stelle im Bereich Abfragen auf der linken Seite, und wählen Sie dann Neue Abfrage > Andere Quellen > Leere Abfrage aus.

  2. Benennen Sie im Bereich Abfragen auf der linken Seite die neue leere Abfrage in "MyHex" um.

  3. Wählen Sie die neue Abfrage und dann Start > Erweiterter Editor aus.

  4. Ersetzen Sie den Vorlagenstartcode durch den folgenden Code:

    let      MyHex = (parameter1) => Number.ToText(parameter1,"X") in      MyHex

  5. Wählen Sie Fertig aus.

  6. Sie haben die Abfrage "MyHex" in eine benutzerdefinierte Funktion geändert. Beachten Sie, dass das Funktionssymbol links Symbol 'Funktion' .

  7. Um die Funktion aufzurufen, wählen Sie sie aus, geben Sie dann in der Datenvorschau eine Zahl in das Feld parameter1 ein, und wählen Sie Aufrufen aus.

    Aufrufen der benutzerdefinierten Funktion MyHex

  8. Die Ergebnisse der Funktion werden in der Datenvorschau angezeigt und dem Bereich Abfragen als Abfrage mit dem Standardnamen Aufgerufene Funktion hinzugefügt. Sie können es in einen aussagekräftigeren Namen umbenennen, z. B. "MyHexResult".

  9. Wählen Sie diese Abfrage aus, und wählen Sie dann Start > Schließen & Laden aus, um die Ergebnisse in einem Arbeitsblatt anzuzeigen.

Ergebnisse 

Ergebnis der MyHex-Funktion in einem Arbeitsblatt

Wenn Sie eine Funktion mit mindestens einem Parameter erstellt haben, können Sie sie als benutzerdefinierte Funktion aufrufen, um eine neue Spalte und einen neuen Wert für jede Zeile in einer Tabelle zu erstellen.

  1. Suchen Sie zum Öffnen einer Abfrage, die zuvor aus dem Power Query-Editor geladen wurde, wählen Sie eine Zelle in den Daten aus, und wählen Sie dann Abfrage > Bearbeiten aus. Weitere Informationen finden Sie unter Erstellen, Bearbeiten und Laden einer Abfrage in Excel (Power Query).Anmerkung    In diesem Beispiel benötigt Ihre Abfrage mindestens eine Spalte des Datentyps Ganze Zahl .

  2. Erstellen Sie die benutzerdefinierte Funktion "MyHex", wie im Abschnitt Erstellen und Aufrufen einer benutzerdefinierten Funktion mit einem Parameter mit dem Erweiterter Editor erläutert.

  3. Wählen Sie in der Abfrage Spalte hinzufügen > Benutzerdefinierte Funktion aufrufen aus. Das Dialogfeld Benutzerdefinierte Funktion aufrufen wird angezeigt.

  4. Geben Sie im Feld Neuer Spaltenname den neuen Spaltennamen ein, z. B. "HexConvert".

  5. Wählen Sie in der Dropdownliste Funktionsabfrage den Namen einer vordefinierten benutzerdefinierten Funktion aus. Wählen Sie in diesem Beispiel "MyHex" aus.

  6. Da die benutzerdefinierte Funktion auf einen Parameter verweist, wird der Parameter jetzt angezeigt.

  7. Wählen Sie eine Spalte des Datentyps Ganze Zahl als Parameter für die Funktion aus.Das Dialogfeld Benutzerdefinierte Funktion aufrufen

  8. Wählen Sie OK aus.

Result

Es wird eine neue Spalte erstellt, die den Hexadezimalwert der Spalte Ganze Zahl anzeigt, die Sie als Parameter eingegeben haben.

Die neue MyHex-Spalte mit Werten in einem Arbeitsblatt

Siehe auch

Hilfe zu Power Query für Excel

Erstellen von Power Query-Formeln in Excel

Erstellen einer Parameterabfrage

Abfragen verwalten

Grundlegendes zu Power Query M-Funktionen (docs.com)

Verwenden von benutzerdefinierten Funktionen (docs.com)

Benötigen Sie weitere Hilfe?

Möchten Sie weitere Optionen?

Erkunden Sie die Abonnementvorteile, durchsuchen Sie Trainingskurse, erfahren Sie, wie Sie Ihr Gerät schützen und vieles mehr.