Inhoudsopgave:

Aangepaste functie toevoegen in Google Spreadsheets: 5 stappen
Aangepaste functie toevoegen in Google Spreadsheets: 5 stappen

Video: Aangepaste functie toevoegen in Google Spreadsheets: 5 stappen

Video: Aangepaste functie toevoegen in Google Spreadsheets: 5 stappen
Video: Excel | 5 | Foutbalk in grafiek toevoegen (standaarddeviatie) 2024, Juni-
Anonim
Image
Image

Ik weet zeker dat je op een bepaald moment in je leven spreadsheetsoftware zoals Microsoft Excel of Google Spreadsheets moest gebruiken.

Ze zijn relatief eenvoudig en eenvoudig te gebruiken, maar ook zeer krachtig en gemakkelijk uitbreidbaar.

Vandaag zullen we kijken naar Google Spreadsheets en de mogelijkheid om code en aangepaste functies toe te voegen, zodat we deze kunnen uitbreiden.

Stap 1: Wat zijn functies?

Wat zijn functies?
Wat zijn functies?

Een functie is een stukje code dat gegevens uit de spreadsheet manipuleert om automatisch een nieuwe waarde voor ons te berekenen. Een veel voorkomend voorbeeld van zo'n functie is SOM, die de som van een kolom of groep cellen berekent.

Alle spreadsheetsoftware ondersteunt veel van dergelijke functies die er vooraf in zijn ingebouwd, maar ze ondersteunen ook de mogelijkheid om ze uit te breiden en onze eigen te schrijven.

Stap 2: Hoe schrijf je een aangepaste functie?

Hoe schrijf je een aangepaste functie?
Hoe schrijf je een aangepaste functie?
Hoe schrijf je een aangepaste functie?
Hoe schrijf je een aangepaste functie?
Hoe schrijf je een aangepaste functie?
Hoe schrijf je een aangepaste functie?
Hoe schrijf je een aangepaste functie?
Hoe schrijf je een aangepaste functie?

Om een aangepaste functie in Google Spreadsheets te schrijven, gebruiken we een functie ervan genaamd Apps Script, een snel ontwikkelplatform voor toepassingen waar we code in JavaScript rechtstreeks in de browser kunnen schrijven die vervolgens in onze spreadsheet wordt uitgevoerd.

Om te beginnen met schrijven kunnen we naar Extra > Scripteditor in het hoofdmenu gaan en dat zal de online code-editor oproepen.

Daarin zullen we bij het eerste openen één bestand hebben met de naam Code.gs samen met een lege startfunctie, genaamd myFunction.

Als een beginnend voorbeeld zullen we deze functie hernoemen naar DOUBLE en een invoerparameter toevoegen aan zijn declaratie. Binnen de hoofdtekst van de functie moeten we een waarde retourneren en voor dit voorbeeld vermenigvuldigen we de invoerwaarde met 2.

We kunnen het script nu opslaan en als we teruggaan naar de spreadsheet en er wat gegevens aan toevoegen, kunnen we nu in elke cel naar deze functie verwijzen en de gegevenscelverwijzing verzenden als invoer voor de waarde.

Bij het uitvoeren van deze functie zal Google Spreadsheets binnenkort een laadbericht in de cel weergeven, maar dan wordt de geretourneerde waarde van de functie weergegeven.

Stap 3: Functiebeperkingen en automatisch aanvullen

Functiebeperkingen en automatisch aanvullen
Functiebeperkingen en automatisch aanvullen

Deze functies kunnen doen wat we willen, maar er zijn enkele beperkingen die we moeten volgen, zoals:

Namen moeten uniek zijn en verschillen van de namen die worden gebruikt door de ingebouwde functies. De naam mag niet eindigen op een _, en Functienamen worden meestal met hoofdletters geschreven, hoewel dit niet vereist is.

Elke functie kan een enkele waarde retourneren, zoals in ons voorbeeld, maar kan ook een reeks waarden retourneren. Deze array wordt vervolgens uitgebreid naar aangrenzende cellen zolang ze leeg zijn. Als dit niet het geval is, wordt een fout weergegeven.

De functie die we hebben geschreven is bruikbaar, maar voor iedereen die het document komt bewerken, is het onbekend en moet de gebruiker weten dat het bestaat om het te kunnen gebruiken. We kunnen dit oplossen door de functie toe te voegen aan de lijst met automatisch aanvullen, net als alle ingebouwde functies.

Om dit te doen, moeten we een JsDoc @customfunction-tag voor de functie toevoegen als opmerking, waar we in deze opmerking een korte uitleg kunnen schrijven over wat onze functie doet.

Nu met het commentaar toegevoegd, wanneer we beginnen met het schrijven van de functienaam, zal de functie worden aangeboden door de autocomplete, samen met de functiebeschrijving.

Stap 4: Externe diensten bellen

Externe diensten bellen
Externe diensten bellen
Externe diensten bellen
Externe diensten bellen
Externe diensten bellen
Externe diensten bellen

De grote kracht die deze functies hebben, komt van de mogelijkheid om te bellen en te communiceren met andere tools en services van Google zoals Translate, Maps, verbinding te maken met een externe database, te werken met XML en andere. Verreweg de krachtigste functie voor mij is de mogelijkheid om een extern HTTP-verzoek te doen naar elke API of webpagina en er gegevens uit te halen met behulp van de UrlFetch-service.

Om dit te demonstreren, plak ik een functie die Amerikaanse dollars naar Zwitserse frank converteert, maar die niet de valutakoers aanneemt, maar deze ophaalt van een externe API.

De functie maakt ook gebruik van de ingebouwde cacheservice, waarbij de API niet voor alle berekeningen wordt aangeroepen, maar deze één keer wordt aangeroepen voor de eerste berekening en die waarde vervolgens in de cache wordt opgeslagen.

Elke andere berekening wordt dan gemaakt met de in de cache opgeslagen waarde, zodat de prestaties ervan aanzienlijk zullen worden verbeterd en we de server niet zo vaak zullen bereiken omdat de tarieven niet zo snel veranderen.

Aangezien de API JSON retourneert, moeten we, zodra we het antwoord van de server krijgen, de JSON in een object ontleden en dan kunnen we de snelheid krijgen, deze vermenigvuldigen met de invoerwaarde en de nieuwe, berekende waarde terugsturen naar de cel.

Stap 5: Volgende stappen

Als je dit interessant vindt en meer wilt weten, laat ik hieronder links achter naar aanvullende bronnen.

developers.google.com/apps-script/guides/s…

developers.google.com/apps-script

Als je de Instructable leuk vond, abonneer je dan op mijn YouTube-kanaal als je dat nog niet hebt gedaan en bekijk enkele van mijn andere Instructables.

Groetjes en bedankt voor het lezen.

Aanbevolen: