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:
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ć?
Odpowiedzi:
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:
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ę:
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:
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ę.
źródło
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.
Źródło Data tygodnia ISO - Wikipedia
źródło