Hoe alle records tussen twee datums in Excel te extraheren?
Bij het werken met grote hoeveelheden tijdgestempelde gegevens in Excel, moet u vaak alle records extraheren of filteren die tussen twee specifieke datums vallen. U wilt bijvoorbeeld transacties binnen een factuurperiode analyseren, de aanwezigheid voor een bepaalde maand bekijken, of eenvoudigweg de ingevoerde gegevens binnen een aangepast datumbereik onderzoeken. Handmatig zoeken en kopiëren van elke relevante rij kan zowel tijdrovend als foutgevoelig zijn, vooral naarmate uw gegevens in omvang toenemen. Het efficiënt extraheren van alle records tussen twee gegeven datums bespaart u aanzienlijk veel tijd en moeite, en vermindert ook de kans op het missen van belangrijke items of het introduceren van fouten tijdens het verwerken van gegevens.
![]() | ![]() | ![]() |
Hieronder vindt u verschillende praktische methoden om alle records tussen twee datums in Excel te extraheren. Elke aanpak heeft zijn eigen toepasselijke scenario's en voordelen, van formule-gebaseerde extractie (geen invoegtoepassingen vereist), tot het gebruik van Kutools voor Excel voor meer gemak, tot VBA-code en de ingebouwde filterfunctie van Excel — wat flexibele oplossingen biedt voor verschillende behoeften en gebruikersvoorkeuren.
Alle records tussen twee datums extraheren met behulp van formules
Alle records tussen twee datums extraheren met Kutools voor Excel
Gebruik VBA om records tussen twee datums te extraheren
Gebruik de Excel-filter om records tussen twee datums te extraheren
Alle records tussen twee datums extraheren met behulp van formules
Om alle records tussen twee datums in Excel te extraheren met behulp van formules, kunt u de volgende stappen volgen. Deze oplossing is vooral handig wanneer u dynamische updates wilt: wanneer de originele dataset of de datumvoorwaarden veranderen, worden de resultaten automatisch bijgewerkt. Echter, als u minder bekend bent met matrixformules, kan de initiële instelling wat complex lijken. Als uw dataset erg groot is, kan deze methode langzamere berekeningsprestaties veroorzaken.
1. Bereid een nieuw werkblad voor, bijvoorbeeld Sheet2, waar u de datumgrenzen gaat specificeren en de geëxtraheerde records weergeven. Voer de gewenste startdatum en einddatum in cellen A2 en B2 in respectievelijk. Voor duidelijkheid kunt u headers toevoegen in A1 en B1 (zoals "Startdatum" en "Einddatum").
2. Voer in cel C2 van Sheet2 de volgende formule in om te tellen hoeveel rijen in Sheet1 datums bevatten die binnen het gespecificeerde bereik vallen:
=SUMPRODUCT((Sheet1!$A$2:$A$22>=A2)*(Sheet1!$A$2:$A$22<=B2))
Nadat u de formule hebt ingevoerd, drukt u op Enter. Dit helpt u begrijpen hoeveel items overeenkomen met uw filterconditie, waardoor u gemakkelijk weet hoeveel resultaten u kunt verwachten.
Opmerking: In deze formule verwijst Sheet1 naar uw originele gegevensblad; $A$2:$A$22 is de datumkolom in uw gegevens. Pas deze verwijzingen indien nodig aan voor uw gegevens. A2 en B2 zijn uw start- en einddatumcellen.
3. Om de overeenkomende records weer te geven, selecteer een lege cel waar u de geëxtraheerde lijst wilt laten beginnen (bijvoorbeeld in Sheet2, cel A5). Voer de volgende array-formule in:
=IF(ROWS(A$5:A5)>$C$2,"",INDEX(Sheet1!A$2:A$22,SMALL(IF((Sheet1!$A$2:$A$22>=$A$2)*(Sheet1!$A$2:$A$22<=$B$2),ROW(Sheet1!A$2:A$22)-ROW(Sheet1!$A$2)+1),ROWS(A$5:A5))))
Na het typen van de formule, druk op Ctrl + Shift + Enter (in plaats van alleen Enter) om het te laten werken als een array-formule. Gebruik vervolgens de vulgreep om het naar rechts te slepen over zoveel kolommen als u gegevens heeft, en daarna naar beneden zodat alle overeenkomende rijen worden weergegeven. Blijf slepen totdat u lege cellen ziet, wat betekent dat alle overeenkomende gegevens zijn geëxtraheerd.
Tips:
- Als u nullen krijgt, betekent dit dat er geen overeenkomende records meer zijn om terug te geven. Stop dan gewoon met verder slepen.
- Het INDEX(...) gedeelte van de formule kan worden aangepast om andere kolommen te extraheren. Wijzig de gerapporteerde kolom in het Sheet1!A$2:A$22 gedeelte als u andere velden wilt retourneren.
- Deze formule kan worden uitgebreid om te werken met meerdere criteria of om hele rijen te extraheren (door de formule in elke kolom te herhalen).
4. Sommige datumresultaten kunnen verschijnen als 5-cijferige getallen (Excel-seriedatumgetallen). Om ze om te zetten in een leesbaar datumformaat, selecteert u de bijbehorende cellen, gaat u naar de Start tab, opent u de formatteringsdropdown en kiest u Korte datum. Dit maakt de geëxtraheerde gegevens duidelijker en bruikbaarder.
Waarschuwingen:
- Zorg ervoor dat alle datumitems in uw originele gegevens echt in datumformaat zijn, niet als tekst opgeslagen. Anders werkt de formule mogelijk niet zoals verwacht.
- Pas arraybereiken aan als uw gegevensgrootte verandert.
- Als je #GETAL! of #N/B-fouten ziet, controleer dan op lege invoerdatums of inconsistenties in uw brongegevens.
Alle records tussen twee datums extraheren met Kutools voor Excel
Als u liever een meer gestroomlijnde en interactieve oplossing hebt, kan de functie Specifieke Cellen Selecteren in Kutools voor Excel u helpen om hele rijen die overeenkomen met uw datumbereik te extraheren met slechts een paar klikken, waardoor de noodzaak voor formules of handmatige instellingen wordt geminimaliseerd. Dit is vooral geschikt voor gebruikers die vaak complexe filtertaken uitvoeren of batchbewerkingen op grote datasets uitvoeren, omdat het de kans op formulefouten vermindert en de workflow versnelt.
Nadat u Kutools voor Excel hebt geïnstalleerd, volg dan de onderstaande stappen: (Kutools voor Excel nu gratis downloaden!)
1. Selecteer eerst het bereik van uw dataset dat u wilt analyseren en extraheren. Klik vervolgens op Kutools > Selecteer > Specifieke Cellen Selecteren vanaf de Excel-werkbalk. Dit opent een dialoogvenster voor geavanceerde selectie.
2. In het dialoogvenster Specifieke Cellen Selecteren:
- Vink de optie "Volledige rij" aan om volledige overeenkomende rijen te selecteren.
- Stel de filterconditie in: kies Groter dan en Kleiner dan in de vervolgkeuzelijsten voor uw datumkolom.
- Voer handmatig uw start- en einddatums in de tekstvakken in (zorg ervoor dat de notatie overeenkomt met uw gegevens).
- Zorg ervoor dat de logica “En” is gekozen, zodat beide voorwaarden tegelijkertijd worden toegepast.

3. Klik OK. Kutools zal onmiddellijk alle rijen selecteren waarvan de datumkolom binnen uw gespecificeerde bereik valt. Druk vervolgens op Ctrl + C om de geselecteerde rijen te kopiëren, ga naar een leeg blad of nieuwe locatie, en druk op Ctrl + V om de geëxtraheerde resultaten te plakken.
Tips en Waarschuwingen:
- De Kutools-aanpak vereist geen wijzigingen in uw originele gegevens of het schrijven van formules.
- Als u inconsistenties in datumformaten heeft, bekijk dan de selectieresultaten voordat u kopieert.
- Gebruik de functie voor herhaalde of batchfiltertaken - herhaal de stappen snel voor verschillende datumbereiken.
- Als uw versie van Kutools een functie niet toont zoals beschreven, update dan naar de laatste versie voor de beste compatibiliteit.
Scenarioanalyse: Deze methode is ideaal voor gebruikers die lijsten met veel kolommen beheren of voor hen die regelmatig volledige records moeten extraheren op basis van veranderende datumlengtes.
VBA-code - Gebruik een macro om automatisch alle rijen tussen twee gespecificeerde datums te filteren en extraheren
Als uw workflow vaak het extraheren van gegevens tussen twee datums omvat en u het proces volledig wilt automatiseren, kan het gebruik van een VBA-macro een slimme keuze zijn. Met VBA kunt u gebruikers vragen om de datumkolom te selecteren, start- en einddatums in te voeren, en automatisch de overeenkomende rijen te filteren en kopiëren naar een nieuw blad. Deze aanpak bespaart handmatige inspanningen en vermindert fouten, maar vereist het inschakelen van macro's en enige vertrouwdheid met de Visual Basic-editor.
Hier is hoe u zo'n macro instelt:
1. Klik Ontwikkelaar > Visual Basic om de VBA-editor te openen. Klik in het nieuwe Microsoft Visual Basic for Applications-venster op Invoegen > Module, en kopieer en plak vervolgens de volgende code in de module:
Sub ExtractRowsBetweenDates_Final()
'Updated by Extendoffice
Dim wsSrc As Worksheet
Dim wsDest As Worksheet
Dim rngTable As Range
Dim colDate As Range
Dim StartDate As Date
Dim EndDate As Date
Dim i As Long
Dim destRow As Long
Dim dateColIndex As Long
Dim cellDate As Variant
Set wsSrc = ActiveSheet
Set rngTable = Application.InputBox("Select the data table (including headers):", "KutoolsforExcel", Type:=8)
If rngTable Is Nothing Then Exit Sub
Set colDate = Application.InputBox("Select the date column (including header):", "KutoolsforExcel", Type:=8)
If colDate Is Nothing Then Exit Sub
On Error GoTo DateError
StartDate = CDate(Application.InputBox("Enter the start date (yyyy-mm-dd):", "KutoolsforExcel", "", Type:=2))
EndDate = CDate(Application.InputBox("Enter the end date (yyyy-mm-dd):", "KutoolsforExcel", "", Type:=2))
On Error GoTo 0
On Error Resume Next
Set wsDest = Worksheets("FilteredRecords")
On Error GoTo 0
If wsDest Is Nothing Then
Set wsDest = Worksheets.Add
wsDest.Name = "FilteredRecords"
rngTable.Rows(1).Copy
wsDest.Cells(1, 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
wsDest.Cells(1, 1).PasteSpecial Paste:=xlPasteFormats
End If
destRow = wsDest.Cells(wsDest.Rows.Count, 1).End(xlUp).Row + 1
dateColIndex = colDate.Column - rngTable.Columns(1).Column + 1
For i = 2 To rngTable.Rows.Count
cellDate = rngTable.Cells(i, dateColIndex).Value
If IsDate(cellDate) Then
If cellDate >= StartDate And cellDate <= EndDate Then
rngTable.Rows(i).Copy
wsDest.Cells(destRow, 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
wsDest.Cells(destRow, 1).PasteSpecial Paste:=xlPasteFormats
destRow = destRow + 1
End If
End If
Next i
Application.CutCopyMode = False
wsDest.Columns.AutoFit
MsgBox "Filtered results have been added to '" & wsDest.Name & "'.", vbInformation
Exit Sub
DateError:
MsgBox "Invalid date format. Please enter dates as yyyy-mm-dd.", vbExclamation
End Sub
2. Om de macro uit te voeren, klik op de (Uitvoeren) knop of druk op F5.
Volg vervolgens de prompts om de stappen te voltooien:
- Selecteer de datatabel (inclusief headers) Wanneer het eerste invoervak verschijnt, selecteer de hele tabel, inclusief de headerrij. Klik OK.
- Selecteer de datumkolom (inclusief header) Wanneer het tweede invoervak verschijnt, selecteer alleen de datumkolom, inclusief de header. Klik OK.
- Voer start- en einddatums in U wordt gevraagd om de startdatum in te voeren (formaat: jjjj-mm-dd, bijvoorbeeld 2025-06-01)Voer vervolgens de einddatum in (bijvoorbeeld 2025-06-30)Klik OK na elk.
Er wordt automatisch een werkblad genaamd FilteredRecords aangemaakt (als het nog niet bestaat). De overeenkomende rijen (waar de datum tussen de start- en einddatum valt) worden naar dat blad gekopieerd. En elke nieuwe overeenkomende rij wordt onder de bestaande resultaten toegevoegd telkens wanneer u de macro uitvoert.
Problemen oplossen:
- Als er niets gebeurt na het uitvoeren, controleer dan uw geselecteerde bereiken - ongeldige bereiken of geannuleerde dialoogvensters zullen de macro afsluiten.
- Zorg ervoor dat uw datumkolomingaven echte Excel-datums zijn; als ze als tekst zijn opgeslagen, converteer ze dan eerst voor nauwkeurig filteren.
Scenario-analyse: Deze VBA-oplossing is bijzonder waardevol voor herhalende taken, geavanceerde workflows, of wanneer u een semi-geautomatiseerde oplossing deelt met niet-technische gebruikers - wijs gewoon een knop toe voor nog gemakkelijker bediening.
Andere ingebouwde Excel-methoden - Gebruik de ingebouwde filterfunctie van Excel
Voor gebruikers die een eenvoudige, interactieve aanpak prefereren zonder formules of code te schrijven, biedt de ingebouwde filterfunctie van Excel een snelle manier om rijen tussen twee datums te bekijken en extraheren. Dit is ideaal voor incidentele taken, visuele controle, of wanneer u direct met de werkbladinterface moet werken. Het biedt echter geen automatische updates als uw datumcriteria of gegevens veranderen - u moet de stappen voor elke nieuwe filtersessie herhalen.
Hier is hoe u het gebruikt:
- Selecteer uw gegevensbereik, waarbij u ervoor zorgt dat de kolomkoppen zijn opgenomen.
- Ga naar het tabblad Gegevens op de werkbalk, en klik vervolgens op Filter. Er verschijnen kleine vervolgpijlen naast elke kop.
- Klik op de pijl voor uw datumkolom en kies Datumfilters > Tussen....
- Voer in het dialoogvenster uw gewenste start- en einddatums in. Zorg ervoor dat de notatie overeenkomt met uw gegevensdatumnotatie.
- Klik OK. Alleen de rijen met datums in uw gespecificeerde bereik blijven zichtbaar.
- Selecteer alle zichtbare rijen, druk op Ctrl + C om te kopiëren, ga naar een leeg gebied of een ander blad, en druk op Ctrl + V om de gefilterde resultaten te plakken.
Tips en Waarschuwingen:
- Deze methode is het beste voor snelle en visuele inspectie of ad-hoc extractie.
- Als uw datumkolom inconsistente formaten gebruikt, corrigeer deze dan van tevoren om ervoor te zorgen dat het filter nauwkeurig werkt.
- Vergeet niet de filter te wissen wanneer u klaar bent om de volledige dataset weer te tonen.
- Gefilterde rijen zijn verborgen, niet verwijderd – uw originele gegevens blijven intact.
Scenarioanalyse: De ingebouwde filterfunctie van Excel is het meest geschikt voor matig grote tabellen en wanneer u subsets direct wilt bekijken of kopiëren zonder formules of macro's op te slaan.
Problemen oplossen en samenvattingsuggesties:
- Bevestig altijd dat uw datumcellen consistent zijn geformatteerd over het hele werkblad voor correcte werking van alle oplossingen.
- Pas bij het gebruik van formules of VBA kolom- en bereikverwijzingen aan om overeen te komen met de daadwerkelijke structuur van uw blad om index- of verwijzingsfouten te voorkomen.
- Voor prestaties op zeer grote datasets bieden Kutools of ingebouwd filteren doorgaans snellere resultaten en zijn ze minder geneigd om geheugen-/formuleberekeningslimieten te overschrijden vergeleken met uitgebreide arrayformules.
- Als u onverwachte lege velden of ontbrekende records in de uitvoer tegenkomt, controleer dan dubbel uw datumvoorwaarden, invoerbereiken en gegevensformaten om te zien of ze zoals bedoeld zijn ingesteld.
Demo: Alle records tussen twee datums extraheren met Kutools voor Excel
Beste Office-productiviteitstools
Versterk 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 krijgen die je het meest nodig hebt...
Office Tab brengt een tabbladinterface naar Office en maakt je werk veel eenvoudiger
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in
- 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!