Skip to main content

Come estrarre tutti i record compresi tra due date in Excel?

Author: Sun Last Modified: 2025-08-06

Quando si lavora con grandi quantità di dati temporizzati in Excel, potrebbe essere necessario estrarre o filtrare tutti i record che rientrano tra due date specifiche. Ad esempio, potresti voler analizzare le transazioni all'interno di un periodo di fatturazione, rivedere le presenze per un determinato mese o semplicemente esaminare le voci registrate in un intervallo di date personalizzato. Cercare manualmente e copiare ogni riga pertinente può essere noioso e soggetto a errori, specialmente quando la quantità di dati cresce. Estrarre efficacemente tutti i record tra due date non solo ti fa risparmiare tempo ed energia, ma riduce anche la probabilità di perdere voci importanti o introdurre errori durante la gestione dei dati.

A screenshot of data range in Excel for extracting records between two dates Arrow right A screenshot showing extracted records between two dates in Excel

Di seguito, troverai diversi metodi pratici per estrarre tutti i record tra due date in Excel. Ogni approccio presenta scenari applicativi e vantaggi propri, dalle estrazioni basate su formule (non richiede componenti aggiuntivi), all'utilizzo di Kutools per Excel per maggiore convenienza, fino al codice VBA e al filtro incorporato di Excel – offrendo soluzioni flessibili per diverse esigenze e preferenze degli utenti.

Estrai tutti i record tra due date utilizzando le formule

Estrai tutti i record tra due date utilizzando Kutools per Excel good idea3

Usa VBA per estrarre record tra due date

Usa il filtro di Excel per estrarre record tra due date


Estrai tutti i record tra due date utilizzando le formule

Per estrarre tutti i record tra due date in Excel usando le formule, puoi seguire questi passaggi. Questa soluzione è particolarmente utile quando desideri aggiornamenti dinamici: ogni volta che il set di dati originale o le condizioni delle date cambiano, i risultati si aggiornano automaticamente. Tuttavia, se non sei molto familiare con le formule matriciali, l'impostazione iniziale potrebbe sembrare un po' complessa. Se il tuo set di dati è molto grande, questo metodo potrebbe causare prestazioni di calcolo più lente.

1. Prepara un nuovo foglio di lavoro, ad esempio Foglio2, dove specificherai i limiti delle date e visualizzerai i record estratti. Inserisci la data di inizio e la data di fine desiderate nelle celle A2 e B2, rispettivamente. Per chiarezza, puoi aggiungere intestazioni in A1 e B1 (ad esempio "Data di inizio" e "Data di fine").
A screenshot of the start and end date input cells in Excel

2. Nella cella C2 del Foglio2, inserisci la seguente formula per contare quante righe nel Foglio1 hanno date che rientrano nell'intervallo specificato:

=SUMPRODUCT((Sheet1!$A$2:$A$22>=A2)*(Sheet1!$A$2:$A$22<=B2))

Dopo aver inserito la formula, premi Invio. Questo ti aiuta a capire quante voci corrispondono alla tua condizione di filtro, rendendo facile sapere quanti risultati aspettarti.
A screenshot of the formula used to count matching rows between two dates

Nota: In questa formula, Foglio1 si riferisce al tuo foglio dati originale; $A$2:$A$22 è la colonna delle date nei tuoi dati. Modifica queste referenze secondo necessità per i tuoi dati. A2 e B2 sono le celle della data di inizio e fine.

3. Per visualizzare i record corrispondenti, seleziona una cella vuota dove desideri che inizi l'elenco estratto (ad esempio, nel Foglio2, cella A5). Inserisci la seguente formula matriciale:

=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))))

Dopo aver digitato la formula, premi Ctrl + Maiusc + Invio (invece di solo Invio) per farla funzionare come una formula matriciale. Poi usa la maniglia di riempimento per trascinarla verso destra attraverso tutte le colonne dei tuoi dati e poi verso il basso in modo che tutte le righe corrispondenti siano visualizzate. Continua a trascinare finché non vedi spazi vuoti, il che significa che tutti i dati corrispondenti sono stati estratti.
A screenshot showing the extracted data using formulas

