5 Google Sheets -Skriptfunktionen, die Sie wissen müssen

5 Google Sheets -Skriptfunktionen, die Sie wissen müssen

Google Sheets ist ein leistungsstarkes Cloud-basierte Tabellenkalkulat-Tool, mit dem Sie fast alles tun können, was Sie in Microsoft Excel tun können. Aber die wahre Leistung von Google -Blättern ist die damit verbundene Google Scripting -Funktion.

Google Apps Scripting ist ein Hintergrund -Scripting -Tool, das nicht nur in Google Sheets, sondern auch in Google -Dokumenten, Google Mail, Google Analytics und nahezu jedem anderen Google Cloud -Dienst funktioniert. Sie können diese einzelnen Apps automatisieren und jede dieser Apps miteinander integrieren.

Inhaltsverzeichnis

    Dadurch wird das Skript -Editor -Fenster geöffnet und standardmäßig eine Funktion namens namens myfunction (). Hier können Sie Ihr Google -Skript erstellen und testen.

    Um eine Aufnahme zu machen, erstellen Sie eine Google Sheets -Skriptfunktion, die Daten aus einer Zelle liest, eine Berechnung ausführt und die Datenmenge an eine andere Zelle ausgibt.

    Die Funktion, Daten aus einer Zelle zu erhalten, ist die GetRange () Und Wert erhalten() Funktionen. Sie können die Zelle nach Zeile und Spalte identifizieren. Wenn Sie also einen Wert in Zeile 2 und Spalte 1 (der Spalte) haben, sieht der erste Teil Ihres Skripts so aus:

    Funktion myfunction () var Sheet = Tabellekala.getactiveSheet (); var row = 2; var col = 1; var data = Blatt.GetRange (Reihe, col).Wert erhalten(); 

    Dies speichert den Wert aus dieser Zelle in der Daten Variable. Sie können eine Berechnung der Daten durchführen und diese Daten dann in eine andere Zelle schreiben. Der letzte Teil dieser Funktion ist also:

     var results = data * 100; Blatt.GetRange (Reihe, Col+1).setValue (Ergebnisse); 

    Wenn Sie mit dem Schreiben Ihrer Funktion fertig sind, wählen Sie das Datenträgersymbol zum Speichern aus. 

    Wenn Sie zum ersten Mal eine neue Google Sheets -Skriptfunktion wie diese ausführen (indem Sie das Ausführensymbol auswählen).

    Lassen Sie die Berechtigungen fortsetzen. Sobald Ihr Skript ausgeführt wird, werden Sie feststellen, dass das Skript die Berechnungsergebnisse an die Zielzelle geschrieben hat.

    Nachdem Sie nun wissen, wie Sie eine grundlegende Google Apps -Skriptfunktion schreiben, schauen wir uns einige fortgeschrittenere Funktionen an.

    Verwenden Sie GetValues, um Arrays zu laden

    Sie können das Konzept der Berechnungen zu Daten in Ihrer Tabelle mit Scripting auf eine neue Ebene mit Arrays übernehmen. Wenn Sie eine Variable im Google Apps -Skript mit GetValues ​​laden, handelt es sich bei der Variablen um ein Array, das mehrere Werte aus dem Blatt laden kann.

    Funktion myfunction () var Sheet = Tabellekala.getactiveSheet (); var data = Blatt.getDatarange ().GetValues ​​();

    Die Datenvariable ist ein mehrdimensionales Array, das alle Daten aus dem Blatt enthält. Um eine Berechnung der Daten durchzuführen, verwenden Sie a für Schleife. Der Zähler der für die für die für die Schleife durchliegende Zeile und die Spalte bleibt konstant, basierend auf der Spalte, in der Sie die Daten ziehen möchten.

    In unserer Beispiel -Tabelle können Sie Berechnungen auf den drei Datenzeilen wie folgt durchführen.

    für (var i = 1; i < data.length; i++)  var result = data[i][0] * 100; sheet.getRange(i+1, 2).setValue(result);   

    Speichern und führen Sie dieses Skript so aus, wie Sie es oben getan haben. Sie werden sehen, dass alle Ergebnisse in Spalte 2 in Ihrer Tabelle gefüllt sind.

    Sie werden feststellen, dass das Verweisen auf eine Zelle und eine Zeile in einer Array -Variablen unterscheidet als bei einer GetRange -Funktion. 

    Daten [i] [0] Bezieht sich auf die Array -Dimensionen, in denen die erste Dimension die Zeile ist, und die zweite die Spalte. Beide beginnen bei Null.

    GetRange (i+1, 2) Bezieht sich auf die zweite Zeile, wenn i = 1 (da Zeile 1 der Header ist) und 2 die zweite Spalte, in der die Ergebnisse gespeichert sind.

    Verwenden Sie Appendrow, um Ergebnisse zu schreiben

    Was ist, wenn Sie eine Tabelle haben, in der Sie Daten in eine neue Zeile anstelle einer neuen Spalte schreiben möchten??

    Dies ist einfach mit dem zu tun appendrow Funktion. Diese Funktion stört keine vorhandenen Daten im Blatt. Es wird einfach eine neue Zeile an das vorhandene Blatt anhängen.

    Machen Sie als Beispiel eine Funktion, die von 1 bis 10 zählt und einen Gegensatz mit Vielfachen von 2 in a anzeigen Schalter Spalte.

    Diese Funktion würde so aussehen:

    Funktion myfunction () var Sheet = Tabellekala.getactiveSheet (); für (var i = 1; i<11; i++)  var result = i * 2; sheet.appendRow([i,result]);  

    Hier sind die Ergebnisse, wenn Sie diese Funktion ausführen.

    Prozess -RSS -Feeds mit URLFetchApp

    Sie können die vorherige Skriptfunktion von Google Sheets und die kombinieren Urlfetchapp Um den RSS -Feed von jeder Website zu ziehen und eine Zeile für jeden kürzlich auf dieser Website veröffentlichten Artikel zu einer Tabelle zu schreiben.

    Dies ist im Grunde eine DIY!

    Das Skript, um dies zu tun, ist auch nicht zu kompliziert.

    Funktion myfunction () var Sheet = Tabellekala.getactiveSheet (); var item, Datum, Titel, Link, Desc; var txt = urlfetchapp.Fetch ("https: // www.Topsecreters.com/rss ").getContentText (); var doc = xml.analysieren (txt, falsch); Titel = doc.GetElement ().GetElement ("Kanal").GetElement ("Titel").getText (); var items = doc.GetElement ().GetElement ("Kanal").GetElements ("Artikel"); // einzelne Elemente im RSS -Feed für (var i in Elementen) item = items [i] analysieren; Titel = Artikel.GetElement ("Titel").getText (); link = item.GetElement ("Link").getText (); Datum = Artikel.GetElement ("Pubdate").getText (); Desc = Element.GetElement ("Beschreibung").getText (); Blatt.appendrow ([Titel, Link, Datum, Desc]); 

    Wie du sehen kannst, Xml.analysieren Zieht jedes Element aus dem RSS -Feed und trennt jede Zeile in den Titel, den Verknüpfung, das Datum und die Beschreibung. 

    Verwendung der appendrow Funktion können Sie diese Elemente für jedes einzelne Element im RSS -Feed in entsprechende Spalten einfügen.

    Die Ausgabe in Ihrem Blatt sieht ungefähr so ​​aus:

    Anstatt die RSS -Feed -URL in das Skript einzubetten, können Sie ein Feld in Ihrem Blatt mit der URL haben und dann mehrere Blätter haben - eines für jede Website, die Sie überwachen möchten.

    Verkettete Saiten und fügen Sie eine Wagenrendite hinzu

    Sie können die RSS -Tabelle noch einen Schritt weiter gehen, indem Sie einige Textmanipulationsfunktionen hinzufügen und dann E -Mail -Funktionen verwenden, um sich eine E -Mail mit einer Zusammenfassung aller neuen Beiträge im RSS -Feed der Website zu senden.

    Zu diesem Zweck möchten Sie unter dem Skript, das Sie im vorherigen Abschnitt erstellt haben. 

    Sie möchten die Betreffzeile und das E -Mail -Text -Körper erstellen, indem Sie alle Informationen aus demselben „Element“ -Array analysieren, mit dem Sie die RSS -Daten in die Tabelle geschrieben haben. 

    Initialisieren Sie dazu den Motiv und die Nachricht, indem Sie die folgenden Zeilen vor den „Elementen“ für die Schleife platzieren.

    var Betreff = 'Neueste 10 Artikel, die bei MySite veröffentlicht wurden.com '
    var message = "

    Fügen Sie dann am Ende der „Elemente“ für die Schleife (direkt nach der Appendrow -Funktion) die folgende Zeile hinzu.

    message = message + title + '\ n' + link + '\ n' + Datum + '\ n' + Desc + '\ n' + '\ n \ n';

    Das "+" -Symbol verkettet alle vier Elemente zusammen, gefolgt von "\ n" für eine Wagenrendite nach jeder Zeile. Am Ende jedes Titeldatenblocks möchten Sie zwei Wagenrenditen für eine gut formatierte E -Mail -Stelle.

    Sobald alle Zeilen verarbeitet werden, enthält die Variable „Body“ die gesamte E -Mail -Nachrichtenzeichenfolge. Jetzt können Sie die E -Mail senden!

    So senden Sie E -Mails im Google Apps Skript

    Der nächste Abschnitt Ihres Google -Skripts besteht darin, das „Betreff“ und den „Körper“ per E -Mail zu senden. Dies im Google -Skript zu tun ist sehr einfach.

    var Emailaddress = [email protected];
    Mailapp.sendemail (E -MailAddress, Betreff, Nachricht);

    Der MailApp ist eine sehr bequeme Klasse in Google Apps -Skripten, mit denen Sie auf den E -Mail -Dienst Ihres Google -Kontos zugreifen können, um E -Mails zu senden oder zu empfangen. Dank dessen können Sie mit der Sendemail -Funktion die E -Mail -Adresse nur mit der E -Mail -Adresse, der Betreffzeile und dem Körpertext senden.

    So wird die resultierende E -Mail aussehen. 

    Kombinieren Sie die Möglichkeit, den RSS -Feed einer Website zu extrahieren, in einem Google -Blatt zu speichern und mit enthaltenen URL -Links an sich selbst zu senden, es sehr bequem, den neuesten Inhalt für jede Website zu befolgen.

    Dies ist nur ein Beispiel für die Leistung, die in Google Apps -Skripten verfügbar ist, um Aktionen zu automatisieren und mehrere Cloud -Dienste zu integrieren.