En Google Sheets Script Beginners vejledning
Google Ark Google Helt / / August 07, 2020
Sidst opdateret den
Med Google Scripts kan du tilføje kode til dit regneark for at automatisere indtastning af data, bringe eksterne data til dine ark eller køre beregninger på en periodisk plan.
Hvis du bruger Google Sheets, kan du være interesseret i at vide, at Google Scripts i høj grad kan forbedre dine regneark.
Tænk på Google-scripts som VBA i Microsoft Excel. Det giver dig mulighed for at tilføje kode til dit regneark for at automatisere indtastning af data. Du kan også bruge dem til at bringe eksterne data ind på dine ark. Det bedste af alt er, at du kan køre beregninger på en periodisk plan, selv når du ikke har regnearket åbent.
I denne artikel lærer du, hvordan du aktiverer Google Scripts, og hvordan du skriver og kører et simpelt script.
Sådan bruges Google-scripts
Der er et par ting i Google Sheets, som du skal aktivere, før du kan begynde at skrive Google Scripts der.
Vælg menuen Funktioner, og vælg Manusredaktør fra menuen.
Dette åbner Google Scripts-editoren i et projektvindue uden navn.
Dette script findes faktisk inde i din Google-konto i Google Scripts-værktøjet. Dette særlige projekt er forbundet til det regneark, du i øjeblikket arbejder på.
Du kan skrive et script, men kan ikke køre det, før scripts faktisk er aktiveret i arket. Du skal gøre dette første gang du kører det (som du ser nedenfor).
For at se dette i handling skal vi lave et simpelt script.
Opret dit første Google-script
I dette eksempel vil du skrive et script, der tilføjer alle quiz- og sluteksamen for B-kolonnen (Chris's score).
Dette er eksemplet med regnearket.
Tilbage i vinduet Google Scripts, indsæt følgende kode inde i funktionen myFunction () krøllede parenteser, sådan:
funktion myFunction () {
var ss = SpreadsheetApp.getActiveSpreadsheet ();
var ark = ss.getSheets () [0] var interval = ark.getRange (2,2,5);
var-værdier = rækkevidde.værdier ();
var sum = 0
for (var række i værdier) {
for (var col i værdier [række]) {
sum = værdier [række] [col] + sum;
}
}
ark.getRange (7,2) .setValue (sum);
}
Denne kode kan se kompliceret ud, men lad os nedbryde nøjagtigt, hvad den gør. Det er enklere end det ser ud.
Lad os bryde denne kode ned en linje ad gangen.
Definition af variablerne
1. var ss = SpreadsheetApp.getActiveSpreadsheet ();
Denne linje henter det aktuelle regneark, der er aktivt. Da du kun kører dette script, når det regneark, du vil køre beregningen på, er aktivt, får det altid det rigtige regneark. Arket gemmes som en "objekt" -variabel kaldet "ss".
2. var ark = ss.getSheets () [0]
Dette får det første ark og gemmer det som en objektvariabel med navnet ark. Der er en alternativ funktion, du kan bruge til at få arket under arketavnet.
Det ville være var ark = ss.getSheetByName (“Sheet1”);
Du kan bruge en af de funktioner, du kan lide.
3. var interval = ark.getRange (2,2,5);
Denne funktion får et interval af værdier efter række, kolonne og antal rækker. I dette tilfælde trækker vi alle værdierne, der starter ved den anden række, anden kolonne og får værdier fem rækker ned.
Variablen "rækkevidde" bliver det, der er kendt som et "array". En matrix er en variabel, der indeholder flere værdier. I Google Script henviser du til et af disse numre ved hjælp af et specielt element adresseringsskema med parenteser, som du vil se nedenfor.
4. var-værdier = rækkevidde.værdier ();
Funktionen getValues () trækker faktisk værdierne fra det intervalobjekt, du har defineret ovenfor.
5. var sum = 0
Dette er kun en enkelt talvariabel, som vi initialiserer med tallet 0. Dette bliver starten på, hvordan vi vil opsummere alle numrene i kolonnen.
Oprettelse af for sløjfer
6. for (var række i værdier) {
Det er, hvad der kaldes en "For" -sløjfe. Denne type loop går gennem et specifikt antal elementer på en liste. I dette tilfælde gennemgår den den "værdier" -gruppe, vi diskuterede ovenfor. Denne første løkke går gennem alle rækkerne i matrixen. I dette tilfælde vil der kun være en.
Bemærk: array-rækker er ikke det samme som regneark-rækker. Når matrixen indlæste værdierne fra kolonnen i regnearket, satte den dem i en enkelt linje (eller række) med data, som denne: “89, 92, 78, 98, 89”. Så i dette tilfælde har matrixen en linje (række) og fem tal på tværs (kolonner).
7. for (var col i værdier [række]) {
Dette sekund for loop går gennem alle "rækker" i matrixen. I dette tilfælde går det gennem alle 5 værdier.
8. sum = værdier [række] [col] + sum;
Hver gang løkken løber, fortsætter denne erklæring med at tilføje summen af den nye værdi til sig selv. Når alle 5 sløjfer sker, skal alle 5 numre sammenlægges i variablen "sum".
9 ark.getRange (7,2) .setValue (sum);
Dette er en sætning med to funktioner. GetRange-funktionen peger på cellen i 7. række og 2. kolonne. SetValue-funktionen placerer derefter værdien af "summen" -variablen i den celle.
Nu hvor du forstår, hvordan hver linje i koden fungerer, er det tid til at se det hele i handling.
Gemme dit Google-script
Når du er færdig med at indtaste dit Google-script, er det tid til at gemme det og gå gennem koden. Skriv først over "Untitled project" for at give dit projekt et navn. Vælg derefter disketteikonet i menuen for at gemme scriptet.
Du kan muligvis se en fejl, når du prøver at gemme. Gå ikke i panik. Dette er faktisk en del af fejlfindingsprocessen. Vær opmærksom på linjenummeret, hvor det står, at du har en fejl. Se nøje igennem din kode, og løs eventuelle skrivefejl eller syntaksfejl, du måtte have.
I dette eksempel manglede min "for" -sløjfe på linje 8 åbningssymbolet "("). Når du er løst, kan du prøve at gemme igen. Når du først kan gemme din kode, finder Google din kodesyntax okay.
Dette betyder ikke, at din kode kører som tilsigtet, den betyder bare, at den kan "kompilere" fint uden syntaksproblemer.
Kører dit Google-script
Vælg nu afspilningsikonet øverst for at gennemgå din kode. Da dette er første gang, du kører dit nye script, skal du give Google Script-appen tilladelse til at få adgang til dit regneark (data) på din Google-konto. Vælg Gennemgå tilladelser i pop op-vinduet.
Du skal logge ind på din Google-konto. Og da dette er en brugerdefineret app og ikke en, der er registreret hos Google, ser du en advarsel om, at appen ikke er verificeret. Vælg Fremskreden link, og vælg derefter Gå til Google Googles prøveeksempel (usikker) at fortsætte.
På den næste skærm skal du vælge Tillade for at give Google Script adgang til din Google-konto. Når du har gjort det, kører scriptet.
Hvis du ikke kan se nogen fejl, skal du skifte tilbage til regnearket, og du skal se, at resultaterne fra dit script er vist i bunden af den første kolonne.
Skrivning af avancerede Google-scripts
Dette var et meget grundlæggende Google-script, der blot tilføjede cellerne i en enkelt kolonne. Hvis du ville tilføje variabler til de to For loops i koden, kunne du også gå igennem alle kolonnerne og give et resumé i række 7 for dem alle.
Google Scripts tilbyder alle mulige muligheder, f.eks sender e-mail fra et regneark. Du kan endda trykke på specielle Google API'er der giver dig mulighed for at integrere andre Google-apps som Gmail, Kalender og endda Google Analytics. Når du begynder at lære at skrive Google-scripts, er mulighederne uendelige.