Calcolo del Last Day in un numero della settimana

Probabilmente sapete che è possibile utilizzare la funzione WEEKNUM per restituire il numero della settimana in un anno per una determinata data. Che cosa succede se si vuole fare il contrario, per determinare l'ultimo giorno di una settimana particolare, se hai a disposizione solo il numero della settimana entro l'anno? Ad esempio, se si dovesse specificare la settimana 37, vuoi capire la data dell'ultimo giorno durante la settimana.

Non esiste una funzione built-in di capire la data desiderata, ma ci sono un certo numero di modi che si può affrontare il problema e capire. In questi esempi assumeremo che l'anno è nella cella A1 e il numero della settimana desiderato è nella cella B1.

Il primo approccio consiste nel calcolare il primo giorno dell'anno desiderato, aggiungere sette giorni ciascuna delle settimane, e quindi sottrarre il numero settimana per il primo giorno dell'anno.

= DATE (A1,1,1) + B1 * 7-WEEKDAY (DATE (A1,1,1))

Questa formula restituisce una data che rappresenta sempre l'ultimo giorno della settimana, se la settimana si conclude il Sabato. Se si desidera che la settimana per terminare in un altro giorno della settimana, allora la formula diventa più complessa. Se si desidera che la settimana per concludere con una Domenica, quindi è sufficiente aggiungere 1 alla formula:

= DATE (A1,1,1) + B1 * 7-WEEKDAY (DATE (A1,1,1)) + 1

Applicando questa stessa logica, si potrebbe pensare che si potrebbe capire settimane che si concludono il Venerdì, semplicemente sottraendo 1 dalla formula. Questo non è il caso, in quanto si utilizza la inizio anno come base. Se si sottrae 1, si esegue in problema dove 1 gennaio qualunque anno è un Sabato; se si sottrae 1 che non finisce con il primo Venerdì dell'anno ma finisce al 31 dicembre dell'anno precedente. Per calcolare per settimane che si concludono il Venerdì hai bisogno di una formula molto più complesso:

= DATE (A1,1,6-WEEKDAY (DATE (A1,1,1)) +
((6-WEEKDAY (DATE (A1,1,1)) <0) * 7) +1) + ((B1-1) * 7)

Da alcuni anni hanno 52 settimane e alcuni hanno 53-di nuovo a seconda che settimane fine il Venerdì, Sabato, Domenica o, è una buona idea di modificare le formule in modo che essi controllano se la data di essere restituito è nello stesso anno che si sta analizzando. Se non si seleziona questa, poi le formule previste finora saranno volentieri date per settimana 73, la settimana 89, o 123 settimane di un dato anno, semplicemente regolare la data nell'anno futuro appropriata.

Ecco la formula per settimane che terminano in Venerdì:

= IF (YEAR (DATE (A1,1,6-WEEKDAY (DATE (A1,1,1)) +
((6-WEEKDAY (DATE (A1,1,1)) <0) * 7) +1) + ((B1-1) * 7)) = A1,
DATE (A1,1,6-WEEKDAY (DATE (A1,1,1)) + ((6-WEEKDAY (DATE (
A1,1,1))

Se la data calcolata non è nello stesso anno come quello che viene indicato nella cella A1, quindi la formula restituisce nulla. Ecco la formula per settimane che terminano in Sabato:

= IF (YEAR (DATE (A1,1,1) + B1 * 7-WEEKDAY (DATE (A1,1,1))) = A1,
DATE (A1,1,1) + B1 * 7-WEEKDAY (DATE (A1,1,1)), "")

Infine, ecco la formula per settimane che terminano in Domenica:

= IF (YEAR (DATE (A1,1,1) + B1 * 7-WEEKDAY (DATE (A1,1,1)) + 1) = A1,
DATE (A1,1,1) + B1 * 7-WEEKDAY (DATE (A1,1,1)) + 1, "")

ExcelTips è la vostra fonte per la formazione Microsoft Excel conveniente. Questo suggerimento (6750) si applica a Microsoft Excel 97, 2000, 2002, e 2003. È possibile trovare una versione di questo suggerimento per l'interfaccia ribbon di Excel (Excel 2007 e versioni successive) qui: Calcolo nell'Ultimo Giorno in un numero della settimana.