Vrijdag de 13de
- 26/12/2020
Voorbeeldbestanden bij dit artikel: | |
Vrijdag de 13de
Vrijdag de dertiende wordt door veel mensen als een ongeluksdag beschouwd, wegens de combinatie van vrijdag en dertien. Het komt voor wanneer de 13de dag van de maand in de Gregoriaanse kalender op een vrijdag valt. Volgens Wikipedia gebeurt dit elk jaar ten minste 1 keer en ten hoogste 3 keer." Kunnen we in Excel verifiëren of Wikipedia het bij het rechte eind heeft? Wist u dat in sommige samenlevingen de 17de van de maand als een ongeluksdag beschouwd wordt en weer andere samenlevingen hebben dan weer dinsdag als een ongeluksdag. Met dat laatste kan ik mij wel wat identificeren: het weekend is immers nog lang weg !
Ja dit kunnen we verifiëren in Excel, zeker met dynamische array functies:
Ik heb in de cellen C2, D2, E2, F2 formules gemaakt. Dat is al wat er nodig is. De eerste 3 formules werken door tot in de cellen eronder ("spilling"), in rijen 3 tot en met 13 (toevalligerwijze).
Excel toont een blauwe rand rondom cellen van de dynamische "spill range". Bovendien bevat enkel de cel linksboven in de spill range de formule, de cellen eronder bevatten geen formule. De formule in cel C2 luidt: =REEKS(12) en de cel is editeerbaar, de cellen eronder tonen dezelfde formule (in grijs) maar zijn niet editeerbaar.
In het onderste gedeelte van de eerste afbeelding kan je de formules bekijken die ik gebruikte. Het # karakter vertient misschien wel wat aandacht: het is tenslotte vrij nieuw in Excel. Het karakter zegt aan de berekeningsmotor van Excel om de hele "spill range" te nemen, in plaats van enkel de ene cel. Daardoor laat het ons toe om dynamische berekeningen te maken, die resultaten genereren over meerdere cellen.
=WEEKDAG( D2#; 2 ) geeft ons 1 voor maandag, 2 voor dinsdag, ..., 7 voor zondag. Bijgevolg ook 5 voor vrijdag. Dat is het getal waarin we geïnteresseerd zijn.
In het decennium waarin we leven, welke jaren hebben 1 / 2 / 3 keer zo'n vrijdag de 13de ?
De formule staat aan de rechterkant. De "double unary operator" -- zet Waar/Onwaar (True/False) om in 1/0, zodat een simpele som genomen kan worden.
Tot slot, wat zijn de maanden die in een gekozen jaar een vrijdag 13de kennen?
Ik gebruik de LET() functie om de formule te vereenvoudigen: =LET( d; DATUM( A1; REEKS( 12 ); 13 ); FILTER( d; WEEKDAG( d; 2 ) = 5 ))
Ik gebruik de variable d voor de 12 datums (telkens de 13de van de maand) in het gekozen jaar (cell A1). Met andere woorden, 13 januari, 13 februari, 13 maart, ... Vervolgens hebben we de eigenlijke formule als het laatste argument van de LET functie, die zegt: filter eens deze 12 datums wanneer het nummer van de weekdag (maandag tot zondag) een 5 geeft voor vrijdag. Bingo, je hebt de 1 / 2 / 3 datums. MAak het resultaat op met getalopmaak en je bent klaar. FILTER is ook een vrij nieuwe formule in Excel.
Geniet van de verlofdagen !