Excel-Wochennummer inkonsistente Ergebnisse

2034
WPDavid

Ich verwende eine Tabelle, die die Wochennummer für ein bestimmtes Datum enthält. Nach einiger Recherche fand ich eine Funktion ISOWEEKNUM (), die ich auf eine Spalte mit Datumsangaben anwenden konnte und dies schien gut zu funktionieren. Ein Auszug aus dieser Tabelle wird in dem folgenden Link gezeigt:

Auszug aus der Tabelle

Mir ist jedoch aufgefallen, dass die Funktion im Jahr 2018 zusammenbricht, als sie die Wochennummer für den 31.12.2014 als Woche 1 anzeigt, wenn sie in den vorangegangenen Jahren immer als Woche 52 oder Woche 53 angezeigt wurde (was für mich sinnvoll ist). .

Es gibt keine anderen Parameter als das Datum für diese Funktion, daher sieht es ziemlich einfach aus. Irgendwelche Gedanken, wie man das zum Laufen bringt?

18
Eine Woche zählt als Teil des Jahres, in dem sich der größte Teil dieser Woche befindet. CodesInChaos vor 5 Jahren 4

2 Antworten auf die Frage

33
Clinton

Es ist nichts falsch mit Ihrer Formel, aber vielleicht ist es nicht die Formel, die Sie verwenden möchten. Es gibt eine andere Excel-Formel:

=WEEKNUM(serial_num, [return_type]) 

Das wird die Ergebnisse liefern, die Sie erwarten. Sie sollten jedoch zuerst prüfen, welche Art von Wochennummer für Ihre Kalkulationstabelle besser geeignet ist.

Lassen Sie mich weiter erklären:

Die ISOWEEKNUM () - Funktion basiert darauf, dass eine Woche immer an einem Montag beginnt und an einem Sonntag endet und dann den Standard festlegt, dass die erste Woche des Jahres die Woche ist, die den ersten Donnerstag des Jahres in der Woche enthält.

Die Funktion WEEKNUM (Datum, start_day) beginnt in der Woche zu zählen, die den 1. Januar enthält. Der 1. Januar ist der erste Tag der Woche 1. Standardmäßig beginnen die neuen Wochen am Sonntag, also beginnt die Woche 2 am ersten Sonntag nach dem 1. Januar. Sie können den Starttag mit dem zweiten Parameter in der Funktion ändern. Mit anderen Worten, die erste Woche kann 1 Tag enthalten, wenn der 01. Januar ein Samstag ist und der Standardstarttag verwendet wird. <- Dies ist das Schlüsselverständnis der WEEKNUM () - Funktion.

Ich habe eine kleine Tabelle erstellt, die Ihre Datumswerte enthält und ein paar weitere hinzufügt, um den Unterschied zu verdeutlichen:

Beachten Sie, dass der letzte Tag des Jahres nicht erst ab 2018 in der ersten Woche liegt. Die ISOWEEKNUM () - Funktion funktioniert einwandfrei. Sie hat nur eine andere Interpretation als die erste Woche beginnt.

Eine andere Möglichkeit, dies zu sehen, besteht darin, die zwei Funktionen über einen Tag hinweg zu betrachten, der den ersten Januar umfasst:

Im Jahr 2015 ist der erste Januar ein Donnerstag. Die Wochenfunktion von ISOWEEKNUM () umfasst daher die letzten 3 Tage im Dezember, während die Funktion WEEKNUM () die Woche am ersten Januar startet, aber in der ersten Woche nur 3 Tage für den Standardstarttag Sonntag vorhanden sind.

Ich hoffe das erklärt den Unterschied.

Vielen Dank für Ihr Feedback. Beide Antworten haben geholfen zu verstehen, warum die Antwort richtig war. In der Tat brauchte ich weeknum () für meine Tabelle und deshalb entschied ich mich für @Clinton als akzeptierte Antwort. Dies hat mir ein klares Verständnis der Funktionsunterschiede vermittelt. WPDavid vor 5 Jahren 0
17
DavidPostill

Die Funktion scheint im Jahr 2018 zusammenzubrechen, wenn sie die Wochennummer für den 31.12.2014 als Woche 1 anzeigt

Es ist richtig, da der 31. Dezember 2018 ein Montag ist.

Wenn der 31. Dezember auf einen Montag, Dienstag oder Mittwoch fällt, ist dies in der Woche 01 des nächsten Jahres. Wenn es an einem Donnerstag ist, ist es in der 53. Woche des gerade zu Ende gehenden Jahres; wenn es an einem Freitag in Woche 52 ist (oder 53, wenn das gerade beendete Jahr ein Schaltjahr ist); Wenn es sich um einen Samstag oder Sonntag handelt, endet es in der 52. Woche des Jahres.

Datum der ISO-Woche als Quelle - Wikipedia

Schuld [Shanghai] (https://stackoverflow.com/questions/6841333/why-is-subtracting-these-times-in-1927-giving-a-strange-result/6841479#6841479) sage ich. Raystafarian vor 5 Jahren 0