Hoe vind je de maximale of minimale waarde in een bepaald datumbereik (tussen twee data) in Excel?
In dagelijkse gegevensanalyse, vooral bij het werken met transactierecords of tijdreeksdata, moet je vaak de hoogste of laagste waarde identificeren die binnen een specifieke periode voorkomt. Stel je bijvoorbeeld voor dat je een tabel hebt zoals te zien is in de onderstaande schermafbeelding, en je wilt de maximale of minimale waarde tussen twee data bepalen — bijvoorbeeld van 2016/7/1 tot 2016/12/1. Dit is een veelvoorkomende vereiste bij het genereren van rapporten over specifieke perioden, het vergelijken van maandelijkse prestaties of het volgen van pieken en dalen in de data. Dit artikel zal je door verschillende praktische oplossingen leiden met behulp van Excel-formules, VBA-code en ingebouwde functies, zodat je snel en nauwkeurig de waarde kunt extraheren die je nodig hebt.
➤ Zoek maximale of minimale waarde in een bepaald datumbereik met arrayformules
➤ VBA-code: Automatisch de maximale of minimale waarde vinden in een gespecificeerd datumbereik
➤ Andere ingebouwde Excel-methoden: Gebruik een Draaitabel om te filteren en max/min weer te geven op basis van een datumbereik
Zoek maximale of minimale waarde in een bepaald datumbereik met arrayformules
Een eenvoudige aanpak is om arrayformules in Excel te gebruiken, waarmee je waarden kunt berekenen op basis van meerdere criteria — zoals het controleren of data binnen je gespecificeerde bereik valt. Deze methode is geschikt voor gegevens van gemiddelde grootte en voor gebruikers die bekend zijn met het invoeren van formules.
Stel dat je werkblad data vermeldt in kolom A (A5:A17) en de bijbehorende waarden in kolom B (B5:B17), met de start- en einddata voor het bereik ingevoerd in cellen B1 en D1.
1. Selecteer een lege cel waar je het resultaat wilt weergeven (bijv., E2).
Het zoeken naar de maximale waarde tussen 2016/7/1 en 2016/12/1:
2. Voer de volgende formule in de geselecteerde cel in. Nadat je klaar bent met bewerken, druk op Ctrl + Shift + Enter (niet alleen op Enter), zodat Excel de formule herkent als een arrayformule:
=MAX(IF((A5:A17<=$D$1)*(A5:A17>=$B$1),B5:B17,""))
Deze formule controleert welke data binnen je start- en einddatum vallen, en houdt alleen de waarden uit de overeenkomstige rijen over om het maximum te berekenen.
Het zoeken naar de minimale waarde tussen 2016/7/1 en 2016/12/1:
3. Om het minimum binnen hetzelfde datumbereik te vinden, gebruik een vergelijkbare aanpak. Voer de volgende formule in (en bevestig opnieuw met Ctrl + Shift + Enter):
=MIN(IF((A5:A17<=$D$1)*(A5:A17>=$B$1), B5:B17, ""))
Deze formule werkt op dezelfde manier, maar retourneert de minimale waarde die overeenkomt met je datumcriteria.
Opmerkingen:
- In de bovenstaande voorbeelden is A5:A17 het bereik dat je data bevat, $B$1 is de startdatum, $D$1 is de einddatum, en B5:B17 is het bereik van waarden dat je wilt evalueren. Pas deze verwijzingen aan om ze te laten matchen met je daadwerkelijke data.
- Zorg ervoor dat de twee bereiken die je refereert even lang zijn — anders kan de formule fouten genereren.
- Controleer dubbel dat je datumvermeldingen zijn opgemaakt als data en niet als tekst, anders werkt de formule mogelijk niet zoals bedoeld.
Tips:
- Als je werkt met Office 365 of Excel 2021 en later, kun je de MAXIFS- en MINIFS-functies gebruiken voor meer rechte voorwaardelijke berekeningen.
- Als de formule onverwacht een 0 of leeg resultaat geeft, controleer dan of je datumbereik overlapt met de beschikbare datums in de data en kijk of er onopgemerkte lege cellen zijn.
VBA-code: Automatisch de maximale of minimale waarde vinden in een gespecificeerd datumbereik
Voor gebruikers die werken met grote datasets, die deze taak vaak moeten herhalen, of die automatisering nodig hebben in rapportage, biedt een VBA-macro-oplossing een efficiënte manier om de maximale of minimale waarde binnen een gekozen datumbereik te vinden. Met VBA kun je de gebruiker vragen om de relevante bereiken te selecteren en de data in te stellen elke keer, wat ideaal is voor dynamische toepassingen of geavanceerde workflow-integratie.
1. Ga naar Ontwikkelaar > Visual Basic. Klik in het venster van de VBA-editor die verschijnt op Invoegen > Module, en kopieer en plak vervolgens de volgende code in de nieuwe module:
Sub FindMaxMinInDateRange_Robust()
Dim ws As Worksheet
Dim dateRange As Range, valueRange As Range
Dim startCell As Range, endCell As Range
Dim startDate As Date, endDate As Date
Dim i As Long
Dim d As Date, v As Variant
Dim hasHit As Boolean
Dim maxV As Double, minV As Double
Const TITLE As String = "KutoolsforExcel"
On Error GoTo FailFast
Set ws = ActiveSheet
Set dateRange = Application.InputBox("Select the DATE range:", TITLE, Type:=8)
If dateRange Is Nothing Then Exit Sub
Set valueRange = Application.InputBox("Select the VALUE range (same rows as date range):", TITLE, Type:=8)
If valueRange Is Nothing Then Exit Sub
If dateRange.Rows.Count <> valueRange.Rows.Count Then
MsgBox "Date range and value range must have the SAME number of rows.", vbExclamation, TITLE
Exit Sub
End If
Set startCell = Application.InputBox("Select START date cell:", TITLE, Type:=8)
If startCell Is Nothing Then Exit Sub
Set endCell = Application.InputBox("Select END date cell:", TITLE, Type:=8)
If endCell Is Nothing Then Exit Sub
If Not IsDate(startCell.Value) Or Not IsDate(endCell.Value) Then
MsgBox "Start/End cell must contain valid dates.", vbExclamation, TITLE
Exit Sub
End If
startDate = CDate(startCell.Value)
endDate = CDate(endCell.Value)
If startDate > endDate Then
Dim tmp As Date
tmp = startDate: startDate = endDate: endDate = tmp
End If
For i = 1 To dateRange.Rows.Count
If IsDate(dateRange.Cells(i, 1).Value) Then
d = CDate(dateRange.Cells(i, 1).Value)
If d >= startDate And d <= endDate Then
v = valueRange.Cells(i, 1).Value
If IsNumeric(v) And Not IsEmpty(v) Then
If Not hasHit Then
maxV = CDbl(v): minV = CDbl(v)
hasHit = True
Else
If CDbl(v) > maxV Then maxV = CDbl(v)
If CDbl(v) < minV Then minV = CDbl(v)
End If
End If
End If
End If
Next i
If hasHit Then
MsgBox "Max value in range: " & maxV & vbCrLf & _
"Min value in range: " & minV, vbInformation, TITLE
Else
MsgBox "No rows matched the date range (or values were non-numeric).", vbExclamation, TITLE
End If
Exit Sub
FailFast:
MsgBox "Something went wrong: " & Err.Description, vbExclamation, TITLE
End Sub
2. Om de macro uit te voeren, klik op de knop in de VBA-editor (of druk op F5). Volg de prompts om de datum- en waardebereiken te selecteren, en voer de start- en einddatums in. De resulterende maximale en minimale waarden voor je gespecificeerde datumbereik worden weergegeven in een dialoogvenster.
Tips:
- Zorg ervoor dat de geselecteerde datum- en waardebereiken hetzelfde aantal rijen bevatten en direct met elkaar corresponderen.
- Deze aanpak is vooral handig voor het verwerken van uitgebreide lijsten of het automatiseren van repetitieve maximum-/minimumberekeningen op basis van veranderende criteria.
- Als een leeg of ongeldig bereik wordt geselecteerd, of als de datuminput niet correct is opgemaakt, kan de code geen geldig resultaat opleveren — controleer je selecties voordat je de code uitvoert.
Andere ingebouwde Excel-methoden: Gebruik PivotTable om te filteren en max/min weer te geven op basis van een datumbereik
Als je liever geen formules of code gebruikt, biedt het gebruik van de PivotTable-functie van Excel een interactieve, formulevrije methode om data te filteren op basis van data en samenvattingswaarden zoals maximum of minimum weer te geven. Deze oplossing is geschikt voor gebruikers die data willen verkennen, rapporten willen genereren of criteria gemakkelijk willen aanpassen via een grafische interface.
1. Selecteer je tabel (inclusief data en waarden), ga vervolgens naar het tabblad Invoegen en klik op PivotTable.
2. Kies in het dialoogvenster PivotTable maken waar je de PivotTable wilt plaatsen, en klik op OK.
3. Sleep in het deelvenster PivotTable Velden het datumveld naar het Rijen gebied, en het waarden-veld (het veld waarvoor je de max/min wilt vinden) naar het Waarden gebied. Standaard wordt de Som weergegeven; klik op het veld in Waarden, kies Instellingen waardeveld, en wijzig naar Max of Min indien nodig.
4. Om te filteren op een specifiek datumbereik, klik op de vervolgkeuzelijst bij de rijlabels voor het Datum-veld, kies Datumfilters > Tussen…, en specificeer je start- en einddatum (bijv., 2016/7/1 tot 2016/12/1) en klik op OK.
De PivotTable toont nu de maximale of minimale waarde voor elke datum binnen je gespecificeerde bereik. Als je alleen de hoogste of laagste waarde in dat bereik nodig hebt, kun je verder filteren of visueel scannen van de samengevatte resultaten.
Opmerkingen:
- Zorg ervoor dat alle cellen in de Datum-kolom echte datums zijn (en geen tekst). Gemengde formaten kunnen ervoor zorgen dat filters rijen missen.
- Als de brongegevens veranderen, klik met de rechtermuisknop op de PivotTable en kies Vernieuwen om de resultaten bij te werken.
- Afhankelijk van je lay-out kan Excel datums groeperen per maand/kwartaal/jaar. Indien nodig, klik met de rechtermuisknop op een datum in de PivotTable en kies Ongroepeer (of Groepeer… om een gewenst niveau in te stellen).
- Voor zeer grote datasets kan het plaatsen van de PivotTable op een nieuw werkblad de leesbaarheid en prestaties verbeteren.
Tips:
- Voeg een Segmentbalk toe voor het Datum-veld (PivotTable Analyseren > Segmentbalk invoegen) om ranges interactief te wijzigen.
- Heb je een enkele max/min nodig over het hele gefilterde bereik? Na het filteren, sorteer de Waarden-kolom of voeg een tweede Waarden-veld toe en schakel het om naar Max/Min.
- Combineer met een Pivotgrafiek voor een visuele samenvatting die zich aanpast aan je filters.
Deze methode vermijdt handmatige formule-ingave en biedt dynamische interactie — ideaal voor presentaties of scenario's met meerdere gebruikers. Voor sterk aangepaste uitkomsten of batchautomatisering over veel werkbladen, overweeg dan de formule- of VBA-aanpak.
Gerelateerde artikelen:
- Hoe vind je de positie van het eerste/laatste getal in een tekststring in Excel?
- Hoe vind je de eerste of laatste vrijdag van elke maand in Excel?
- Hoe zoek je met VLOOKUP de eerste, tweede of n-de overeenkomstige waarde in Excel?
- Hoe vind je de waarde met de hoogste frequentie in een bereik in Excel?
Beste productiviteitstools voor Office
Verbeter je Excel-vaardigheden met Kutools voor Excel en ervaar ongeëvenaarde efficiëntie. Kutools voor Excel biedt meer dan300 geavanceerde functies om je productiviteit te verhogen en tijd te besparen. Klik hier om de functie te kiezen die je het meest nodig hebt...
Office Tab brengt een tabbladinterface naar Office en maakt je werk veel eenvoudiger
- Activeer tabbladbewerking en -lezen in Word, Excel, PowerPoint, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster, in plaats van in nieuwe vensters.
- Verhoog je productiviteit met50% en bespaar dagelijks honderden muisklikken!
Alle Kutools-invoegtoepassingen. Eén installatieprogramma
Kutools for Office-suite bundelt invoegtoepassingen voor Excel, Word, Outlook & PowerPoint plus Office Tab Pro, ideaal voor teams die werken met Office-toepassingen.





- Alles-in-één suite — invoegtoepassingen voor Excel, Word, Outlook & PowerPoint + Office Tab Pro
- Eén installatieprogramma, één licentie — in enkele minuten geïnstalleerd (MSI-ready)
- Werkt beter samen — gestroomlijnde productiviteit over meerdere Office-toepassingen
- 30 dagen volledige proef — geen registratie, geen creditcard nodig
- Beste prijs — bespaar ten opzichte van losse aanschaf van invoegtoepassingen