Liczba tygodni w Excelu niespójne wyniki

18

Korzystam z arkusza kalkulacyjnego, który zawiera numer tygodnia dla określonej daty. Po kilku badaniach znalazłem funkcję ISOWEEKNUM (), którą mogłem zastosować do kolumny dat, i wyglądało na to, że działa dobrze. Fragment tego arkusza kalkulacyjnego pokazano w linku poniżej:

fragment z arkusza kalkulacyjnego

Zauważyłem jednak, że funkcja wydaje się załamać w 2018 r., Kiedy pokazuje numer tygodnia 31.12.2018 jako tydzień 1, kiedy zawsze pokazywała się jako tydzień 52 lub tydzień 53 w poprzednich latach (co ma dla mnie sens) .

Nie ma innych parametrów niż data dla tej funkcji, więc wygląda dość prosto. Jakieś myśli, jak to zrobić?

WPDavid
źródło
4
Tydzień liczy się jako część roku, w którą przypada większość tego tygodnia.
CodesInChaos

Odpowiedzi:

33

W formule nie ma nic złego, ale być może nie jest to formuła, której chcesz użyć. Istnieje inna formuła programu Excel:

=WEEKNUM(serial_num, [return_type])

To zwróci oczekiwane wyniki. Należy jednak najpierw sprawdzić, który typ numeru tygodnia jest bardziej odpowiedni dla Twojej aplikacji.

Pozwól mi wyjaśnić dalej:

Funkcja ISOWEEKNUM (data) działa na podstawie tego, że tydzień zawsze zaczyna się w poniedziałek i kończy w niedzielę, a następnie ustala standard, że pierwszym tygodniem roku jest ten tydzień, który zawiera pierwszy czwartek roku w tygodniu. Oznacza to, że ostatnie kilka dni poprzedniego roku można oznaczyć jako tydzień 1 następnego roku.

Funkcja WEEKNUM (data, dzień_początkowy) zaczyna liczyć w tygodniu, który zawiera 1 stycznia. Więc 01 stycznia jest pierwszym dniem tygodnia 1. Domyślnie nowe tygodnie rozpoczynają się w niedzielę, a tydzień 2 rozpoczyna się w pierwszą niedzielę po 1 stycznia. Możesz zmienić dzień rozpoczęcia, używając drugiego parametru w funkcji. Innymi słowy, pierwszy tydzień może mieć 1 dzień, jeśli 01 stycznia jest sobotą i używany jest domyślny dzień początkowy. <- jest to kluczowe zrozumienie funkcji WEEKNUM ().

Utworzyłem mały arkusz kalkulacyjny, który zawiera wartości daty i dodaje jeszcze kilka, aby pokazać różnicę:

wprowadź opis zdjęcia tutaj

Zwróć uwagę, że nie tylko w 2018 roku ostatni dzień w roku przypada w pierwszym tygodniu następnego roku. Funkcja ISOWEEKNUM () działa dobrze, po prostu ma inną interpretację, kiedy zaczyna się pierwszy tydzień.

Innym sposobem na to jest spojrzenie na 2 funkcje w ciągu dnia, który przypada pierwszego stycznia:

wprowadź opis zdjęcia tutaj

W 2015 r. Pierwszy stycznia to czwartek. Dlatego funkcja tygodnia ISOWEEKNUM () obejmuje ostatnie 3 dni w grudniu, podczas gdy funkcja WEEKNUM () rozpoczyna tydzień od pierwszego stycznia, ale w pierwszym tygodniu będą tylko 3 dni dla domyślnego dnia rozpoczęcia niedzieli.

Mam nadzieję, że to wyjaśnia różnicę.

Clinton
źródło
1
Dziękuję wam obu za opinie. Obie odpowiedzi pomogły zrozumieć, dlaczego otrzymana odpowiedź była poprawna. Rzeczywiście potrzebowałem weeknum () dla mojego arkusza kalkulacyjnego i dlatego wybrałem @Clinton jako akceptowaną odpowiedź. To pozwoliło mi zrozumieć różnicę w funkcjach.
WPDavid
17

Wygląda na to, że funkcja uległa awarii w 2018 r., Gdy pokazuje numer tygodnia 31.12.2018 jako tydzień 1

To prawda, ponieważ 31 grudnia 2018 r. To poniedziałek.

Jeśli 31 grudnia przypada w poniedziałek, wtorek lub środę, przypada to na tydzień 01 następnego roku. Jeśli jest czwartek, to kończy się w 53 tygodniu roku; jeśli w piątek jest w 52 tygodniu (lub 53, jeśli właśnie kończący się rok jest rokiem przestępnym); jeśli w sobotę lub niedzielę, to w 52 tygodniu roku właśnie się kończy.

Źródło Data tygodnia ISO - Wikipedia

DavidPostill
źródło
Obwiniam Szanghaj , mówię.
Raystafarian