Erstellen einer benutzerdefinierten Funktion in Google Sheets mit Apps Script

Wussten Sie, dass Sie Google Sheets mit Ihren eigenen Formeln erweitern können? Mit Google Apps Script können Sie benutzerdefinierte Funktionen erstellen, die genauso funktionieren wie integrierte Funktionen wie SUMME() oder SVERWEIS(). In diesem Beispiel erstellen wir eine einfache Rabattfunktion, um Verkaufspreise zu berechnen. Sie können die Schritte anpassen, um Funktionen zu erstellen, die auf Ihre Bedürfnisse zugeschnitten sind.

Schritt 1: Öffnen Sie den Apps-Skript-Editor

Klicken Sie in Ihrem Google Sheet auf Erweiterungen > Apps Script. Dadurch wird der integrierte Code-Editor geöffnet, der mit Ihrem Blatt verbunden ist.

 

Schritt 2: Hinzufügen des benutzerdefinierten Funktionscodes

Ersetzen Sie im Editor den Inhalt der Code.gs Datei durch dieses Skript:

/**
 * Berechnet den Verkaufspreis nach Rabatt.
 *
 * @param {Anzahl} Geben Sie den ursprünglichen Preis ein.
 * @param {Zahl} Rabatt Der Rabatt als Dezimalzahl (z. B. 0,2 für 20 %).
 * @return Formatierter Verkaufspreis in USD.
 * @customfunction
 */
Funktion salePrice(Eingabe,  Rabatt) {
   let price = input - (input * Rabatt);
  return '$${Preis.toFixed(2)}';
}

Diese Funktion benötigt zwei Argumente:

  • Eingabe – der ursprüngliche Preis
  • Rabatt – der Rabattprozentsatz (als Dezimalzahl geschrieben, z. B. 0,2 für 20 %)

Schritt 3: Verwenden Sie die Funktion in Google Sheets

  1. Speichern Sie das Skript und kehren Sie zu Ihrer Tabelle zurück.
  2. Geben Sie in einer Zelle =salePrice ein.
  3. In Google Tabellen wird ein Vorschlagsfeld mit dem Namen und der Beschreibung Ihrer Funktion angezeigt.
  4. Geben Sie die erforderlichen Werte ein (z. B. =Verkaufspreis(100,0,2)).
  5. Nach einer kurzen Ladezeit wird das Ergebnis angezeigt – in diesem Fall 80,00 $.

 

Was gibt es bei benutzerdefinierten Funktionen zu beachten?

Um sicherzustellen, dass Ihre Funktionen reibungslos funktionieren, beachten Sie diese Tipps:

Regeln für die Benennung:

    • Verwenden Sie keine Namen, die mit integrierten Formeln (z. B. SUMME) in Konflikt stehen.
    • Vermeiden Sie es, Namen mit _ zu beenden (reserviert für private Funktionen).

Unterstützung für die automatische Vervollständigung:

    • Fügen Sie das @customfunction-Tag im JSDoc-Kommentar hinzu, damit in Sheets Hinweise angezeigt werden und die automatische Vervollständigung angezeigt wird.

Handhabungsbereiche:

    • Wenn Ihre Funktion einen Bereich erhält, wird sie als 2D-Array angezeigt. Durchlaufen Sie es in einer Schleife, oder geben Sie ein 2D-Array zurück, um mehrere Zellen zu füllen.

Arten von Resultat:

    • Wenn Sie ein 2D-Array zurückgeben, werden benachbarte Zellen gefüllt, achten Sie also darauf, die Daten nicht zu überschreiben.

Leistung:

    • Funktionen müssen innerhalb von 30 Sekunden abgeschlossen werden, andernfalls schlagen sie fehl.

Einschränkungen:

    • Sie können einige Dienste wie UrlFetchApp verwenden.
    • Sie können jedoch keine Dienste verwenden, die eine Autorisierung erfordern, wie z. B. GmailApp oder SpreadsheetApp.setValue() in einer benutzerdefinierten Funktion.

Zusammenfassung

Glückwunsch! 🎉 Sie haben gerade Ihre eigene benutzerdefinierte Funktion in Google Tabellen mit Apps Script erstellt. Dieses Beispiel zeigte, wie man einen Rabattpreis berechnet, aber die Möglichkeiten sind endlos. Sie können Funktionen erstellen für:

  • Währungsumrechnungen
  • Komplexe mathematische Modelle
  • Tastenkombinationen für die Textformatierung

Mit  den benutzerdefinierten Funktionen von Google Apps Script werden Ihre Tabellenkalkulationen leistungsfähiger und auf Ihre Arbeit zugeschnitten.

 

Benötigen Sie Unterstützung bei Google Sheets?

Wir als exact construct programmieren mit einem Team von rd. 20 Mitarbeitern seit über 10 Jahren Tools. Wir sind ein Nischenanbieter der spezialisiert auf Makros/VBA-Codes sowie generell Microsoft-Produkte ist. Daneben unterstützen wir Unternehmen bei Google Scripts, Google Sheets, etc.
Haben Sie ein Excel-Problem? Benötigen Sie einen Programmierer? Rufen Sie uns unverbindlich an +41 52 511 05 25 oder kontaktieren Sie uns via Kontaktformular.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen