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 Datenmenge wächst. Das effiziente Extrahieren aller Datensätze zwischen zwei bestimmten 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), über die Verwendung von Kutools für Excel für mehr Komfort, bis hin zu VBA-Code und Excels integriertem 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 ausführen. 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 Blatt2, 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 Blatt2 die folgende Formel ein, um zu zählen, wie viele Zeilen in Blatt1 Daten enthalten, die im angegebenen Bereich liegen:
=SUMPRODUCT((Sheet1!$A$2:$A$22>=A2)*(Sheet1!$A$2:$A$22<=B2))
Nachdem Sie die Formel eingegeben haben, drücken Sie Eingabe. Dies hilft Ihnen zu verstehen, wie viele Einträge Ihrer Filterbedingung entsprechen, sodass Sie wissen, wie viele Ergebnisse Sie erwarten können.
Hinweis: In dieser Formel bezieht sich Blatt1 auf Ihr Originaldatenblatt; $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 Enddatum-Zellen.
3. Um die übereinstimmenden Datensätze anzuzeigen, wählen Sie eine leere Zelle aus, wo Sie die extrahierte Liste beginnen möchten (zum Beispiel in Blatt2, 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))))
Nachdem Sie die Formel eingegeben haben, drücken Sie Strg + Umschalt + Eingabe (anstelle von nur Eingabe), damit es als Array-Formel funktioniert. Verwenden Sie dann den Ausfüllkursor, um sie nach rechts über so viele Spalten wie Sie Daten haben zu ziehen, und dann nach unten, sodass alle übereinstimmenden Zeilen angezeigt werden. Ziehen Sie weiter, bis Sie Leerstellen 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 Blatt1!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 Sie die Formel in jeder Spalte wiederholen).
4. Einige Datumergebnisse können als 5-stellige Zahlen erscheinen (Excel-Datumsnummern). Um sie in ein lesbares Datumsformat umzuwandeln, wählen Sie die entsprechenden Zellen aus, gehen Sie zur Registerkarte Start , öffnen Sie das Formatierungsauswahlmenü und wählen Sie Kurzes Datum. Dies macht die extrahierten Daten klarer und nutzbarer.
Vorsichtsmaßnahmen:
- Stellen Sie sicher, dass alle Datumeinträge in Ihren Originaldaten tatsächlich im Datumsformat und nicht als Text gespeichert sind. Andernfalls funktioniert die Formel möglicherweise nicht wie erwartet.
- Passen Sie Array-Bereiche an, wenn sich Ihre Datenmenge ändert.
- Wenn Sie #ZAHL! oder #NV-Fehler sehen, überprü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ömungsfähigere und interaktivere Lösung bevorzugen, kann die Funktion Bestimmte Zellen auswählen in Kutools für Excel Ihnen helfen, ganze Zeilen, die Ihrem Datumsbereich entsprechen, mit nur 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 durchführen oder Batch-Vorgänge auf großen Datensätzen ausführen, da es die Wahrscheinlichkeit von Formelfehlern verringert 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 > Select > Bestimmte Zellen auswählen von der Excel-Symbolleiste. Dies öffnet ein Dialogfenster für die erweiterte Auswahl.
2. Im Dialogfenster 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 Dropdown-Listen für Ihre Datumsspalte.
- Geben Sie manuell Ihr Start- und Enddatum 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 Strg + C um die ausgewählten Zeilen zu kopieren, gehen Sie zu einem leeren Blatt oder einer neuen Position, und drücken Sie Strg + V um die extrahierten Ergebnisse einzufügen.
Tipps und Vorsichtsmaßnahmen:
- Der Kutools-Ansatz erfordert keine Änderung Ihrer Originaldaten oder das Schreiben von Formeln.
- Wenn Sie Inkonsistenzen im Datumsformat haben, überprüfen Sie die Auswahl-Ergebnisse vor dem Kopieren.
- Verwenden Sie die Funktion für wiederholte oder Batch-Filteraufgaben – wiederholen Sie die Schritte schnell für verschiedene Datumsbereiche.
- Wenn Ihre Version von Kutools eine Funktion nicht wie beschrieben anzeigt, aktualisieren Sie auf die neueste Version für die beste Kompatibilität.
Szenarioanalyse: Diese Methode ist ideal für Benutzer, die Listen mit vielen Spalten verwalten oder die regelmäßig 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 enthält 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 Kenntnisse des Visual Basic Editors.
So richten Sie ein solches Makro ein:
1. Klicken Sie 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 der Überschriften) Wenn das erste Eingabefeld erscheint, wählen Sie die gesamte Tabelle aus, einschließlich der Kopfzeile. Klicken Sie OK.
- Wählen Sie die Datumsspalte aus (einschließlich der Überschrift) Wenn das zweite Eingabefeld erscheint, wählen Sie nur die Datumsspalte aus, einschließlich der Überschrift. Klicken Sie OK.
- Geben Sie Start- und Enddatum ein Sie werden aufgefordert, das Startdatum einzugeben (Format: jjjj-mm-tt, z.B., 2025-06-01)Dann geben Sie das Enddatum ein (z.B., 2025-06-30)Klicken Sie nach jeder Eingabe 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 Datumsspalteeinträge 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 technischen Benutzern teilen – weisen Sie einfach eine Schaltfläche zu, um den Betrieb noch einfacher zu gestalten.
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 Tabellenblattschnittstelle arbeiten müssen. Sie bietet jedoch keine automatischen Updates, wenn sich Ihre Datumsbedingungen oder Daten ändern – Sie müssen die Schritte für jede neue Filtersitzung wiederholen.
Hier ist, wie Sie diese verwenden:
- Wählen Sie Ihren Datenbereich aus und stellen Sie sicher, dass die Spaltenüberschriften eingeschlossen sind.
- Gehen Sie zur Registerkarte Daten auf der Symbolleiste, dann klicken Sie Filter. Kleine Dropdown-Pfeile erscheinen neben jedem Header.
- Klicken Sie auf den Pfeil für Ihre Datumsspalte und wählen Sie Datumsfilter > Zwischen....
- Geben Sie im Dialogfeld Ihr gewünschtes Start- und Enddatum ein. Stellen Sie sicher, dass das Format mit dem Datumsformat Ihrer Daten übereinstimmt.
- Klicken Sie OK. Nur die Zeilen mit Daten in Ihrem angegebenen Bereich bleiben sichtbar.
- Wählen Sie alle sichtbaren Zeilen aus, drücken Sie Strg + C, um sie zu kopieren, gehen Sie zu einem leeren Bereich oder einem anderen Blatt, und drücken Sie Strg + 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 gesamte Dataset wieder sichtbar zu machen.
- Gefilterte Zeilen sind versteckt, nicht gelöscht – Ihre Originaldaten bleiben unversehrt.
Szenarioanalyse: Excels integrierter 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 Datumsspalte konsistent über das gesamte Arbeitsblatt formatiert ist, damit alle Lösungen korrekt funktionieren.
- Bei der Verwendung von Formeln oder VBA passen Sie Spalten- und Bereichsreferenzen an, um der tatsächlichen Struktur Ihres Blattes zu entsprechen, 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-/Formelberechnungslimits 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, Eingabebereiche und Datenformate wie beabsichtigt eingestellt sind.
Demo: Extrahieren Sie alle Datensätze zwischen zwei Daten mit Kutools für Excel
Beste Büroproduktivitätswerkzeuge
Verbessern Sie Ihre Excel-Fähigkeiten mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über300 erweiterte Funktionen zur Steigerung der Produktivität und Zeitersparnis. Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen...
Office Tab bringt eine Registerkartenoberfläche zu Office und macht Ihre Arbeit viel einfacher
- Aktivieren Sie die Bearbeitung und das Lesen mit Registerkarten in Word, Excel, PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters, anstatt in neuen Fenstern.
- Steigert Ihre Produktivität um50 % und reduziert täglich hunderte von Mausklicks für Sie!