Programmierstufe: Anfänger
Dauer: 5 Minuten
Projekttyp: Benutzerdefinierte Funktion
Zielsetzungen
- Verstehen Sie, was die Lösung leisten kann.
- Was die Apps Script-Dienste innerhalb der Lösung leisten
- Richten Sie das Skript ein.
- Führen Sie das Skript aus.
Informationen zu dieser Lösung
Wenn Sie ähnlich strukturierte Daten auf mehreren Tabellenblättern einer Tabelle haben, z. B. Kundensupportmesswerte für Teammitglieder, können Sie diese benutzerdefinierte Funktion verwenden, um eine Zusammenfassung der einzelnen Tabellenblätter zu erstellen. Diese Lösung konzentriert sich auf Kundensupport-Tickets, Sie können sie jedoch an Ihre Bedürfnisse anpassen.
Funktionsweise
Die benutzerdefinierte Funktion getSheetsData()
fasst die Daten aus jedem Tabellenblatt in der Tabelle anhand der Spalte Status eines Tabellenblatts zusammen. Das Skript ignoriert Tabellenblätter, die nicht in der Aggregation enthalten sein sollten, z. B. die Tabellenblätter ReadMe und Summary.
Apps Script-Dienste
Diese Lösung verwendet den folgenden Dienst:
- Tabellendienst: ruft die Tabellenblätter ab, die zusammengefasst werden müssen, und zählt die Anzahl der Elemente, die mit einem bestimmten String übereinstimmen. Anschließend fügt das Skript die berechneten Informationen in einen Bereich ein, der sich darauf bezieht, wo die benutzerdefinierte Funktion in der Tabelle aufgerufen wurde.
Voraussetzungen
Sie benötigen die folgenden Voraussetzungen, um dieses Beispiel verwenden zu können:
- Ein Google-Konto (Google Workspace-Konten erfordern möglicherweise die Administratorgenehmigung).
- Ein Webbrowser mit Zugang zum Internet.
Skript einrichten
Klicken Sie auf die Schaltfläche unten, um eine Kopie der Tabelle Benutzerdefinierte Funktion „Tabellendaten zusammenfassen“ zu erstellen. Das Apps Script-Projekt für diese Lösung ist an die Tabelle angehängt.
Kopie erstellen
Skript ausführen
- Rufen Sie in der kopierten Tabelle das Tabellenblatt Zusammenfassung auf.
- Klicken Sie auf die Zelle
A4
. In dieser Zelle befindet sich die FunktiongetSheetsData()
. - Rufen Sie eines der Tabellen mit den Eigentümern auf und aktualisieren Sie sie oder fügen Sie Daten hinzu. Sie können beispielsweise Folgendes tun:
- Fügen Sie eine neue Zeile mit Beispiel-Ticketinformationen hinzu.
- Ändern Sie in der Spalte Status den Status eines vorhandenen Tickets.
- Ändern Sie die Position der Spalte Status. Verschieben Sie beispielsweise im Tabellenblatt Owner1 die Spalte Status von Spalte C nach Spalte D.
- Rufen Sie das Tabellenblatt Zusammenfassung auf und sehen Sie sich die aktualisierte Übersichtstabelle an, die
getSheetsData()
aus ZelleA4
erstellt hat. Möglicherweise müssen Sie das Kästchen in Zeile 10 anklicken, um die im Cache gespeicherten Ergebnisse der benutzerdefinierten Funktion zu aktualisieren. Google speichert benutzerdefinierte Funktionen im Cache, um die Leistung zu optimieren.- Wenn Sie Zeilen hinzugefügt oder aktualisiert haben, aktualisiert das Skript die Anzahl der Tickets und Status.
- Falls Sie die Position der Spalte Status verschoben haben, funktioniert das Skript mit dem neuen Spaltenindex weiterhin wie vorgesehen.
Code ansehen
Klicken Sie unten auf Quellcode anzeigen, um den Apps Script-Code für diese Lösung zu sehen:
Quellcode ansehen
Code.gs
Abwandlung
Sie können die benutzerdefinierte Funktion beliebig ändern. Unten finden Sie eine optionale Ergänzung zum manuellen Aktualisieren der Ergebnisse benutzerdefinierter Funktionen.
Im Cache gespeicherte Ergebnisse aktualisieren
Im Gegensatz zu integrierten Funktionen speichert Google benutzerdefinierte Funktionen im Cache, um die Leistung zu optimieren. Wenn Sie also etwas innerhalb Ihrer benutzerdefinierten Funktion ändern, z. B. einen Wert, der berechnet wird, wird möglicherweise nicht sofort eine Aktualisierung erzwungen. Führen Sie die folgenden Schritte aus, um das Funktionsergebnis manuell zu aktualisieren:
- Fügen Sie einer leeren Zelle ein Kästchen hinzu, indem Sie auf Einfügen klicken > Kästchen.
- Fügen Sie die Zelle mit dem Kästchen als Parameter der benutzerdefinierten Funktion hinzu, z. B.
getSheetsData(B11)
. - Klicken Sie das Kästchen an oder entfernen Sie das Häkchen, um die Ergebnisse der benutzerdefinierten Funktion zu aktualisieren.
Beitragende
Dieses Beispiel wird von Google mit Unterstützung von Google Developers-Experten verwaltet.