Skip to main content

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

Author: Sun Last Modified: 2025-07-21

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, si potrebbe voler analizzare le transazioni all'interno di un periodo di fatturazione, revisionare la presenza per un mese particolare o semplicemente esaminare le voci registrate entro un intervallo di date personalizzato. Cercare manualmente e copiare ogni riga pertinente può essere noioso e soggetto a errori, soprattutto quando il volume dei dati aumenta. Estrarre efficacemente tutti i record tra due date non solo ti fa risparmiare tempo ed energia significativi, 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 compresi tra due date in Excel. Ogni approccio ha scenari applicabili e vantaggi propri: dall'estrazione basata su formule (nessun componente aggiuntivo richiesto), all'uso 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 compresi tra due date mediante formule

Estrai tutti i record compresi tra due date mediante 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 compresi tra due date mediante formule

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

1. Prepara un nuovo foglio di lavoro, ad esempio Sheet2, dove specificherai i limiti di data 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 (come "Data di inizio" e "Data di fine").
A screenshot of the start and end date input cells in Excel

2. Nella cella C2 di Sheet2, inserisci la seguente formula per contare quante righe in Sheet1 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, Sheet1 si riferisce al tuo foglio di dati originale; $A$2:$A$22 è la colonna delle date nel tuo dataset. Regola questi riferimenti secondo necessità per i tuoi dati. A2 e B2 sono le tue celle di data di inizio e fine.

3. Per visualizzare i record corrispondenti, seleziona una cella vuota da cui desideri che inizi l'elenco estratto (ad esempio, in Sheet2, cella A5). Inserisci la seguente formula di array:

=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 semplicemente Invio) per farla funzionare come una formula di array. Quindi usa la maniglia di riempimento per trascinarla verso destra attraverso tutte le colonne del tuo dataset, e poi verso il basso in modo che tutte le righe corrispondenti siano visualizzate. Continua a trascinare fino a vedere 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 Sheet1!A$2:A$22 se vuoi 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 di data possono apparire come numeri a 5 cifre (numeri seriali di data 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 di data nei tuoi dati originali siano veramente in formato data, non memorizzate come testo. Altrimenti, la formula potrebbe non funzionare come previsto.
  • Regola gli intervalli di array se la dimensione dei tuoi dati cambia.
  • 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 compresi tra due date mediante Kutools per Excel

Se preferisci una soluzione più semplificata 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, minimizzando la necessità di formule o impostazioni manuali. Questo è particolarmente adatto agli utenti che spesso gestiscono attività di filtraggio complesse o eseguono operazioni batch su grandi set di dati, poiché riduce la possibilità di errori di formula e accelera 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 seguenti: (Scarica Gratuitamente Kutools per Excel Ora!)

1. Prima, seleziona l'intervallo del tuo 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. Nella finestra di dialogo Seleziona Celle Specifiche:

  • Spunta l'opzione "Riga intera" per selezionare righe complete 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 data rientra nell'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 qualsiasi formula.
  • Se hai incongruenze nel formato delle date, visualizza i risultati della selezione prima di copiare.
  • Usa la funzione per lavori di filtraggio ripetuti o in batch—ripeti rapidamente i passaggi per diversi intervalli di date.
  • Se la tua versione di Kutools non mostra una funzionalità come descritto, aggiorna all'ultima versione per la migliore compatibilità.

Analisi dello Scenario: Questo metodo è ideale per gli utenti che gestiscono liste con molte colonne o per coloro che devono estrarre ripetutamente registrazioni complete basandosi su limiti di data 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 vorresti 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 di abilitare le macro e una certa familiarità con l'editor Visual Basic.

Ecco come configurare tale macro:

1. Clicca Sviluppo > Visual Basic per aprire l'editor VBA. Nella nuova finestra Microsoft Visual Basic for Applications, 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 istruzioni 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'intestazione. Clicca OK.
  2. Seleziona la colonna delle date (inclusa l'intestazione)
    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: aaaa-mm-gg, 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 qualsiasi nuova riga corrispondente verrà aggiunta sotto i risultati esistenti ogni volta che eseguirai la macro.

Risoluzione dei problemi:

  • Se non succede nulla dopo l'esecuzione, controlla gli intervalli selezionati—intervalli non validi o finestre di dialogo annullate faranno uscire dalla macro.
  • Assicurati che le voci della 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 compiti ripetitivi, flussi di lavoro avanzati o quando si condivide una soluzione semi-automatizzata con utenti non tecnici—assegna semplicemente un pulsante per un'operazione ancora più semplice.


Altri Metodi Incorporati di Excel - Usa la funzione Filtro incorporata di Excel

Per gli utenti che preferiscono un approccio semplice e interattivo senza scrivere formule o codici, la funzione Filtro incorporata di Excel offre un modo rapido per visualizzare ed estrarre righe tra due date. Questo è ideale per attività occasionali, controllo visivo o quando è necessario lavorare direttamente con l'interfaccia del foglio di lavoro. Tuttavia, non fornisce aggiornamenti automatici se i criteri di data o i dati cambiano—è necessario 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 nei tuoi dati.
  • Clicca OK. Solo le righe con date nel tuo intervallo specificato rimarranno visibili.
  • Seleziona tutte le righe visibili, premi Ctrl + C per copiare, vai in un'area vuota o in un altro foglio, e premi Ctrl + V per incollare i risultati filtrati.

Suggerimenti e precauzioni:

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

Analisi dello Scenario: Il filtro incorporato di Excel è più adatto per tabelle di dimensioni moderate e quando è necessario visualizzare o copiare sottoinsiemi istantaneamente senza salvare formule o macro.


Risoluzione dei problemi e suggerimenti di sintesi:

  • Conferma sempre che le celle di data siano formattate in modo coerente su tutto il foglio perché tutte le soluzioni funzionino correttamente.
  • Quando si usano formule o VBA, regola i riferimenti di colonna e intervallo per abbinarli 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 incorporato offrono generalmente risultati più veloci e sono meno soggetti a superare i limiti di memoria/calcolo delle formule estensive.
  • Se incontri spazi vuoti inaspettati o record mancanti nell'output, verifica attentamente che le condizioni di data, gli intervalli di input e i formati dei dati siano impostati come previsto.

Demo: Estrai tutti i record compresi tra due date mediante 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 di Kutools
Funzionalità popolari: Trova, evidenzia o contrassegna duplicati | Elimina righe vuote | Unisci colonne o celle senza perdere dati | Arrotonda...
Super RICERCA.VERT: Ricerca VERT con criteri multipli | Ricerca VERT con 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 multi-selezione...
Gestione Colonne: Aggiungi un numero specifico di colonne | Sposta colonne | Attiva/disattiva la 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 e Foglio di lavoro | Libreria AutoText | Selettore di data | Unisci dati | Crittografa/Decrittografa celle | Invia Email tramite elenco | Super Filtri | Filtro speciale (filtra grassetto/corsivo/barrato...) ...
Top15 set di strumenti:12 strumenti di testo (Aggiungi testo, Elimina Caratteri Specifici, ...) | Oltre50 tipi di grafici (Diagramma di Gantt, ...) | Oltre40 formule pratiche (Calcola l'età in base alla data di nascita, ...) |19 strumenti di inserimento (Inserisci codice QR, Inserisci Immagine da percorso, ...) |12 strumenti di conversione (Converti in parole, Conversione valuta, ...) |7 strumenti di unione e divisione (Unione avanzata righe, Dividi celle, ...) | ... e molto altro

Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un'efficienza mai vista prima. 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 in Office e rende il tuo lavoro molto più semplice

  • Abilita la modifica e la lettura a schede 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 riduce centinaia di clic del mouse ogni giorno!