Hoe kan ik aangepaste functies maken met scripts in Google Spreadsheets?

Google Spreadsheets biedt de mogelijkheid om aangepaste functies te maken met Apps Script, een ingebouwde JavaScript-omgeving.


Hiermee kun je functies creëren die verder gaan dan de standaardfuncties, zoals het ophalen van gegevens uit API’s, complexe berekeningen of dynamische rapportages.


Dit artikel laat zien hoe je aangepaste functies maakt, uitvoert en toepast.


Wat zijn aangepaste functies?

Een aangepaste functie werkt net als standaardfuncties (zoals SOM of ALS) en kan worden aangeroepen vanuit een cel.


Het verschil is dat je deze zelf definieert om specifieke taken uit te voeren die niet beschikbaar zijn in de standaardbibliotheek.


Stappen om aangepaste functies te maken

Stap 1: Open Apps Script

  • Open je spreadsheet.
  • Ga naar Uitbreidingen > Apps Script: Dit opent de Apps Script-editor.

Stap 2: Schrijf een aangepaste functie

  • Maak een nieuwe functie:Gebruik JavaScript-syntaxis om een functie te definiëren.

    Voorbeeld:
    function Vermenigvuldig(getal1, getal2) {return getal1 * getal2;}
    Je kunt deze functie aanroepen in een cel:
    =Vermenigvuldig(5, 10). Het resultaat is 50.
  • Toegang tot spreadsheetgegevens:
    Gebruik SpreadsheetApp om gegevens uit je sheet te halen:
    function TotaalKolom(kolom) {var sheet =SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
    var range = sheet.getRange(kolom);
    var data = range.getValues();
    var totaal = 0;
    for (var i = 0; i < data.length; i++) {
    totaal += data[i][0];
    }
    return totaal;
    }

    Gebruik in een cel:
    =TotaalKolom("A1:A10")

Stap 3: Test je functie

  • Ga terug naar je spreadsheet.
  • Voer de functie uit in een cel.
  • Controleer of het resultaat overeenkomt met je verwachtingen.


Stappen om aangepaste functies te maken

Geavanceerde toepassingen

  • Gegevens ophalen van een API:
    Gebruik Apps Script om gegevens uit externe bronnen te halen:
    function HaalDataVanAPI() {
    var response = UrlFetchApp.fetch("https://api.example.com/data");
    var data = JSON.parse(response.getContentText());
    return data.waarde;
    }
    Gebruik in een cel:
    =HaalDataVanAPI()
  • Datum- en tijdmanipulatie:
    Voeg aangepaste datumlogica toe:
    function VoegDagenToe(startdatum, dagen) {
    var datum = new Date(startdatum);
    datum.setDate(datum.getDate() + dagen);
    return datum;
    }

    Gebruik in een cel:
    =VoegDagenToe(TODAY(), 30)
  • Gegevens formatteren:
    Creëer aangepaste opmaakregels:
    function FormatteerTekst(tekst) {
    return tekst.toUpperCase();
    }

    Gebruik in een cel:
    =FormatteerTekst("hallo"). Het resultaat is HALLO.
  • Interactie met meerdere werkbladen:
    Combineer gegevens van verschillende bladen:
    function CombineerGegevens() {
    var sheet1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Blad1");
    var sheet2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Blad2");
    var data1 = sheet1.getRange("A1:A10").getValues();
    var data2 = sheet2.getRange("B1:B10").getValues();
    return data1.concat(data2);
    }

Veelgemaakte fouten en hoe ze te vermijden

  • Fout bij toegang tot cellen:Controleer of het bereik dat je gebruikt correct bestaat.
  • Functie niet beschikbaar in cellen:Zorg ervoor dat de functie is opgeslagen en het bestand is herladen.
  • Prestatiefouten bij grote datasets:Optimaliseer loops en gebruik batching om prestaties te verbeteren.

Tips voor effectief gebruik

  • Hergebruikbare scripts:Sla vaak gebruikte functies op in een bibliotheekbestand om ze in meerdere spreadsheets te gebruiken.
  • Automatische updates:Gebruik triggers om aangepaste functies automatisch uit te voeren, bijvoorbeeld dagelijks of bij bestandssynchronisatie.
  • Foutafhandeling:
    Voeg foutafhandeling toe om ongeldige invoer te beheren:
    function VeiligDelen(a, b) {
    if (b == 0) {
    return "Fout: Delen door nul";
    }
    return a / b;
    }

Kortom:

Aangepaste functies in Google Spreadsheets bieden ongekende flexibiliteit voor het automatiseren van complexe taken en het uitbreiden van standaardfunctionaliteit.


Of je nu geavanceerde berekeningen uitvoert, gegevens van externe bronnen ophaalt of rapportages aanpast, met Apps Script kun je je spreadsheets optimaliseren en personaliseren.




Over spreadsheets.nl

Privacy beleid

Contact: webmaster@spreadsheets.nl