Risultati incoerenti del numero della settimana di Excel


18

Sto usando un foglio di calcolo che include il numero della settimana per una data particolare. Dopo alcune ricerche, ho trovato una funzione ISOWEEKNUM () che potevo applicare a una colonna di date e questo sembrava funzionare bene. Un estratto da questo foglio di calcolo è mostrato nel seguente link:

estratto dal foglio di calcolo

Tuttavia, ho notato che la funzione sembra non funzionare nel 2018 quando mostra il numero della settimana per il 31/12/2018 come settimana 1 quando è sempre apparso come settimana 52 o settimana 53 negli anni precedenti (il che ha senso per me) .

Non ci sono altri parametri oltre alla data per questa funzione, quindi sembra abbastanza semplice. Qualche idea su come farlo funzionare?


4
Una settimana conta come parte dell'anno in cui si svolge la maggior parte di quella settimana.
CodesInChaos

Risposte:


33

Non c'è niente di sbagliato nella tua formula, ma forse non è la formula che vuoi usare. Esiste un'altra formula di Excel:

=WEEKNUM(serial_num, [return_type])

Ciò restituirà i risultati che ti aspetti di ottenere. Tuttavia, è necessario innanzitutto verificare quale tipo di numero di settimana è più appropriato per l'applicazione.

Lasciami spiegare ulteriormente:

La funzione ISOWEEKNUM (data) funziona sulla base del fatto che una settimana inizia sempre di lunedì e termina di domenica, quindi stabilisce lo standard secondo cui la prima settimana dell'anno è quella settimana che contiene il primo giovedì dell'anno della settimana. Ciò significa che gli ultimi giorni dell'anno precedente possono essere etichettati come settimana 1 dell'anno successivo.

La funzione WEEKNUM (data, start_day) inizia a contare sulla settimana che contiene il 1 ° gennaio. Quindi il 1 ° gennaio è il primo giorno della settimana 1. Per impostazione predefinita, le nuove settimane iniziano la domenica, quindi la settimana 2 inizia la prima domenica dopo il 1 ° gennaio. È possibile modificare il giorno iniziale utilizzando il secondo parametro nella funzione. In altre parole, la prima settimana può contenere 1 giorno se il 01 gennaio è un sabato e viene utilizzato il giorno di inizio predefinito. <- questa è la comprensione chiave dietro la funzione WEEKNUM ().

Ho creato un piccolo foglio di calcolo che contiene i valori della data e ne aggiunge altri per dimostrare la differenza:

inserisci qui la descrizione dell'immagine

Si noti che non è solo il 2018 in cui l'ultimo giorno dell'anno è la prima settimana dell'anno successivo. La funzione ISOWEEKNUM () funziona bene, ha solo una diversa interpretazione di quando inizia la prima settimana.

Un altro modo di vedere questo è guardando le 2 funzioni in un periodo di un giorno a cavallo del primo gennaio:

inserisci qui la descrizione dell'immagine

Nel 2015, il primo gennaio è un giovedì. La funzione settimana ISOWEEKNUM () include quindi gli ultimi 3 giorni a dicembre, mentre la funzione WEEKNUM () inizia la settimana il primo gennaio ma ci saranno solo 3 giorni nella prima settimana per il giorno di inizio predefinito della domenica.

Spero che questo spieghi la differenza.


1
Grazie ad entrambi per il tuo feedback. Entrambe le risposte hanno aiutato a capire perché la risposta ricevuta era corretta. In effetti avevo bisogno di weeknum () per il mio foglio di calcolo e quindi ho scelto @Clinton come risposta accettata. Questo mi ha dato una chiara comprensione della differenza nelle funzioni.
WPDavid,

17

La funzione sembra non funzionare nel 2018 quando mostra il numero della settimana per il 31/12/2018 come settimana 1

È corretto, poiché il 31 dicembre 2018 è un lunedì.

Se il 31 dicembre è di lunedì, martedì o mercoledì, è nella settimana 01 dell'anno successivo. Se è un giovedì, è nella settimana 53 dell'anno che sta per concludersi; se di venerdì è nella settimana 52 (o 53 se l'anno che termina è un anno bisestile); se di sabato o domenica, è nella settimana 52 dell'anno che sta per concludersi.

Data della settimana ISO di origine - Wikipedia


Colpa Shanghai, dico.
Raystafarian,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.