Sommario
L'esercitazione mostra come sfruttare la nuova funzione SEQUENZA per generare rapidamente un elenco di date in Excel e utilizzare la funzione di riempimento automatico per riempire una colonna con date, giorni lavorativi, mesi o anni.
Fino a poco tempo fa, esisteva un solo modo semplice per generare date in Excel: la funzione di riempimento automatico. Con l'introduzione della nuova funzione SEQUENZA di array dinamici è stato possibile creare una serie di date anche con una formula. Questa esercitazione analizza in modo approfondito entrambi i metodi, in modo che possiate scegliere quello più adatto a voi.
Come riempire le serie di date in Excel
Quando è necessario riempire una colonna di date in Excel, il modo più veloce è utilizzare la funzione di riempimento automatico.
Riempimento automatico di una serie di date in Excel
Riempire una colonna o una riga con date che aumentano di un giorno è molto semplice:
- Digitare la data iniziale nella prima cella.
- Selezionare la cella con la data iniziale e trascinare la maniglia di riempimento (un piccolo quadrato verde nell'angolo in basso a destra) verso il basso o verso destra.
Excel genererà immediatamente una serie di date nello stesso formato della prima data digitata manualmente.
Riempire una colonna con i giorni della settimana, i mesi o gli anni
Per creare una serie di giorni lavorativi, mesi o anni, eseguire una delle seguenti operazioni:
- Riempire una colonna con le date sequenziali come descritto sopra, quindi fare clic sul pulsante Opzioni di riempimento automatico e selezionare l'opzione desiderata, ad esempio Mesi di riempimento :
- In alternativa, è possibile inserire la prima data, fare clic con il pulsante destro del mouse sulla maniglia di riempimento, tenere premuto e trascinare attraverso tutte le celle necessarie. Quando si rilascia il pulsante del mouse, viene visualizzato un menu contestuale che consente di selezionare l'opzione desiderata, Anni di riempimento nel nostro caso:
Riempire una serie di date con incremento di N giorni
Per generare automaticamente una serie di giorni, giorni della settimana, mesi o anni con una passo specifico Ecco cosa dovete fare:
- Inserire la data iniziale nella prima cella.
- Selezionare la cella, fare clic con il pulsante destro del mouse sulla maniglia di riempimento, trascinarla attraverso il numero di celle necessario e rilasciarla.
- Nel menu a comparsa, scegliere Serie (l'ultima voce).
- Nel Serie selezionare la finestra di dialogo Unità di data di interesse e impostare il Valore del passo .
- Fare clic su OK.
Per ulteriori esempi, vedere Come inserire e riempire automaticamente le date in Excel.
Come creare una sequenza di date in Excel con una formula
In una delle esercitazioni precedenti abbiamo visto come utilizzare la nuova funzione SEQUENZA della matrice dinamica per generare una sequenza di numeri. Poiché internamente in Excel le date sono memorizzate come numeri seriali, la funzione può facilmente produrre anche una serie di date. È sufficiente configurare correttamente gli argomenti come spiegato negli esempi seguenti.
Nota: tutte le formule qui descritte funzionano solo nelle ultime versioni di Excel 365 che supportano gli array dinamici. In Excel 2019, Excel 2016 ed Excel 2013 pre-dinamici, utilizzare la funzione di riempimento automatico come mostrato nella prima parte di questa guida.
Creare una serie di date in Excel
Per generare una sequenza di date in Excel, impostate i seguenti argomenti della funzione SEQUENZA:
SEQUENZA(righe, [colonne], [inizio], [passo])- Righe - il numero di righe da riempire con le date.
- Colonne - il numero di colonne da riempire con le date.
- Inizio - la data di inizio nel formato comprensibile da Excel, ad esempio "8/1/2020" o "1-Agosto-2020". Per evitare errori, è possibile fornire la data utilizzando la funzione DATE, ad esempio DATE(2020, 8, 1).
- Passo - l'incremento per ogni data successiva in una sequenza.
Ad esempio, per creare un elenco di 10 date che iniziano con il 1° agosto 2020 e aumentano di 1 giorno, la formula è la seguente:
=SEQUENZA(10, 1, "8/1/2020", 1)
o
=SEQUENZA(10, 1, DATE(2020, 8, 1), 1)
In alternativa, è possibile inserire il numero di date (B1), la data di inizio (B2) e il passo (B3) in celle predefinite e fare riferimento a tali celle nella formula. Poiché stiamo generando un elenco, il numero delle colonne (1) è codificato in modo fisso:
=SEQUENZA(B1, 1, B2, B3)
Digitate la formula sottostante nella cella più in alto (A6 nel nostro caso), premete il tasto Invio e i risultati si distribuiranno automaticamente sul numero di righe e colonne specificato.
Nota: con l'impostazione predefinita Generale Per visualizzarli correttamente, assicurarsi di applicare il formato Data a tutte le celle dell'intervallo di versamento.
Creare una serie di giorni lavorativi in Excel
Per ottenere una serie di soli giorni lavorativi, avvolgere SEQUENCE nella funzione WORKDAY o WORKDAY.INTL in questo modo:
GIORNO DI LAVORO( data_inizio -1, SEQUENZA( no_di_giorni ))Poiché la funzione WORKDAY aggiunge alla data di inizio il numero di giorni specificato nel secondo argomento, si sottrae 1 da esso per avere la data di inizio inclusa nei risultati.
Ad esempio, per generare una sequenza di giorni lavorativi a partire dalla data in B2, la formula è:
=GIORNO LAVORATIVO(B2-1, SEQUENZA(B1))
Dove B1 è la dimensione della sequenza.
Suggerimenti e note:
- Se la data di inizio è sabato o domenica, la serie inizierà il giorno lavorativo successivo.
- La funzione WORKDAY di Excel presuppone che il sabato e la domenica siano fine settimana. Per configurare i fine settimana e i giorni festivi personalizzati, utilizzare invece la funzione WORKDAY.INTL.
Generare una sequenza di mesi in Excel
Per creare una serie di date incrementate di un mese, si può utilizzare questa formula generica:
DATA( anno , SEQUENZA(12), giorno )In questo caso, si inserisce l'anno di destinazione nel primo argomento e il giorno nel terzo argomento. Per il secondo argomento, la funzione SEQUENCE restituisce numeri sequenziali da 1 a 12. In base ai parametri sopra indicati, la funzione DATE produce una serie di date come mostrato nella parte sinistra della schermata sottostante:
=DATA(2020, SEQUENZA(12), 1)
Per visualizzare solo i dati nomi dei mesi impostare uno dei seguenti formati di data personalizzati per l'intervallo di versamento:
- mmm - forma breve come Gennaio , Febbraio , Mar , ecc.
- mmmm - forma completa come Gennaio , Febbraio , Marzo , ecc.
Di conseguenza, nelle celle appariranno solo i nomi dei mesi, ma i valori sottostanti saranno ancora date complete. In entrambe le serie della schermata sottostante, si noti l'allineamento predefinito a destra, tipico dei numeri e delle date in Excel:
Per generare una sequenza di date che incrementa di un mese e inizia con una data specifica , utilizzare la funzione SEQUENZA insieme a DATA:
DATA( data_inizio , SEQUENZA(12, 1, 0))La funzione EDATE restituisce una data che si trova il numero di mesi prima o dopo la data di inizio specificata. La funzione SEQUENCE produce un array di 12 numeri (o quanti ne sono stati specificati) per forzare EDATE a spostarsi in avanti con incrementi di un mese. Si noti che la funzione inizio è impostato a 0, in modo che la data di inizio venga inclusa nei risultati.
Con la data di inizio in B1, la formula assume questa forma:
=DATA(B1, SEQUENZA(12, 1, 0))
Nota: dopo aver completato una formula, ricordarsi di applicare un formato di data appropriato ai risultati per visualizzarli correttamente.
Creare una sequenza di anni in Excel
Per creare una serie di date incrementate per anno, utilizzare questa formula generica:
DATA(SEQUENZA( n , 1, ANNO( data_inizio )), MESE( data_inizio ), GIORNO( data_inizio ))Dove n è il numero di date che si desidera generare.
In questo caso, la funzione DATE(anno, mese, giorno) costruisce una data in questo modo:
- Anno è restituito dalla funzione SEQUENCE che è configurata per generare un file n array di numeri di righe per 1 colonna, a partire dal valore dell'anno da data_inizio .
- Mese e giorno vengono estratti direttamente dalla data di inizio.
Ad esempio, se si inserisce la data di inizio in B1, la formula seguente produce una serie di 10 date con incrementi di un anno:
=DATE(SEQUENZA(10, 1, ANNO(B1)), MESE(B1), GIORNO(B1))
Dopo essere stati formattati come date, i risultati appariranno come segue:
Generare una sequenza di tempi in Excel
Poiché gli orari sono memorizzati in Excel come numeri decimali che rappresentano una frazione del giorno, la funzione SEQUENZA può lavorare direttamente con gli orari.
Supponendo che l'ora di inizio sia in B1, è possibile utilizzare una delle seguenti formule per produrre una serie di 10 volte. La differenza è solo nella formula passo Poiché ci sono 24 ore in un giorno, usare 1/24 per incrementare di un'ora, 1/48 per incrementare di 30 minuti e così via.
A distanza di 30 minuti l'uno dall'altro:
=SEQUENZA(10, 1, B1, 1/48)
1 ora di distanza:
=SEQUENZA(10, 1, B1, 1/24)
2 ore di distanza:
=SEQUENZA(10, 1, B1, 1/12)
La schermata seguente mostra i risultati:
Se non si desidera calcolare manualmente il passo, è possibile definirlo utilizzando la funzione TEMPO:
SEQUENZA(righe, colonne, inizio, TEMPO( ora , minuto , secondo ))Per questo esempio, inseriremo tutte le variabili in celle separate, come mostrato nella schermata sottostante. Quindi, è possibile utilizzare la formula seguente per generare una serie temporale con qualsiasi passo di incremento specificato nelle celle E2 (ore), E3 (minuti) ed E4 (secondi):
=SEQUENZA(B2, B3, B4, TEMPO(E2, E3, E4))
Come creare un calendario mensile in Excel
In questo ultimo esempio, utilizzeremo la funzione SEQUENZA insieme a DATEVALUE e WEEKDAY per creare un calendario mensile che si aggiornerà automaticamente in base all'anno e al mese specificati.
La formula in A5 è la seguente:
=SEQUENZA(6, 7, DATEVALUE("1/"&B2&"/"&B1) - WEEKDAY(DATEVALUE("1/"&B2&"/"&B1)) + 1, 1)
Come funziona questa formula:
Si utilizza la funzione SEQUENCE per generare un array di 6 righe (il numero massimo possibile di settimane in un mese) per 7 colonne (il numero di giorni in una settimana) di date incrementate di 1 giorno. Quindi, la funzione file , colonne e passo argomenti non sollevano alcun dubbio.
La parte più difficile del inizio Non possiamo iniziare il nostro calendario con il 1° giorno del mese di destinazione perché non sappiamo quale giorno della settimana sia. Quindi, usiamo la seguente formula per trovare la prima domenica prima del 1° giorno del mese e dell'anno specificati:
DATEVALUE("1/"&B2&"/"&B1) - WEEKDAY(DATEVALUE("1/"&B2&"/"&B1)) + 1
La prima funzione DATEVALUE restituisce un numero seriale che, nel sistema interno di Excel, rappresenta il 1° giorno del mese in B2 e l'anno in B1. Nel nostro caso, è 44044 che corrisponde al 1° agosto 2020. A questo punto, abbiamo:
44044 - WEEKDAY(DATEVALUE("1/"&B2&"/"&B1)) + 1
La funzione WEEKDAY restituisce il giorno della settimana corrispondente al 1° giorno del mese di riferimento come numero da 1 (domenica) a 7 (sabato). Nel nostro caso, è 7 perché il 1° agosto 2020 è sabato. La nostra formula si riduce a:
44044 - 7 + 1
44044 - 7 è 4403, che corrisponde a sabato 25 luglio 2020. Poiché abbiamo bisogno di domenica, aggiungiamo la correzione +1.
In questo modo si ottiene una formula semplice che produce una serie di numeri di serie che iniziano con 4404:
=SEQUENZA(6, 7, 4404, 1)
Formattando i risultati come date, si otterrà il calendario mostrato nella schermata precedente. Ad esempio, è possibile utilizzare uno dei seguenti formati di data:
- d-mmm-yy per visualizzare date come 1-Agosto-20
- mmm d per visualizzare il mese e il giorno come 20 agosto
- d per visualizzare solo il giorno
Per nascondere queste date irrilevanti, impostare una regola di formattazione condizionale con la formula sottostante e applicare la formula carattere bianco colore:
=MONTE(A5)MESE(DATEVALORE($B$2 & "1"))
Dove A5 è la cella più a sinistra del calendario e B2 è il mese di destinazione.
Per i passaggi dettagliati, vedere Come creare una regola di formattazione condizionale basata su una formula in Excel.
Ecco come si può generare una sequenza di date in Excel. Vi ringrazio per la lettura e spero di vedervi sul nostro blog la prossima settimana!
Eserciziario da scaricare
Sequenza di date in Excel - esempi di formule (file .xlsx)