www.valterborsato.it

Gestire il numero della settimana con Excel

In Excel può rendersi necessario calcolare il numero della settimana di una data, sia per aggregare delle informazioni legate a specifici periodi, sia per la necessità di programmare rispetto ad essa scadenze quali: pagamenti, consegne, fine lavori etc.
Per questo tipo di calcolo Excel mette a disposizione due differenti Funzioni. NUM.SETTIMANA e NUM.SETTIMANA.ISO
La Funzione NUM.SETTIMANA.ISO è disponibile a partire dalla versione 2013 di Excel.
Un ulteriore dato che potrebbe tornare utile calcolare, è quello di conoscere quali giorni (ad esempio dal lunedì al venerdì) appartengono ad un determinato numero di settimana. Per questo tipo di calcolo Excel non mette a disposizione specifiche Funzione e bisogna necessariamente ricorre alla costruzione di una Formula.

CONTENUTI

[1] - Calcolare il numero della settimana
[2] - La sintassi della Funzione NUM.SETTIMANA
[3] - La sintassi della Funzione NUM.SETTIMANA.ISO
[4] - Calcolare quali giorni fanno riferimento ad un determinato numero di settimana

Calcolare il numero della settimana

Il numero della settimana può essere restituito attraverso due sistemi di calcolo.
 - il primo sistema prevede che la prima settimana dell'anno sia quella che contiene la data 1 gennaio. In questo caso,  se la data del primo gennaio fosse di domenica, il giorno lunedì 2 gennaio verrebbe attribuito alla seconda settimana. Questo tipo di calcolo viene risolto da Excel con la Funzione NUM.SETTIMANA()
- il secondo sistema di calcolo definisce come prima settimana dell'anno quella che contiene il primo giovedì dell'anno.
In questo sistema se il primo gennaio fosse di venerdì, le giornate 1 (venerdì), 2 (sabato) e 3 gennaio (domenica) sarebbe classificate come settimana numero 52 o 53.
Questo secondo sistema calcolo corrisponde a quanto indicato nel sistema ISO 8601 e comunemente viene definito Sistema di numerazione europeo delle settimane e viene risolto da Excel con la Funzione NUM.SETTIMANA.ISO()

La Funzione NUM.SETTIMANA

Sintassi della Funzione
=NUM.SETTIMANA(Numero_seriale;[Tipo_restituito])
Nella quale:
Numero_seriale Argomento obbligatorio. Rappresenta una data di Excel in formato numero seriale.
[tipo_restituito] Argomento facoltativo. E' un codice che determina quale deve essere il giorno dell'inizio della prima settimana. I codici che possono essere attribuiti a questo argomento sono espressi nella sottostante tabella. Il codice 21 rappresenta il sistema europeo. 
Qualora questo codice venisse omesso, il risultato che la Funzione restituisce è che il primo giorno dell'anno qualunque giorno questo rappresenti (lunedì, martedì, mercoledi.....) è la settimana numero uno e la successiva domenica è l'inizio della settimana numero due.

La Funzione Excel NUM.SETTIMANA come applicare i codici per la definizione del calcolo

La Funzione NUM.SETTIMANA.ISO

Questa Funzione restituisce il numero della settimana ISO dell'anno per una data specificata.
Lo standard internazionale ISO 8601 ha deciso che il primo giorno della settimana sia il lunedì.
Se una settimana si trovasse divisa tra due anni, viene numerata nell'anno in cui è presente con il maggior numero dei giorni.
Come conseguenza di questa regola, la settimana numero 1 di un qualsiasi anno è la settimana in cui cade il 4 gennaio.
La Funzione NUM.SETTIMANA.ISO è stata inserita dalla versione 2013 e rappresenta nell'applicazione del sistema ISO  una semplificazione della precedente Funzione NUM.SETTIMANA nella quale era necessario impostare nell'argomento (tipo restituito) il codice 21.

Sintassi della Funzione
=NUM.SETTIMANA.ISO(data)
Nella quale:
data, Argomento obbligatorio che rappresenta una data di Excel in formato numero seriale