Suggerimenti:

  • Se ottieni zeri, significa che non ci sono più record corrispondenti da restituire. Semplicemente smetti di trascinare ulteriormente.
  • La parte INDEX(...) della formula può essere adattata per estrarre altre colonne. Cambia la colonna referenziata nella parte Foglio1!A$2:A$22 se desideri restituire altri campi.
  • Questa formula può essere espansa per funzionare con criteri multipli o per estrarre intere righe (ripetendo la formula in ogni colonna).

4. Alcuni risultati delle date potrebbero apparire come numeri a 5 cifre (numeri seriali delle date di Excel). Per convertirli in formato data leggibile, seleziona le celle corrispondenti, vai alla scheda Home , apri il menu a discesa di formattazione e scegli Data breve. Questo renderà i dati estratti più chiari e utilizzabili.
A screenshot of formatted dates

Precauzioni:

  • Assicurati che tutte le voci delle date nei tuoi dati originali siano effettivamente in formato data, non memorizzate come testo. Altrimenti, la formula potrebbe non funzionare come previsto.
  • Regola gli intervalli delle matrici se cambia la dimensione dei tuoi dati.
  • Se vedi errori #NUM! o #N/D, controlla se ci sono date di input vuote o incongruenze nei tuoi dati di origine.

Estrai tutti i record tra due date utilizzando Kutools per Excel

Se preferisci una soluzione più snella e interattiva, la funzione Seleziona celle specifiche in Kutools per Excel può aiutarti a estrarre intere righe che corrispondono al tuo intervallo di date con pochi clic, riducendo al minimo la necessità di formule o impostazioni manuali. Questo è particolarmente adatto agli utenti che gestiscono spesso compiti di filtro complessi o eseguono operazioni in batch su grandi set di dati, poiché riduce la possibilità di errori di formula e velocizza il flusso di lavoro.

Kutools per Excel,dotato di intelligenza artificiale 🤖, offre oltre 300 funzionalità utili per semplificare i tuoi compiti.

Dopo aver installato Kutools per Excel, segui i passaggi qui sotto: (Scarica gratuitamente Kutools per Excel ora!)

1. Prima, seleziona l'intervallo del dataset che desideri analizzare ed estrarre. Poi, clicca Kutools > Seleziona > Seleziona celle specifiche dalla barra multifunzione di Excel. Questo apre una finestra di dialogo per una selezione avanzata.
A screenshot showing Kutools Select Specific Cells feature

2. Nel dialogo Seleziona celle specifiche:

  • Spunta l'opzione "Riga intera" per selezionare intere righe corrispondenti.
  • Imposta la condizione di filtro: scegli Maggiore di e Minore di nei menu a discesa per la tua colonna di date.
  • Inserisci manualmente le tue date di inizio e fine nei campi di testo (assicurati che il formato corrisponda ai tuoi dati).
  • Assicurati che sia scelta la logica “E” in modo che entrambe le condizioni si applichino contemporaneamente.
Vedi screenshot:
A screenshot of the Select Specific Cells dialog with greater than and less than options

3. Clicca OK. Kutools selezionerà istantaneamente tutte le righe la cui colonna di date rientra nel tuo intervallo specificato. Poi, premi Ctrl + C per copiare le righe selezionate, vai in un foglio vuoto o in una nuova posizione e premi Ctrl + V per incollare i risultati estratti.
A screenshot showing extracted rows after using Kutools to select and copy records between two dates

Suggerimenti e precauzioni:

  • L'approccio Kutools non richiede di cambiare i tuoi dati originali o scrivere alcuna formula.
  • Se hai inconsistenza nei formati delle date, controlla i risultati della selezione prima di copiare.
  • Usa la funzione per attività di filtro ripetute o in batch - ripeti rapidamente i passaggi per diversi intervalli di date.
  • Se la tua versione di Kutools non mostra una funzione come descritto, aggiorna all'ultima versione per la migliore compatibilità.

Analisi dello scenario: Questo metodo è ideale per gli utenti che gestiscono elenchi con molte colonne o per coloro che devono estrarre ripetutamente record completi in base a limiti di date variabili.


Codice VBA - Usa una macro per filtrare automaticamente ed estrarre tutte le righe tra due date specificate

Se il tuo flusso di lavoro include spesso l'estrazione di dati tra due date e vuoi automatizzare completamente il processo, usare una macro VBA può essere una scelta intelligente. Con VBA, puoi chiedere agli utenti di selezionare la colonna delle date, inserire le date di inizio e fine, e filtrare e copiare automaticamente le righe corrispondenti in un nuovo foglio. Questo approccio risparmia sforzo manuale e riduce gli errori, ma richiede l'abilitazione delle macro e una certa familiarità con l'editor Visual Basic.

Ecco come configurare tale macro:

1. Clicca Sviluppatore > Visual Basic per aprire l'editor VBA. Nella nuova finestra Microsoft Visual Basic per Applicazioni, clicca Inserisci > Modulo, poi copia e incolla il seguente codice nel Modulo:

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. Per eseguire la macro, clicca il pulsante Run button (Esegui) o premi F5.

Poi segui le indicazioni per completare i passaggi:

  1. Seleziona la tabella dati (inclusi gli header)
    Quando appare la prima casella di input, seleziona l'intera tabella, inclusa la riga dell'header. Clicca OK.
  2. Seleziona la colonna delle date (incluso l'header)
    Quando appare la seconda casella di input, seleziona solo la colonna delle date, inclusa l'intestazione. Clicca OK.
  3. Inserisci le date di inizio e fine
    Ti verrà chiesto di inserire la data di inizio (formato: yyyy-mm-dd, ad esempio, 2025-06-01)
    Poi inserisci la data di fine (ad esempio, 2025-06-30)
    Clicca OK dopo ciascuna.

Un foglio di lavoro denominato FilteredRecords verrà creato automaticamente (se non esiste già). Le righe corrispondenti (dove la data rientra tra le date di inizio e fine) verranno copiate in quel foglio. E nuove righe corrispondenti verranno aggiunte sotto i risultati esistenti ogni volta che esegui la macro.

Risoluzione dei problemi:

  • Se nulla accade dopo l'esecuzione, controlla i range selezionati – range non validi o dialoghi annullati causeranno l'uscita dalla macro.
  • Assicurati che le voci nella colonna delle date siano vere date di Excel; se memorizzate come testo, convertile prima per un filtraggio accurato.

Analisi dello scenario: Questa soluzione VBA è particolarmente preziosa per attività ripetitive, flussi di lavoro avanzati o quando si condivide una soluzione semi-automatica con utenti non tecnici – basta assegnare un pulsante per un'operazione ancora più semplice.


Altri metodi integrati di Excel - Usa la funzione Filtro integrata di Excel

Per gli utenti che preferiscono un approccio semplice e interattivo senza scrivere formule o codice, la funzione Filtro integrata di Excel offre un modo rapido per visualizzare ed estrarre righe tra due date. Questo è ideale per compiti occasionali, controlli visivi o quando è necessario lavorare direttamente con l'interfaccia del foglio di lavoro. Tuttavia, non fornisce aggiornamenti automatici se i criteri delle date o i dati cambiano – devi ripetere i passaggi per ogni nuova sessione di filtro.

Ecco come usarla:

  • Seleziona l'intervallo dei tuoi dati, assicurandoti che le intestazioni delle colonne siano incluse.
  • Vai alla scheda Dati sulla barra multifunzione, poi clicca Filtro. Piccole frecce a discesa appariranno accanto a ciascuna intestazione.
  • Clicca la freccia per la tua colonna di date e scegli Filtri Data > Tra....
  • Nella finestra di dialogo, inserisci le date di inizio e fine desiderate. Assicurati che il formato corrisponda al formato delle date dei tuoi dati.
  • Clicca OK. Solo le righe con date nel tuo intervallo specificato rimarranno visibili.
  • Seleziona tutte le righe visibili, premi Ctrl + C per copiarle, vai in un'area vuota o in un altro foglio, e premi Ctrl + V per incollare i risultati filtrati.

Suggerimenti e precauzioni:

  • Questo metodo è il migliore per ispezioni rapide e visive o estrazioni ad hoc.
  • Se la tua colonna delle date utilizza formati inconsistenti, correggili prima per garantire che il filtro funzioni correttamente.
  • Ricorda di cancellare il filtro quando hai finito per rivelare nuovamente l'intero set di dati.
  • Le righe filtrate sono nascoste, non eliminate – i tuoi dati originali rimangono intatti.

Analisi dello scenario: Il filtro integrato di Excel è più adatto per tabelle di dimensioni moderate e quando hai bisogno di visualizzare o copiare sottoinsiemi istantaneamente senza salvare formule o macro.


Risoluzione dei problemi e suggerimenti di riepilogo:

  • Conferma sempre che le celle delle date siano formattate in modo consistente in tutto il foglio di lavoro affinché tutte le soluzioni funzionino correttamente.
  • Quando si usano formule o VBA, regola le referenze di colonna e intervallo per corrispondere alla struttura effettiva del tuo foglio per evitare errori di indice o riferimento.
  • Per prestazioni su set di dati molto grandi, Kutools o il filtro integrato offrono generalmente risultati più rapidi e sono meno probabili superare i limiti di memoria/calcolo delle formule estese rispetto alle formule matriciali estensive.
  • Se incontri spazi vuoti imprevisti o record mancanti nell'output, verifica attentamente che le condizioni delle date, gli intervalli di input e i formati dei dati siano impostati come previsto.

Demo: Estrai tutti i record tra due date utilizzando Kutools per Excel

 
Kutools per Excel: Oltre 300 strumenti utili a portata di mano! Goditi funzionalità AI gratuite per sempre! Scarica Ora!

I migliori strumenti per la produttività in Office

🤖 Kutools AI Aide: Rivoluziona l’analisi dei dati grazie a: Esecuzione intelligente | Genera codice | Crea formule personalizzate | Analizza dati e genera grafici | Richiama Funzioni avanzate
Funzionalità popolari: Trova, evidenzia o identifica duplicati | Elimina righe vuote | Combina colonne o celle senza perdere dati | Arrotonda
Super RICERCA.VERT: Ricerca con criteri multipli    Ricerca valori multipli  |   Ricerca su più fogli   |   Corrispondenza approssimativa ....
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa | Elenco a discesa dipendente | Elenco a discesa a selezione multipla….
Gestione colonne: Aggiungi un numero specifico di colonne | Sposta colonne | Cambia lo stato di visibilità delle colonne nascoste | Confronta intervalli e colonne...
Funzionalità in evidenza: Attenzione della griglia | Visualizzazione di progettazione | Barra delle formule avanzata | Gestione Cartella di lavoro & Foglio di lavoro | Libreria AutoText | Selettore di data | Unisci dati | Crittografa/Decrittografa celle | Invia Email da elenco | Super Filtri | Filtro speciale (filtra grassetto/corsivo/barrato...)...
I15 migliori kit di strumenti:12 strumenti di testo (Aggiungi testo, Elimina Caratteri Specifici, ...) | Oltre50 tipi di grafici (Diagramma di Gantt, ...) | Oltre40 formule utili (Calcola l'età in base alla data di nascita, ...) |19 strumenti di inserimento (Inserisci codice QR, Inserisci immagine dal percorso, ...) |12 strumenti di conversione (Converti in parole, Conversione valuta, ...) |7 strumenti per unire & dividere (Unione avanzata righe, Dividi celle, ...) | ...e altro ancora
Usa Kutools nella lingua che preferisci – supporta Inglese, Spagnolo, Tedesco, Francese, Cinese e oltre40 altre!

Migliora le tue competenze su Excel con Kutools per Excel e sperimenta un nuovo livello di efficienza. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...


Office Tab porta l’interfaccia a schede su Office, rendendo il tuo lavoro molto più semplice

  • Abilita la modifica a schede e la lettura in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, invece che in nuove finestre.
  • Aumenta la tua produttività del50% e ti fa risparmiare centinaia di clic ogni giorno!