En nybörjarguide för Google Sheets Script
Google Ark Google Hjälte / / August 07, 2020
Senast uppdaterad den
Med Google Scripts kan du lägga till kod i ditt kalkylblad för att automatisera datainmatning, föra externa data i dina ark eller köra beräkningar enligt ett regelbundet schema.
Om du använder Google Sheets kanske du är intresserad av att veta att Google Scripts kan förbättra dina kalkylblad.
Tänk på Google-skript som VBA i Microsoft Excel. Det låter dig lägga till kod i ditt kalkylblad för att automatisera datainmatning. Du kan också använda den för att föra externa data till dina ark. Det bästa av allt är att du kan köra beräkningar på ett regelbundet schema, även om du inte har kalkylbladet öppet.
I den här artikeln lär du dig hur du aktiverar Google Scripts och hur du skriver och kör ett enkelt skript.
Hur man använder Google-skript
Det finns några saker i Google Sheets som du måste aktivera innan du kan börja skriva Google Scripts där.
Välj Verktyg-menyn och välj Manusredaktör från menyn.
Detta öppnar Google Scripts-redigeraren i ett fönster med namnet Untitled.
Det här skriptet finns faktiskt på ditt Google-konto i Google Skriptverktyget. Det här specifika projektet är anslutet till det kalkylblad du för närvarande arbetar med.
Du kan skriva ett skript, men kan inte köra det förrän skript faktiskt är aktiverade i arket. Du måste göra det första gången du kör det (som du ser nedan).
För att se detta i handling låt oss göra ett enkelt skript.
Skapa ditt första Google-skript
I det här exemplet kommer du att skriva ett skript som lägger till alla frågesporten och slutprovsscore för B-kolumnen (Chris poäng).
Detta är exemplet kalkylblad.
Tillbaka i fönstret Google Skript klistra in följande kod i funktionen myFunction () lockiga parentes, så:
funktion myFunction () {
var ss = SpreadsheetApp.getActiveSpreadsheet ();
var sheet = ss.getSheets () [0] var intervall = ark.getRange (2,2,5);
var-värden = område.getValues ();
var summa = 0
för (var rad i värden) {
för (var col i värden [rad]) {
summa = värden [rad] [col] + summa;
}
}
ark.getRange (7,2) .setValue (summa);
}
Den här koden kan se komplicerad ut, men låt oss fördela exakt vad den gör. Det är enklare än det ser ut.
Låt oss bryta den här koden en rad åt gången.
Definiera variablerna
1. var ss = SpreadsheetApp.getActiveSpreadsheet ();
Den här raden hämtar det aktuella kalkylbladet som är aktivt. Eftersom du bara kör det här skriptet när kalkylarket du vill kalkylera är aktivt får det alltid rätt kalkylblad. Arket sparas som en "objekt" -variabel som kallas "ss".
2. var sheet = ss.getSheets () [0]
Detta får det första arket och sparar det som en objektvariabel med namnet ark. Det finns en alternativ funktion som du kan använda för att få arket efter arknamnet.
Det skulle vara var sheet = ss.getSheetByName (“Sheet1”);
Du kan använda någon av funktionerna du vill.
3. var intervall = ark.getRange (2,2,5);
Denna funktion får ett intervall av värden efter rad, kolumn och antal rader. I det här fallet drar vi alla värden som börjar vid den andra raden, den andra kolumnen och får värden fem rader nedåt.
Variabeln "intervall" blir det som kallas "array". En matris är en variabel som innehåller flera värden. I Google Script refererar du till något av dessa nummer med hjälp av ett speciellt element adresseringsschema med parenteser, som du ser nedan.
4. var-värden = område.getValues ();
Funktionen getValues () drar faktiskt värdena från intervallobjektet som du definierade ovan.
5. var summa = 0
Det här är bara en enda variabel som vi initialiserar med siffran 0. Detta blir början på hur vi ska summera alla siffrorna i kolumnen.
Skapa för slingor
6. för (var rad i värden) {
Det här är vad som kallas en "For" -slinga. Denna typ av slinga går igenom ett specifikt antal objekt i en lista. I det här fallet kommer det att gå igenom "värden" -fältet som vi diskuterade ovan. Denna första slinga kommer att slinga genom alla raderna i matrisen. I det här fallet kommer det bara att finnas en.
Obs: matriserader är inte samma sak som kalkylarkrader. När matrisen laddade värdena från kolumnen i kalkylarket placerade de dem i en enda rad (eller rad) med data, så här: "89, 92, 78, 98, 89". Så i detta fall har matrisen en rad (rad) och fem siffror över (kolumner).
7. för (var col i värden [rad]) {
Denna sekund för loop kommer att gå igenom alla "rader" i matrisen. I det här fallet kommer det att gå igenom alla fem värden.
8. summa = värden [rad] [col] + summa;
Varje gång slingan körs kommer detta uttalande att lägga till summan av det nya värdet till sig själv. När alla 5 slingor inträffar, bör alla 5 siffrorna summeras till variabeln "summa".
9 ark.getRange (7,2) .setValue (summa);
Detta är ett uttalande med två funktioner. GetRange-funktionen pekar på cellen på den sjunde raden och den andra kolumnen. SetValue-funktionen placerar sedan värdet på "summan" -variabeln i den cellen.
Nu när du förstår hur varje rad i koden fungerar är det dags att se allt i aktion.
Spara ditt Google-skript
När du har skrivit ditt Google-skript är det dags att spara det och gå igenom koden. Skriv först över "Untitled project" för att ge ditt projekt ett namn. Välj sedan diskettikonen i menyn för att spara skriptet.
Du kan se ett fel när du försöker spara. Få inte panik. Detta är faktiskt en del av felsökningsprocessen. Var uppmärksam på radnumret där det står att du har ett fel. Titta noga igenom din kod och lösa eventuella felfel eller syntaxfel.
I det här exemplet saknade min "för" -slinga på rad 8 öppningssymbolen. När du är fixad kan du försöka spara igen. När du har sparat din kod anser Google att din kodsyntax är okej.
Detta betyder inte att din kod kommer att köras som avsedd, det betyder bara att den kan "kompilera" bra, utan syntaxproblem.
Kör ditt Google-skript
Välj nu uppspelningsikonen längst upp för att gå igenom din kod. Eftersom det här är första gången du kör ditt nya skript måste du ge Google Script-appen tillåtelse att komma åt ditt kalkylblad (data) på ditt Google-konto. Välj Granska behörigheter i popup-fönstret.
Du måste logga in på ditt Google-konto. Och eftersom det här är en anpassad app och inte en som är registrerad hos Google ser du en varning om att appen inte är verifierad. Välj Avancerad länk och välj sedan Gå till Google Googles skript (osäkert) att fortsätta.
På nästa skärm måste du välja Tillåta för att ge Google Script åtkomst till ditt Google-konto. När du gör det kommer skriptet att köras.
Om du inte ser några fel byter du tillbaka till kalkylbladet och du bör se resultatet från ditt skript har visat sig längst ner i den första kolumnen.
Skriva avancerade Google-skript
Detta var ett mycket grundläggande Google-skript som helt enkelt lägger till cellerna i en enda kolumn. Om du ville lägga till variabler till de två för slingor i koden, kan du slinga igenom alla kolumnerna och ge en sammanfattning i rad 7 för alla.
Google Scripts erbjuder alla möjliga möjligheter, till exempel skicka e-post från ett kalkylblad. Du kan till och med utnyttja speciella Google API: er som låter dig integrera andra Google-appar som Gmail, Kalender och till och med Google Analytics. När du börjar lära dig att skriva Google-skript är möjligheterna oändliga.