Per mettere a confronto le diverse possibilità di calcolo, nella sottostante tabella le Funzioni NUM.SETTIMANA e NUM.SETTIMANA.ISO vengono considerate in due specifici esempi.

Confronto Funzioni NUMERO.SETTIMANA e  NUMERO.SETTIMANA.ISO

Calcolare con Excel quali giorni fanno riferimento ad un determinato numero di settimana

A causa delle variabili che caratterizzano gli anni e a causa dei diversi metodi di calcolo non è affatto semplice in un Foglio Excel calcolare quali date fanno riferimento ad una specifico numero di settimana.

Sul Web e nei forum vengono proposti diversi metodi di calcolo, alcuni dei quali presi tout court da siti stranieri spesso non fanno riferimento al sistema di calcolo regolamentato dalla normativa ISO 8601 di cui sopra.

A mio avviso uno dei sistemi più affidali l'ho trovato proposto nel forum di www.forumexcel.it anche se, l'applicazione delle formule proposte, non è sicuramente facili e immediato. Tale calcolo necessita inoltre di più passaggi.

Infatti per calcolare la formula corretta dal lunedì al venerdì di un numero di settimana di un qualsiasi anno, bisogna tenere in conto che nel sistema di numerazione delle settimane europeo (sistema ISO 8601) viene individuata come prima settimana dell'anno quella che contiene il primo giovedì.

Pertanto, come precedentemente spiegato, i primi giorni di un anno possono fare riferimento alla numerazione dell'anno precedente.
Per meglio chiarire: se il 1 gennaio è un giorno compreso fra il lunedì e il giovedì, il 1° gennaio appartiene alla settimana 1,
Viceversa, se il 1 gennaio coincidesse con un venerdì, sabato o domenica, il 1° gennaio di quell'anno viene riferito alla settimana 52 o 53 dell'anno precedente.
Pertanto sarà la la successiva settimana che verrà attribuita alla settimana 1 (poichè contiene il primo giovedì dell'anno).

Per supportare questo calcolo (come precedente detto definito dalla normativa ISO)  è pertanto necessario gestire queste variabili.

Calcolo dei giorni dal lunedì al venerdì di un determinato numero di settimana di un determinato anno.

Nel sottostante Foglio di calcolo viene individuato un determinato 'anno' e un determinato numero di settimana (rispettivamente nelle celle B2 e B3) e si vuole ottenere la restituzione del Lunedì e del Venerdì della settimana specificata.

Il primo passaggio è gestire la variabile del conteggio della prima settimana e puntare ad un giorno qualsiasi della settimana a cui si riferisce il numero. Ovviamente di anno in anno questo giorno (seppure con uguale numero settimana) non sarà sempre il medesimo.

Allo scopo nella cella B5 è stata inserita la seguente Formula
=SE(NUM.SETTIMANA.ISO(DATA(B2;1;1))=1;DATA(B2;1;1)+(B3-1)*7;DATA(B2;1;1)+B3*7)

La Funzione Logica SE valuta: se la data del 1 gennaio dell'anno appartiene alla settimana numero 1 del sistema ISO. 
A seconda che sia VERO o FALSO viene aggiunta alla data del 1/gennaio un certo numero di giorni moltiplicando per 7 il numero della settimana espresso nella cella B3.

il secondo e terzo passaggio è quello di risalire al lunedì e al venerdì della settimana a partire dal giorno restituito dalla precedente Formula

Nella cella B7 è stata inserita la seguente Formula: =B5-(GIORNO.SETTIMANA(B5;2)-1)

Nella cella B9 è stata inserita la seguente Formula: =B5+(5-GIORNO.SETTIMANA(B5;2))

Quale prova del corretto calcolo nelle sottostanti celle B12 e B14 sono state inserite due Funzioni =NUM.SETTIMANA.ISO() per verificare se le le due date del lunedì e venerdì appartengono effettivamente alla numero della settimana definito nella iniziale cella B3.

Calcolare con Excel quali giorni fanno riferimento ad un determinato numero di settimana

Indice Generale Argomenti: EXCEL

[Valter Borsato: ottobre - 2014 | Ultimo aggiornamento 5/11/2022]