Sommario
Mentre Microsoft Excel offre una serie di funzioni per lavorare con i giorni della settimana, i mesi e gli anni, solo una è disponibile per le settimane: la funzione SETTIMANA. Quindi, se cercate un modo per ottenere un numero di settimana da una data, SETTIMANA è la funzione che fa per voi.
In questa breve esercitazione, parleremo brevemente della sintassi e degli argomenti di WEEKNUM di Excel, per poi discutere alcuni esempi di formule che dimostrano come sia possibile utilizzare la funzione WEEKNUM per calcolare i numeri della settimana nei fogli di lavoro di Excel.
Funzione WEEKNUM di Excel - sintassi
La funzione WEEKNUM viene utilizzata in Excel per restituire il numero di settimana di una data specifica nell'anno (un numero compreso tra 1 e 54). Ha due argomenti, il primo è obbligatorio e il secondo è opzionale:
WEEKNUM(numero_serie, [tipo_ritorno])- Numero_di_serie - una data qualsiasi all'interno della settimana di cui si vuole trovare il numero, che può essere un riferimento a una cella contenente la data, una data inserita con la funzione DATA o restituita da un'altra formula.
- Tipo_di_ritorno (facoltativo) - un numero che determina il giorno in cui inizia la settimana. Se omesso, viene utilizzato il tipo predefinito 1 (la settimana inizia di domenica).
Ecco l'elenco completo dei tipo_ritorno
valori supportati nelle formule WEEKNUM.
Tipo_di_ritorno | La settimana inizia il |
1 o 17 o omesso | Domenica |
2 o 11 | Lunedì |
12 | Martedì |
13 | Mercoledì |
14 | Giovedì |
15 | Venerdì |
16 | Sabato |
21 | Lunedì (utilizzato nel Sistema 2, vedere i dettagli di seguito). |
Nella funzione WEEKNUM, due differenti sistemi di numerazione settimanale sono utilizzati:
- Sistema 1. La settimana che contiene il 1° gennaio è considerata la prima settimana dell'anno e viene numerata come settimana 1. In questo sistema, la settimana inizia tradizionalmente di domenica.
- Sistema 2. È il sistema di datazione della settimana ISO che fa parte dello standard ISO 8601 per la data e l'ora. In questo sistema, la settimana inizia il lunedì e la settimana che contiene il primo giovedì dell'anno è considerata la settimana 1. È comunemente noto come sistema di numerazione della settimana europea ed è utilizzato principalmente in ambito governativo e aziendale per gli anni fiscali e il cronometraggio.
Tutti i tipi di ritorno sopra elencati sono validi per il sistema 1, tranne il tipo di ritorno 21 che viene utilizzato nel sistema 2.
Nota: in Excel 2007 e versioni precedenti sono disponibili solo le opzioni 1 e 2. I tipi di ritorno da 11 a 21 sono supportati solo in Excel 2010 e Excel 2013.
Formule WEEKNUM di Excel per convertire la data in numero di settimana (da 1 a 54)
L'immagine seguente mostra come si possono ottenere i numeri delle settimane dalle date con il metodo più semplice =SETTIMANA(A2)
formula:
Nella formula di cui sopra, il tipo_ritorno
è omesso, il che significa che viene utilizzato il tipo 1 predefinito - la settimana che inizia di domenica.
Se si preferisce iniziare con un altro giorno della settimana, ad esempio lunedì, si può usare 2 nel secondo argomento:
=WEEKNUM(A2, 2)
Invece di fare riferimento a una cella, è possibile specificare la data direttamente nella formula utilizzando, ad esempio, la funzione DATA(anno, mese, giorno):
=WEEKNUM(DATA(2015,4,15), 2)
La formula di cui sopra restituisce 16, che è il numero della settimana che contiene il 15 aprile 2015, con una settimana che inizia di lunedì.
Negli scenari reali, la funzione WEEKNUM di Excel viene usata raramente da sola, mentre il più delle volte viene utilizzata in combinazione con altre funzioni per eseguire vari calcoli basati sul numero della settimana, come dimostrato nei prossimi esempi.
Come convertire il numero della settimana in data in Excel
Come si è appena visto, non è un problema trasformare una data in un numero di settimana utilizzando la funzione WEEKNUM di Excel. Ma se si volesse fare il contrario, cioè convertire un numero di settimana in una data? Ahimè, non esiste una funzione di Excel in grado di farlo immediatamente. Quindi, dovremo costruire le nostre formule.
Supponiamo di avere un anno nella cella A2 e un numero di settimana in B2 e di voler calcolare le date di inizio e fine di questa settimana.
Nota: questo esempio di formula si basa sui numeri della settimana ISO, con una settimana che inizia il lunedì.
La formula per restituire il valore Data di inizio della settimana è la seguente:
=DATA(A2, 1, -2) - GIORNO DELLA SETTIMANA(DATA(A2, 1, 3)) + B2 * 7
Dove A2 è l'anno e B2 è il numero della settimana.
Si noti che la formula restituisce la data come numero di serie e che per visualizzarla come data è necessario formattare la cella di conseguenza. Le istruzioni dettagliate si trovano in Modifica del formato della data in Excel. Ecco il risultato restituito dalla formula:
Naturalmente, la formula per convertire un numero di settimana in una data non è banale e potrebbe richiedere un po' di tempo per capire la logica. In ogni caso, farò del mio meglio per fornire una spiegazione significativa a coloro che sono curiosi di andare a fondo.
Come vedete, la nostra formula è composta da 2 parti:
DATA(A2, 1, -2) - GIORNO DELLA SETTIMANA(DATA(A2, 1, 3))
- calcola la data dell'ultimo lunedì dell'anno precedente.B2 * 7
- aggiunge il numero di settimane moltiplicato per 7 (il numero di giorni in una settimana) per ottenere il lunedì (data di inizio) della settimana in questione.
Nel sistema di numerazione settimanale ISO, la settimana 1 è quella che contiene il primo giovedì dell'anno. Di conseguenza, il primo lunedì è sempre compreso tra il 29 dicembre e il 4 gennaio. Quindi, per trovare questa data, dobbiamo trovare il lunedì immediatamente precedente al 5 gennaio.
In Microsoft Excel è possibile estrarre un giorno della settimana da una data utilizzando la funzione WEEKDAY (giorno della settimana). È inoltre possibile utilizzare la seguente formula generica per ottenere il lunedì immediatamente precedente a una data qualsiasi:
= data - GIORNO DELLA SETTIMANA( data - 2)Se il nostro obiettivo finale è trovare il lunedì immediatamente precedente al 5 gennaio dell'anno in A2, possiamo utilizzare le seguenti funzioni DATE:
=DATA(A2,1,5) - GIORNO DELLA SETTIMANA(DATA(A2,1,3))
Ma ciò che serve non è il primo lunedì di quest'anno, bensì l'ultimo lunedì dell'anno precedente. Quindi, bisogna sottrarre 7 giorni dal 5 gennaio e quindi si ottiene -2 nella prima funzione DATE:
=DATA(A2,1,-2) - GIORNO DELLA SETTIMANA(DATA(A2,1,3))
Rispetto alla complicata formula appena appresa, il calcolo del valore di Data di fine della settimana è un gioco da ragazzi :) Per ottenere la domenica della settimana in questione, è sufficiente aggiungere 6 giorni all'intervallo Data di inizio , cioè =D2+6
In alternativa, si può aggiungere 6 direttamente nella formula:
=DATA(A2, 1, -2) - GIORNO DELLA SETTIMANA(DATA(A2, 1, 3)) + B2 * 7 + 6
Per assicurarsi che le formule forniscano sempre le date giuste, osservare la seguente schermata: le formule Data di inizio e Data di fine discusse in precedenza sono copiate rispettivamente nelle colonne D ed E:
Altri modi per convertire il numero della settimana in data in Excel
Se la formula di cui sopra, basata sul sistema di date settimanali ISO, non soddisfa le vostre esigenze, provate una delle seguenti soluzioni.
Formula 1. Una settimana contenente Jan-1 è la settimana 1, la settimana Lun-Dom
Come si ricorderà, la formula precedente funziona in base al sistema di date ISO in cui il primo giovedì dell'anno è considerato la settimana 1. Se si lavora in base a un sistema di date in cui la settimana contenente il 1° gennaio è considerata la settimana 1, utilizzare le formule seguenti:
Data di inizio:
=DATA(A2,1,1) - GIORNO DELLA SETTIMANA(DATA(A2,1,1),2) + (B2-1)*7 + 1
Data di scadenza:
=DATA(A2,1,1)- GIORNO DELLA SETTIMANA(DATA(A2,1,1),2) + B2*7
Formula 2. Una settimana contenente gennaio-1 è la settimana 1, settimana dom-sab.
Queste formule sono simili a quelle precedenti, con l'unica differenza che sono scritte per la settimana da domenica a sabato.
Data di inizio:
=DATA(A2,1,1) - GIORNO DELLA SETTIMANA(DATA(A2,1,1),1) + (B2-1)*7 + 1
Data di scadenza:
=DATA(A2,1,1)- GIORNO DELLA SETTIMANA(DATA(A2,1,1),1) + B2*7
Formula 3. Iniziare sempre il conteggio il 1° gennaio, settimana lun-dom.
Mentre le formule precedenti restituiscono il lunedì (o la domenica) della settimana 1, indipendentemente dal fatto che cada nell'anno in corso o nell'anno precedente, questa formula della data di inizio restituisce sempre 1 gennaio come data di inizio della settimana 1, indipendentemente dal giorno della settimana. Per analogia, la formula per la data di fine restituisce sempre 31 dicembre come data di fine dell'ultima settimana dell'anno, indipendentemente dal giorno della settimana. Per il resto, queste formule funzionano in modo simile alla Formula 1 di cui sopra.
Data di inizio:
=MAX(DATA(A2,1,1), DATA(A2,1,1) - GIORNO DELLA SETTIMANA(DATA(A2,1,1),2) + (B2-1)*7 + 1)
Data di scadenza:
=MIN(DATA(A2+1,1,0), DATA(A2,1,1) - GIORNO DELLA SETTIMANA(DATA(A2,1,1),2) + B2*7)
Formula 4. Iniziare sempre il conteggio il 1° gennaio, settimana dom-sab.
Per calcolare le date di inizio e fine di una settimana da domenica a sabato, basta un piccolo aggiustamento nelle formule precedenti :)
Data di inizio:
=MAX(DATA(A2,1,1), DATA(A2,1,1) - GIORNO DELLA SETTIMANA(DATA(A2,1,1),1) + (B2-1)*7 + 1)
Data di scadenza:
=MIN(DATA(A2+1,1,0), DATA(A2,1,1) - GIORNO DELLA SETTIMANA(DATA(A2,1,1),1) + B2*7)
Come ottenere il mese dal numero della settimana
Per ottenere il mese corrispondente al numero della settimana, si trova il primo giorno di una determinata settimana, come spiegato in questo esempio, e poi si inserisce la formula nella funzione MESE di Excel come segue:
=MESE(DATA(A2, 1, -2) - GIORNO DELLA SETTIMANA(DATA(A2, 1, 3)) + B2 * 7)
Nota: si ricorda che la formula di cui sopra funziona in base al valore di Sistema di date settimanali ISO dove la settimana inizia di lunedì e la settimana che contiene il primo giovedì dell'anno è considerata la settimana 1. Ad esempio, nell'anno 2016, il primo giovedì è il 7 gennaio, per cui la settimana 1 inizia il 4-gen-2016.
Come ottenere il numero di una settimana in un mese (da 1 a 6)
Se la logica aziendale richiede la conversione di una data specifica nel numero della settimana all'interno del mese corrispondente, è possibile utilizzare la combinazione delle funzioni WEEKNUM, DATE e MONTH:
Supponendo che la cella A2 contenga la data originale, utilizzate la seguente formula per una settimana che inizia il giorno Lunedì (notare il 21 nell'argomento return_type di WEEKNUM):
=WEEKNUM($A2,21)-WEEKNUM(DATA(ANNO($A2), MESE($A2),1),21)+1
Per una settimana a partire dal Domenica omettere l'argomento return_type:
=WEEKNUM($A2)-WEEKNUM(DATA(ANNO($A2), MESE($A2),1))+1
Come sommare i valori e trovare la media in base al numero della settimana
Ora che sapete come convertire una data in un numero di settimana in Excel, vediamo come utilizzare i numeri di settimana in altri calcoli.
Supponiamo di avere alcuni dati di vendita mensili e di voler conoscere il totale per ogni settimana.
Per cominciare, scopriamo il numero di settimana corrispondente a ciascuna vendita. Se le date sono nella colonna A e le vendite nella colonna B, copiare il numero di settimana corrispondente a ciascuna vendita. =SETTIMANA(A2)
formula su tutta la colonna C a partire dalla cella C2.
Quindi, fare un elenco dei numeri delle settimane in un'altra colonna (ad esempio, nella colonna E) e calcolare le vendite per ogni settimana utilizzando la seguente formula SUMIF:
=SUMIF($C$2:$C$15, $E2, $B$2:$B$15)
Dove E2 è il numero della settimana.
In questo esempio, stiamo lavorando con un elenco di vendite di marzo, quindi abbiamo i numeri delle settimane da 10 a 14, come mostrato nella seguente schermata:
In modo analogo, è possibile calcolare la media delle vendite per una determinata settimana:
=MEDIAIF($C$2:$C$15, $E2, $B$2:$B$15)
Se la colonna di aiuto con la formula WEEKNUM non si adatta bene al vostro layout di dati, mi dispiace dirvi che non c'è un modo semplice per eliminarla perché WEEKNUM di Excel è una di quelle funzioni che non accettano argomenti di intervallo. Pertanto, non può essere utilizzata all'interno di SUMPRODUCT o di qualsiasi altra formula di matrice come la funzione MESE in uno scenario simile.
Come evidenziare le celle in base al numero della settimana
Supponiamo di avere un lungo elenco di date in una colonna e di voler evidenziare solo quelle che si riferiscono a una determinata settimana. Tutto ciò che serve è una regola di formattazione condizionale con una formula WEEKNUM simile a questa:
=WEEKNUM($A2)=10
Come mostrato nella schermata sottostante, la regola evidenzia le vendite effettuate nella settimana 10, ovvero la prima settimana di marzo 2015. Poiché la regola si applica a A2:B15, evidenzia i valori in entrambe le colonne. Per ulteriori informazioni sulla creazione di regole di formattazione condizionale, consultare questo tutorial: Formattazione condizionale di Excel basata sul valore di un'altra cella.
In questo modo è possibile calcolare i numeri della settimana in Excel, convertire il numero della settimana in data ed estrarre il numero della settimana dalla data. Speriamo che le formule WEEKNUM che avete imparato oggi vi siano utili nei vostri fogli di lavoro. Nel prossimo tutorial parleremo del calcolo dell'età e degli anni in Excel. Vi ringrazio per la lettura e spero di vedervi la prossima settimana!