Excel-formule: ontvang het volgende geplande evenement -

Inhoudsopgave

Generieke formule

(=MIN(IF((range>=TODAY()),range)))

Samenvatting

Om de volgende geplande gebeurtenis uit een lijst met gebeurtenissen met datums te halen, kunt u een matrixformule gebruiken die is gebaseerd op de MIN- en TODAY-functies om de volgende datum te vinden, en INDEX en MATCH om de gebeurtenis op die datum weer te geven. In het getoonde voorbeeld is de formule in G6:

(=MIN(IF((date>=TODAY()),date)))

Waarbij "datum" het benoemde bereik is D5: D14.

Opmerking: dit is een matrixformule en moet worden ingevoerd met Control + Shift + Enter.

Uitleg

Het eerste deel van de oplossing gebruikt de MIN- en TODAY-functies om de "volgende datum" te vinden op basis van de datum van vandaag. Dit wordt gedaan door de datums te filteren via de ALS-functie:

IF((date>=TODAY()),date)

De logische test genereert een reeks TRUE / FALSE-waarden, waarbij TRUE overeenkomt met datums groter dan of gelijk aan vandaag:

(FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE)

Als een resultaat WAAR is, wordt de datum doorgegeven aan de matrix die wordt geretourneerd door IF. Als een resultaat FALSE is, wordt de datum vervangen door de booleaanse waarde FALSE. De functie ALS retourneert de volgende matrix naar MIN:

(FALSE;FALSE;FALSE;43371;43385;43399;43413;43427;43441;43455)

De MIN-functie negeert vervolgens de FALSE-waarden en retourneert de kleinste datumwaarde (43371), de datum 28 september 2018 in het datumsysteem van Excel.

De filmnaam ophalen

Om de film weer te geven die is gekoppeld aan de "volgende datum" ", gebruiken we INDEX en MATCH:

=INDEX(movie,MATCH(G6,date,0))

Binnen INDEX zoekt MATCH de positie van de datum in G6 in de lijst met datums. Deze positie, 4 in het voorbeeld, wordt geretourneerd naar INDEX als een rijnummer:

=INDEX(movie,4)

en INDEX geeft de film terug op die positie, "The Dark Knight".

Alles in één formule

Om de volgende film in één formule te retourneren, kunt u deze matrixformule gebruiken:

(=INDEX(movie,MATCH(MIN(IF((date>=TODAY()),date)),date,0)))

Met MINIFS

Als u een nieuwere versie van Excel heeft, kunt u de MINIFS-functie gebruiken in plaats van de matrixformule in G6:

=MINIFS(date,date,">="&TODAY())

MINIFS is geïntroduceerd in Excel 2016 via Office 365.

Omgaan met fouten

De formule op deze pagina werkt zelfs als gebeurtenissen niet op datum zijn gesorteerd. Als er echter geen komende datums zijn, retourneert de MIN-functie nul in plaats van een fout. Dit wordt weergegeven als de datum "0-Jan-00" in G6, en de INDEX- en MATCH-formule zal een # N / A-fout genereren, aangezien er geen nulde rij is om een ​​waarde uit te halen. Om deze fout op te vangen, kunt u MIN vervangen door de functie SMALL en vervolgens de hele formule als volgt in IFERROR wikkelen:

=(IFERROR(SMALL(IF((date>=TODAY()),date),1),"None found"))

In tegenstelling tot MIN, zal de SMALL-functie een fout genereren wanneer een waarde niet wordt gevonden, dus IFERROR kan worden gebruikt om de fout te beheren.

Interessante artikelen...