Coda |Ifjes

Christiaan Huizer
6 min readMar 23, 2020

--

Deze cryptische titel verwijst naar een logica die je vaak tegenkomt vanaf dat je Coda of in AirTable een uitkomst wil tonen die verband houdt met andere vaste of variabele waarden. Ik beperk me hier tot Coda. De nette term voor Ifje is overigens een ‘IF statement’.

Wat is een IF statement?

Hieronder de uitleg van Coda. Als je niet vertrouwd bent met variabelen, dan kan dit verwarrend overkomen. In spreektaal bedoelt men: als dit gebeurt (de voorwaarde), dan dat (het gevolg) en als er niet aan de voorwaarde wordt voldaan, dan is dit het alternatief. Een technische uitleg van deze en verwante formules vind je hier: https://coda.io/formulas#If en ze maken deel uit van de zogenaamde ‘logische operatoren’ net als ‘En’ , ‘Of’ , ‘Waar’ en ‘Onwaar’.

IF statements uitgelegd door Coda

Een voorbeeldje uit een andere blog van mij over tijdsduur in Coda waarin ik uitleg dat als de aankomsttijd kleiner is dan de vertrektijd, dan dient het gevolg te zijn ‘kleiner’ en als dat niet is (dus in alle andere gevallen), dan is het alternatief ‘groter’.

Je merkt dat het eerste stukje van dit voorbeeld al een bewerking zit middels het ‘is kleiner dan’ teken. Hieraan zie je dat binnen een ‘Ifje’ ook berekeningen kan maken. Niet alleen aan de kant van de voorwaarde, maar ook aan de kant van de uitkomst. En omgekeerd is ook waar, een Ifje kan ook onderdeel zijn van een andere formule zoals een Concatenate’. Ik geef daar verderop een voorbeeld van.

Bewerkingen binnen een Ifje

Zoals gezegd, een Ifje bestaat uit drie stukjes:

  • De voorwaarde
  • Het gevolg
  • Het alternatief

Deze logica maakt eenvoudige automatisatie mogelijk. De software past de beslisregels toe die we opstellen en toont vervolgens de uitkomst. En dát is interessant! Immers deze automatische uitkomst zorgt er niet alleen voor dat dit makkelijker gaat, maar ook dat er minder fouten ontstaan. Voorbeelden van situaties waarbij de uitkomst het vertrekpunt vormt voor een volgende actie:

  • het versturen van een email,
  • onderdeel is van een andere berekening
  • het ingeven van gegevens

We hernemen het voorbeeld uit het genoemde artikel:

En dan zien we dat zowel de voorwaarde, het gevolg en het alternatief een bewerking bevatten. De voorwaarde vertelt ons dat als de aankomsttijd kleiner of gelijk aan de vertrektijd is, er dan iets moet gebeuren (het gevolg). Je zou het gemakkelijk over het hoofd zien, maar na de voorwaarde staat er een ‘komma’. Dat is een belangrijke komma. Zonder die komma weet de software niet dat de voorwaarde daar stopt. Haakjes zijn niet standaard nodig, maar wel in het voorbeeld. En de reden is dat we daar het volgende doen. Eerst willen we we uitkomst van ‘vertrektijd minus aankomsttijd’ verkrijgen om er dan vervolgens er 24 uur bij op te tellen. Die haakjes staan er dus omdat die berekening afgerond dient te worden voordat de volgende stap in het deeltje ‘gevolg’ aan de beurt is. Ten laatste en dus na de tweede komma is er het alternatief, te weten datgene wat gebeurt als de uitkomst van de voorwaarde niet klopt. Hier is dat de eenvoudige bewerking die vraagt om de tijdsduur tussen aankomst en vertrek. En zo is er altijd een werkbare uitkomst voor dit specifieke probleem

Kijk ik nu in mijn lijstje met voertuigen die vertrekken dan is het aandeel van deze nachtelijke ritjes waarvoor de formule bedoelt is eerder beperkt, eigenlijk nogal klein. Blijkbaar wordt er meer overdag dan ‘s nachts gereden. En toch schrijven we een formule gericht op dit kleine aantal ritjes. Is dat niet de omgekeerde wereld? Juist, het is de omgekeerde wereld en voor die wereld is een IFje ook bedoeld. Het alternatief (na de tweede komma, het derde stukje) vertelt immers wat er moet gebeuren als niet aan de voorwaarde voldaan wordt. Enne, kan het ook andersom, dus uitgaan van de veel voorkomende toestand? Ja hoor, zie hieronder:

Ifje dat omgekeerd werkt

Waarom dan toch begonnen met de uitzondering? Om de eenvoudige reden dat je een probleem wil oplossen en dan begin je te zoeken naar een oplossing voor het probleem dat zich aandient, de uitzondering. Eens je het antwoord hebt, is omkering eenvoudig zoals bovenstaande toont.

Dat brengt ons bij het beloofde voorbeeld van hoe ‘Ifjes’ ook onderdeel van een andere formule kunnen zijn. Een concatenate maakt het mogelijk om data uit cellen of tekst bij elkaar te brengen, samen te stellen. Ik gebruik de Concatenate vaak bij het opbouwen van de ID kolom van een Tabel, doorgaans de eerste kolom. Daarin toon ik de belangrijkste gegevens waarmee ik de rest kan herkennen. Bij facturen is dat bijvoorbeeld de samenstelling van een datum en de leverancier en eventueel of het verkoop- of inkoopfactuur is. Een voorbeeld om het te tonen. Eerst tonen we een eenvoudige samenstelling. Let op de , ‘ — ‘, logica om een verbindingsstreepje toe te voegen.

voorbeeld van eenvoudige samenstelling

Stel nu dat ik vervolgens wil weten of ik de klant een reminder dien te sturen en dat is — in dit voorbeeld — na twee weken (14 dagen). De tweede klant ontving de factuur op 2 maart en daarmee hadden we een betaling verwacht rond de 16de. Maar we zijn nu een week later (de 23ste) en dan mag het misschien toch wel. Vele wegen leiden naar Rome, hieronder hoe ik het deze keer oploste. We vertellen binnen het Ifje dat als dat datum + 14 dagen achter ons ligt (kleiner is dan) EN er nog geen vinkje bij Voldaan staat (= False), dat we dan — Check — tonen.

Ifje binnen een samenstelling

Voila, zo eenvoudig kan het zijn.

Nested Ifjes en Switch

Eens je wat vaker werkt met beslisregels merk je dat je er met één Ifje vaak niet komt. Je kunt dan een IF binnen een IF plaatsen en daar binnen weer één enzovoort. Dat vraagt aandacht voor komma’s en haakjes en dat is vervelend werken. Een eenvoudigere manier is dan het gebruik van een Switch.

Vanaf dat ik een project heb waarin een Switch relevant is en ik er over mag publiceren, zal ik er een blogpost over schrijven aan de hand van een concreet voorbeeld.

Mijn naam is Christiaan Huizer en ik ben eigenaar van Huizer Automatisatie. In mijn rol als bedrijfsadviseur ben ik vooral actief in het midden en klein bedrijf in Wallonië, Brussel, Vlaanderen en Nederland. Mijn klanten vragen me vooral om hun bedrijf voordelig te vereenvoudigen en versnellen. Ik maak daarbij gebruik van tools als AirTable, Coda, Zapier, MailJet en TypeForm.

Huizer Automatisatie over het gebruik van Ifjes binnen Coda

--

--

Christiaan Huizer
Christiaan Huizer

Written by Christiaan Huizer

I write about how to Coda . You find blogs for beginners and experienced makers. I publish about 1 / week. Welcome!

No responses yet