Selbst wenn Excel viele, wahrscheinlich Hunderte von integrierten Funktionen wie SUMME, SVERWEIS, LINKS usw. aufweist, werden Sie oft feststellen, dass Sie eine Funktion benötigen, die nicht vorhanden ist, wenn Sie Excel für kompliziertere Aufgaben verwenden. Mach dir keine Sorgen, du bist nicht verloren, alles, was du brauchst, ist die Funktion selbst zu erstellen.

Schritte

  1. 1 Erstellen Sie eine neue Arbeitsmappe oder öffnen Sie die Arbeitsmappe, in der Sie die neu erstellte benutzerdefinierte Funktion (User Defined Function, UDF) verwenden möchten.
  2. 2 Öffnen Sie den Visual Basic-Editor Das ist in Microsoft Excel integriert, indem Sie auf Extras-> Makro-> Visual Basic-Editor (oder drücken Sie Alt + F11).
  3. 3 Fügen Sie ein neues Modul hinzu zu Ihrer Arbeitsmappe, indem Sie auf die Schaltfläche klicken. Sie können die benutzerdefinierte Funktion im Arbeitsblatt selbst erstellen, ohne ein neues Modul hinzuzufügen. Dadurch können Sie die Funktion jedoch nicht in anderen Arbeitsblättern derselben Arbeitsmappe verwenden.
  4. 4 Erstellen Sie den "Header" oder "Prototyp" Ihrer Funktion. Es muss folgende Struktur haben:
    öffentliche Funktion "Der Name Ihrer Funktion" (param1 Als type1, param2 als type2) Als return Type Es kann beliebig viele Parameter enthalten und der Typ kann aus einem der grundlegenden Datentypen oder Objekttypen von Excel als Bereich bestehen. Sie können sich Parameter als "Operanden" vorstellen, auf die Ihre Funktion reagiert. Wenn Sie beispielsweise SIN (45) sagen, um die Sinus von 45 Grad zu berechnen, wird 45 als ein Parameter genommen. Dann wird der Code Ihrer Funktion diesen Wert verwenden, um etwas anderes zu berechnen und das Ergebnis darzustellen.
  5. 5 Fügen Sie den Code der Funktion hinzu und stellen Sie sicher, dass Sie 1) die von den Parametern bereitgestellten Werte verwenden; 2) Ordne das Ergebnis dem Namen der Funktion zu; und 3) schließe die Funktion mit "Endfunktion". Das Programmieren in VBA oder in einer anderen Sprache kann einige Zeit und ein ausführliches Tutorial erfordern. Funktionen haben jedoch normalerweise kleine Codeblöcke und verwenden nur sehr wenige Merkmale einer Sprache. Die nützlichsten Elemente der VBA-Sprache sind:
    1. Das Ob Block, mit dem Sie einen Teil des Codes nur ausführen können, wenn eine Bedingung erfüllt ist. Beispielsweise:

      Public Function Kurs Ergebnis (Note As Integer) als String
      Wenn Note> = 5 Dann
      CourseResult = "Genehmigt"
      Sonst
      CourseResult = "Abgelehnt"
      Ende If
      Ende Funktion

      Beachten Sie die Elemente in einem Ob Codeblock: WENN Bedingung DANN Code ELSE Code END IF. Das Sonst Schlüsselwort zusammen mit dem zweiten Teil des Codes sind optional.
    2. Das Machen Block, der einen Teil des Codes ausführt Während oder Bis eine Bedingung ist erfüllt. Beispielsweise:
      Öffentliche Funktion IsPrime (Wert als Ganzzahl) als boolesch
      Dim i Als Ganzzahl
      i = 2
      IsPrime = Wahr
      Machen
      Wenn Wert / i = Int (Wert / i) Dann
      IsPrime = Falsch
      Ende If
      i = i + 1
      Schleife, während ich <Wert und IsPrime = True
      Ende Funktion

      Beachten Sie die Elemente erneut: SCHLEIFE LOOP WÄHREND / BIS ZU BEDINGEN. Beachten Sie auch die zweite Zeile, in der eine Variable "deklariert" ist. Sie können Ihrem Code Variablen hinzufügen, um sie später zu verwenden. Variablen fungieren als temporäre Werte innerhalb des Codes. Beachten Sie schließlich die Deklaration der Funktion als BOOLEAN, bei der es sich um einen Datentyp handelt, der nur die Werte TRUE und FALSE zulässt. Diese Methode zu bestimmen, ob eine Zahl prim ist, ist bei weitem nicht optimal, aber ich habe es so gelassen, um den Code leichter lesbar zu machen.
    3. Das Zum Block, die einen Teil des Codes eine bestimmte Anzahl von Malen ausführt. Beispielsweise:
      Public Function Factorial (Wert als Integer) als Long
      Dim Ergebnis als lang
      Dim i Als Ganzzahl
      Wenn Wert = 0 Dann
      Ergebnis = 1
      ElseIf Wert = 1 Dann
      Ergebnis = 1
      Sonst
      Ergebnis = 1
      Für i = 1 Wert
      Ergebnis = Ergebnis * i
      Nächster
      Ende If
      Faktor = Ergebnis
      Ende Funktion

      Beachten Sie die Elemente erneut:FOR variable = Untergrenze TO Obergrenze code NEXT. Beachten Sie auch die hinzugefügt ElseIf Element in der Ob Anweisung, mit der Sie dem auszuführenden Code weitere Optionen hinzufügen können. Beachten Sie schließlich die Deklaration der Funktion und die Variable "result" als Lange. Das Lange Datentyp erlaubt Werte viel größer als Ganze Zahl.
      Im Folgenden sehen Sie den Code für eine Funktion, die kleine Zahlen in Wörter umwandelt.
  6. 6 Geh zurück zu deinem Arbeitsbuch und verwenden Sie die Funktion, indem Sie den Inhalt einer Zelle mit einem starten gleich Zeichen gefolgt von dem Namen Ihrer Funktion. An den Namen der Funktion eine öffnende Klammer anhängen, die Parameter getrennt durch Kommas und eine abschließende Klammer. Beispielsweise:
    = ZahlToLetter (A4)
    Sie können Ihre benutzerdefinierte Formel auch verwenden, indem Sie in der Benutzerdefinierte Kategorie im Assistenten Formel einfügen. Klicke einfach auf die Fx Schaltfläche links neben der Formelleiste. Die Parameter können drei Arten sein:
    1. Konstante Werte, die direkt in die Zellenformel eingegeben werden. Strings müssen in diesem Fall zitiert werden.
    2. Zellreferenzen wie B6 oder Bereich Referenzen wie A1: C3 (Der Parameter muss von der sein Angebot Datentyp)
    3. Andere Funktionen, die in Ihrer Funktion verschachtelt sind (Ihre Funktion kann auch in anderen Funktionen verschachtelt sein). I.e .: = Fakultät (MAX (D6: D8))
  7. 7 Überprüfen Sie, ob das Ergebnis OK ist nachdem Sie die Funktion mehrmals verwendet haben, um sicherzustellen, dass sie verschiedene Parameterwerte korrekt verarbeitet: