Wie extrahiert man alle Datensätze zwischen zwei Daten in Excel?
Beim Arbeiten mit großen Mengen zeitgestempelter Daten in Excel müssen Sie oft alle Datensätze extrahieren oder filtern, die zwischen zwei bestimmten Daten liegen. Zum Beispiel könnten Sie Transaktionen innerhalb einer Abrechnungsperiode analysieren, die Anwesenheit für einen bestimmten Monat überprüfen oder einfach Einträge innerhalb eines benutzerdefinierten Datumsbereichs untersuchen wollen. Das manuelle Suchen und Kopieren jeder relevanten Zeile kann sowohl mühsam als auch fehleranfällig sein, insbesondere wenn Ihre Daten im Umfang wachsen. Das effiziente Extrahieren aller Datensätze zwischen zwei gegebenen Daten spart nicht nur erheblich Zeit und Mühe, sondern reduziert auch die Wahrscheinlichkeit, wichtige Einträge zu übersehen oder Fehler bei der Datenverarbeitung einzuführen.
![]() | ![]() | ![]() |
Unten finden Sie mehrere praktische Methoden, um alle Datensätze zwischen zwei Daten in Excel zu extrahieren. Jeder Ansatz hat seine eigenen Anwendungsszenarien und Vorteile, von formelbasierter Extraktion (keine Add-ins erforderlich) bis hin zur Verwendung von Kutools für Excel für mehr Komfort, VBA-Code und Excels eingebautem Filter – flexible Lösungen für unterschiedliche Bedürfnisse und Benutzervorlieben.
Alle Datensätze zwischen zwei Daten mit Formeln extrahieren
Alle Datensätze zwischen zwei Daten mit Kutools für Excel extrahieren
Verwenden Sie VBA, um Datensätze zwischen zwei Daten zu extrahieren
Verwenden Sie den Excel-Filter, um Datensätze zwischen zwei Daten zu extrahieren
Alle Datensätze zwischen zwei Daten mit Formeln extrahieren
Um alle Datensätze zwischen zwei Daten in Excel mithilfe von Formeln zu extrahieren, können Sie die folgenden Schritte befolgen. Diese Lösung ist besonders nützlich, wenn Sie dynamische Aktualisierungen wünschen: Wann immer sich das Originaldatenset oder die Datumsbedingungen ändern, werden die Ergebnisse automatisch aktualisiert. Wenn Sie jedoch weniger vertraut mit Array-Formeln sind, kann die anfängliche Einrichtung etwas komplex erscheinen. Wenn Ihr Datensatz sehr groß ist, kann diese Methode die Berechnungsleistung verlangsamen.
1. Bereiten Sie ein neues Arbeitsblatt vor, zum Beispiel Sheet2, wo Sie die Datumsbegrenzungen festlegen und extrahierte Datensätze anzeigen. Geben Sie das gewünschte Startdatum und Enddatum in Zellen A2 und B2 ein. Für mehr Klarheit können Sie Überschriften in A1 und B1 hinzufügen (wie "Startdatum" und "Enddatum").
2. Geben Sie in Zelle C2 von Sheet2 die folgende Formel ein, um zu zählen, wie viele Zeilen in Sheet1 Daten enthalten, die innerhalb des angegebenen Bereichs liegen:
=SUMPRODUCT((Sheet1!$A$2:$A$22>=A2)*(Sheet1!$A$2:$A$22<=B2))
Nachdem Sie die Formel eingegeben haben, drücken Sie Enter. Dies hilft Ihnen zu verstehen, wie viele Einträge Ihrer Filterbedingung entsprechen, sodass Sie leicht wissen, wie viele Ergebnisse zu erwarten sind.
Hinweis: In dieser Formel bezieht sich Sheet1 auf Ihr ursprüngliches Datenblatt; $A$2:$A$22 ist die Datumsspalte in Ihren Daten. Passen Sie diese Referenzen bei Bedarf für Ihre Daten an. A2 und B2 sind Ihre Start- und Enddatumzellen.
3. Um die übereinstimmenden Datensätze anzuzeigen, wählen Sie eine leere Zelle aus, in der die extrahierte Liste beginnen soll (zum Beispiel in Sheet2, Zelle A5). Geben Sie die folgende Array-Formel ein:
=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))))
Nach dem Eingeben der Formel drücken Sie Ctrl + Shift + Enter (anstelle von nur Enter), damit sie als Array-Formel funktioniert. Verwenden Sie dann das Ausfüllkästchen, um sie nach rechts über so viele Spalten zu ziehen, wie Sie Daten haben, und dann nach unten, sodass alle übereinstimmenden Zeilen angezeigt werden. Ziehen Sie weiter, bis Sie Leerzeichen sehen, was bedeutet, dass alle übereinstimmenden Daten extrahiert wurden.
Tipps:
- Wenn Sie Nullen erhalten, bedeutet dies, dass keine weiteren übereinstimmenden Datensätze zurückgegeben werden können. Hören Sie einfach auf, weiter zu ziehen.
- Der INDEX(...) Teil der Formel kann angepasst werden, um andere Spalten zu extrahieren. Ändern Sie die referenzierte Spalte im Sheet1!A$2:A$22 Teil, wenn Sie andere Felder zurückgeben möchten.
- Diese Formel kann erweitert werden, um mit mehreren Kriterien zu arbeiten oder ganze Zeilen zu extrahieren (indem die Formel in jeder Spalte wiederholt wird).
4. Einige Datumsangaben können als fünfstellige Zahlen erscheinen (Excel-Seriendatum Nummern). Um sie in ein lesbares Datumsformat umzuwandeln, wählen Sie die entsprechenden Zellen aus, gehen Sie zum Start Reiter, öffnen Sie das Formatierungsauswahlmenü und wählen Sie Kurzes Datum. Dadurch wird die extrahierte Daten klarer und nutzbarer.
Vorsichtsmaßnahmen:
- Stellen Sie sicher, dass alle Datumsangaben in Ihren Originaldaten tatsächlich im Datumsformat und nicht als Text gespeichert sind. Andernfalls funktioniert die Formel möglicherweise nicht wie erwartet.
- Passen Sie die Array-Bereiche an, wenn sich die Größe Ihrer Daten ändert.
- Wenn Sie #ZAHL! oder #NV-Fehler sehen, prüfen Sie auf leere Eingabedaten oder Inkonsistenzen in Ihren Quelldaten.
Alle Datensätze zwischen zwei Daten mit Kutools für Excel extrahieren
Wenn Sie eine strömere und interaktivere Lösung bevorzugen, kann das Feature "Bestimmte Zellen auswählen" in Kutools für Excel Ihnen helfen, ganze Zeilen, die Ihrem Datumsbereich entsprechen, mit wenigen Klicks zu extrahieren, wodurch die Notwendigkeit von Formeln oder manuellen Einstellungen minimiert wird. Dies ist besonders geeignet für Benutzer, die oft komplexe Filteraufgaben oder Stapeloperationen in großen Datensätzen durchführen, da es die Wahrscheinlichkeit von Formelfehlern reduziert und den Workflow beschleunigt.
Nach der Installation von Kutools für Excel folgen Sie bitte den unten stehenden Schritten: (Jetzt kostenlos Kutools für Excel herunterladen!)
1. Wählen Sie zunächst den Bereich Ihres Datensatzes aus, den Sie analysieren und extrahieren möchten. Klicken Sie dann auf Kutools > Auswählen > Bestimmte Zellen auswählen aus der Excel-Menüleiste. Dies öffnet ein Dialogfenster für fortgeschrittene Auswahlmöglichkeiten.
2. Im Dialogfeld "Bestimmte Zellen auswählen":
- Aktivieren Sie die Option "Gesamte Zeile", um vollständige übereinstimmende Zeilen auszuwählen.
- Legen Sie die Filterbedingung fest: Wählen Sie Größer als und Kleiner als in den Dropdownlisten für Ihre Datumsspalte.
- Geben Sie manuell Ihre Start- und Enddaten in die Textfelder ein (stellen Sie sicher, dass das Format mit Ihren Daten übereinstimmt).
- Stellen Sie sicher, dass die "Und"-Logik ausgewählt ist, damit beide Bedingungen gleichzeitig angewendet werden.

3. Klicken Sie auf OK. Kutools wird sofort alle Zeilen auswählen, deren Datumsspalte in Ihren angegebenen Bereich fällt. Drücken Sie dann Ctrl + C um die ausgewählten Zeilen zu kopieren, gehen Sie zu einem leeren Blatt oder einer neuen Position, und drücken Sie Ctrl + V um die extrahierten Ergebnisse einzufügen.
Tipps und Vorsichtsmaßnahmen:
- Der Kutools-Ansatz erfordert keine Änderungen an Ihren Originaldaten oder das Schreiben von Formeln.
- Falls Sie Inkonsistenzen im Datumsformat haben, überprüfen Sie die Auswahl-Ergebnisse, bevor Sie kopieren.
- Nutzen Sie die Funktion für wiederholte oder stapelweise Filterjobs – wiederholen Sie die Schritte schnell für verschiedene Datumsbereiche.
- Falls Ihre Version von Kutools ein Feature nicht wie beschrieben zeigt, aktualisieren Sie auf die neueste Version für optimale Kompatibilität.
Szenarioanalyse: Diese Methode ist ideal für Benutzer, die Listen mit vielen Spalten verwalten oder die wiederholt vollständige Datensätze basierend auf sich ändernden Datumsbegrenzungen extrahieren müssen.
VBA-Code - Verwenden Sie ein Makro, um automatisch alle Zeilen zwischen zwei angegebenen Daten zu filtern und zu extrahieren
Wenn Ihr Workflow oft das Extrahieren von Daten zwischen zwei Daten einschließt und Sie den Prozess vollständig automatisieren möchten, kann die Verwendung eines VBA-Makros eine kluge Wahl sein. Mit VBA können Sie Benutzer auffordern, die Datumsspalte auszuwählen, Start- und Enddaten einzugeben und automatisch übereinstimmende Zeilen zu filtern und in ein neues Blatt zu kopieren. Dieser Ansatz spart manuelle Mühe und reduziert Fehler, erfordert jedoch das Aktivieren von Makros und einige Vertrautheit mit dem Visual Basic-Editor.
So richten Sie ein solches Makro ein:
1. Klicken Sie auf Entwickler > Visual Basic, um den VBA-Editor zu öffnen. Im neuen Microsoft Visual Basic for Applications Fenster klicken Sie auf Einfügen > Modul, dann kopieren und fügen Sie den folgenden Code in das Modul ein:
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. Um das Makro auszuführen, klicken Sie auf die (Ausführen) Schaltfläche oder drücken Sie F5.
Dann folgen Sie den Anweisungen, um die Schritte abzuschließen:
- Wählen Sie die Datentabelle aus (einschließlich Überschriften) Wenn das erste Eingabefeld erscheint, wählen Sie die gesamte Tabelle einschließlich der Kopfzeile aus. Klicken Sie auf OK.
- Wählen Sie die Datumsspalte aus (einschließlich Kopfzeile) Wenn das zweite Eingabefeld erscheint, wählen Sie nur die Datumsspalte einschließlich der Kopfzeile aus. Klicken Sie auf OK.
- Geben Sie Start- und Enddaten ein Sie werden aufgefordert, das Startdatum einzugeben (Format: jjjj-mm-tt, z.B. 2025-06-01)Geben Sie dann das Enddatum ein (z.B. 2025-06-30)Klicken Sie nach jedem Eintrag auf OK.
Ein Arbeitsblatt namens FilteredRecords wird automatisch erstellt (falls es noch nicht existiert). Die übereinstimmenden Zeilen (bei denen das Datum zwischen dem Start- und Enddatum liegt) werden in dieses Blatt kopiert. Und jedes Mal, wenn Sie das Makro ausführen, werden neue übereinstimmende Zeilen unter den bestehenden Ergebnissen angehängt.
Problembehandlung:
- Wenn nichts passiert, nachdem Sie das Makro ausgeführt haben, überprüfen Sie Ihre ausgewählten Bereiche – ungültige Bereiche oder abgebrochene Dialoge führen dazu, dass das Makro beendet wird.
- Stellen Sie sicher, dass Ihre Einträge in der Datumsspalte echte Excel-Daten sind; falls sie als Text gespeichert sind, konvertieren Sie sie zuerst für eine genaue Filterung.
Szenarioanalyse: Diese VBA-Lösung ist besonders wertvoll für repetitive Aufgaben, fortgeschrittene Workflows oder wenn Sie eine halbautomatisierte Lösung mit Nicht-Technikern teilen möchten – weisen Sie einfach einen Button für noch einfachere Bedienung zu.
Andere integrierte Excel-Methoden - Verwenden Sie die integrierte Filterfunktion von Excel
Für Benutzer, die eine einfache, interaktive Herangehensweise ohne das Schreiben von Formeln oder Code bevorzugen, bietet die integrierte Filterfunktion von Excel eine schnelle Möglichkeit, Zeilen zwischen zwei Daten anzuzeigen und zu extrahieren. Dies ist ideal für gelegentliche Aufgaben, visuelle Überprüfung oder wenn Sie direkt mit der Arbeitsblatt-Oberfläche arbeiten müssen. Allerdings bietet sie keine automatischen Updates, wenn sich Ihre Datumsbedingungen oder Daten ändern – Sie müssen die Schritte für jede neue Filtersitzung wiederholen.
Hier erfahren Sie, wie Sie sie verwenden:
- Wählen Sie Ihren Datenbereich aus, wobei Sie sicherstellen, dass die Spaltenüberschriften einbezogen sind.
- Gehen Sie zur Registerkarte Daten auf dem Menüband, dann klicken Sie auf Filter. Kleine Dropdown-Pfeile erscheinen neben jeder Überschrift.
- Klicken Sie auf den Pfeil für Ihre Datumsspalte und wählen Sie Datumsfilter > Zwischen....
- Geben Sie im Dialogfeld Ihre gewünschten Start- und Enddaten ein. Stellen Sie sicher, dass das Format mit dem Datumsformat Ihrer Daten übereinstimmt.
- Klicken Sie auf OK. Nur die Zeilen mit Daten in Ihrem angegebenen Bereich bleiben sichtbar.
- Wählen Sie alle sichtbaren Zeilen aus, drücken Sie Ctrl + C, um zu kopieren, gehen Sie zu einem leeren Bereich oder einem anderen Blatt, und drücken Sie Ctrl + V, um die gefilterten Ergebnisse einzufügen.
Tipps und Vorsichtsmaßnahmen:
- Diese Methode ist am besten für schnelle und visuelle Inspektion oder Ad-hoc-Extraktion geeignet.
- Wenn Ihre Datumsspalte inkonsistente Formate verwendet, korrigieren Sie diese vorher, um sicherzustellen, dass der Filter genau funktioniert.
- Denken Sie daran, den Filter zu löschen, wenn Sie fertig sind, um das vollständige Datenset wieder sichtbar zu machen.
- Gefilterte Zeilen sind ausgeblendet, nicht gelöscht – Ihre Originaldaten bleiben intakt.
Szenarioanalyse: Der integrierte Excel-Filter ist am besten für mittelgroße Tabellen geeignet und wenn Sie Teilmengen sofort anzeigen oder kopieren müssen, ohne Formeln oder Makros zu speichern.
Problembehandlung und Zusammenfassungsvorschläge:
- Bestätigen Sie immer, dass Ihre Datumsspalten konsistent über das gesamte Arbeitsblatt formatiert sind, damit alle Lösungen korrekt funktionieren.
- Passen Sie beim Verwenden von Formeln oder VBA die Spalten- und Bereichsreferenzen an die tatsächliche Struktur Ihres Blatts an, um Index- oder Referenzfehler zu vermeiden.
- Für die Leistung bei sehr großen Datensätzen bieten Kutools oder integrierte Filterfunktionen typischerweise schnellere Ergebnisse und überschreiten seltener Speicher-/Formelberechnungsgrenzen im Vergleich zu umfangreichen Array-Formeln.
- Wenn Sie unerwartete Leerstellen oder fehlende Datensätze in der Ausgabe erhalten, überprüfen Sie doppelt, ob Ihre Datumsbedingungen, Eingaberäume und Datenformate wie beabsichtigt eingestellt sind.
Demo: Alle Datensätze zwischen zwei Daten mit Kutools für Excel extrahieren
Die besten Office-Produktivitätstools
Steigern Sie Ihre Excel-Kompetenz mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über300 erweiterte Funktionen, um Ihre Produktivität zu steigern und Zeit zu sparen.Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen...
Office Tab bringt die Reiter-Oberfläche in Office und macht Ihre Arbeit so viel einfacher
- Aktivieren Sie die Bearbeitung und das Lesen in Reitern in Word, Excel, PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Reitern desselben Fensters, anstatt in neuen Fenstern.
- Steigert Ihre Produktivität um50 % und reduziert täglich Hunderte von Mausklicks!