Numbers Formeln

KOJOTE

Aktives Mitglied
Thread Starter
Registriert
06.11.2004
Beiträge
8.369
Ihr habt eine Frage zu einer Formel oder seid auf der Suche nach einer passenden Formel in Numbers?
Dann ist das der richtige Thread. Mal sehen ob hier mit der Zeit was zusammenkommt. Ich fänd's toll.

Ich hab gleich mal eine zur Formel KALENDERWOCHE :
Code:
=KALENDERWOCHE(A1;2)
wobei A1 als Datum den 01.11.2021 enthält.

Die Alternative
Code:
=KALENDERWOCHE(HEUTE();2)

Egal wie, ich erhalte als Ergebnis KW 45, obwohl wir KW 44 haben.
Es spielt dabei keine Rolle ob als „erster Tag” der "Montag ist 1(2) oder „Sonntag ist 1 (1)" eingestellt ist, das Ergebnis ist falsch und das sowohl unter
macOS 12.0.1 in Numbers 11.2
als auch in iOS 15.1 oder iPadOS 15.1

Kann das bitte jemand für mich prüfen ob da bei mir irgendwie der Hund begraben liegt oder es sich um einen Bug in Numbers handelt?
 

JARVIS1187

Mitglied
Registriert
26.08.2021
Beiträge
461
Also ich kann dir sagen, dass ich das nachvollziehen kann, jedoch gibt selbst LibreOffice die KW45 dafür raus.

Nach kurzer Prüfung habe ich zumindest das Gefühl, dass als KW1 die letzte KW aus 2020 verwendet wird. Der Stichtag für die Bestimmung lag noch in 2020.
Vermutlich wird deshalb was durcheinander sein.
2022 hat demnach allerdings auch 43KWs, was auch Quatsch ist. Es scheint überall alles um 1 erhöht zu sein.

Alle Angaben ohne Gewähr.
 

KOJOTE

Aktives Mitglied
Thread Starter
Registriert
06.11.2004
Beiträge
8.369
Also ich kann dir sagen, dass ich das nachvollziehen kann, jedoch gibt selbst LibreOffice die KW45 dafür raus.

Nach kurzer Prüfung habe ich zumindest das Gefühl, dass als KW1 die letzte KW aus 2020 verwendet wird. Der Stichtag für die Bestimmung lag noch in 2020.
Vermutlich wird deshalb was durcheinander sein.
2022 hat demnach allerdings auch 43KWs, was auch Quatsch ist. Es scheint überall alles um 1 erhöht zu sein.

Alle Angaben ohne Gewähr.
Danke für die Rückmeldung. In der Kalender-App wird das z.B. korrekt angezeigt.

Jetzt müsste noch jemand in Excel auf Mac und/oder Windows testen.
 

JenaroFios

Neues Mitglied
Registriert
05.08.2021
Beiträge
39
Probiere mal das hier…
Bsp. ist von Excel auf iPadOS.
 

Anhänge

  • 223B7172-9721-471F-9A76-09EF496C5894.jpeg
    223B7172-9721-471F-9A76-09EF496C5894.jpeg
    145,6 KB · Aufrufe: 29

OStBestje

Mitglied
Registriert
24.08.2021
Beiträge
221
Hallo,
wie @JenaroFios soeben schon gepostet hat. Hier aber noch mit der Ergänzung, dass man die gewohnte Formel auch auf die europäische Norm anpassen kann:

Kalenderwoche versus ISO-Kalenderwoche



Die gewohnte Formel KALENDERWOCHE ist selbst in Excel etwas tricky. Das hat damit zu tun, dass diese Formel auf dem amerikanischen (und in weiteren Teilen der Welt üblichen) System basiert, die Woche mit dem Sonntag beginnend immer als neue Kalenderwoche zu zählen und der 1. Januar stets die 1. Kalenderwoche einläutet, egal welcher Wochentag das ist.

In älteren Tabellenkalkulatoren helfen nur Hilfskonstruktionen, die den Unterschied zum europäischen Standard umgehen. In jüngeren Apps kann diese Formel durch die ISOKALENDERWOCHE-Formel ersetzt werden oder der Zahlen-Typ in der bekannten Formel angepasst werden (im Screenshot rot markiert)

Im europäischen Raum hingegen gilt die mehr oder weniger konstante Regel, dass als KW01 die Woche gilt, die den ersten Donnerstag im Jahr beinhaltet. Zumal wir die Wochen auch mit dem Montag beginnen lassen.

Edit: Die verdeutlichte Formel von ISOKALENDER im ersten Beispiel ist jetzt korrigiert worden

Quellen:
- wikipedia zum Thema Woche bzw. zur DIN-Norm ISO 8601,
- microsoft support hinsichtlich Formeln zu Kalenderwoche bzw ISO-Kalenderwoche
 
Zuletzt bearbeitet:

KOJOTE

Aktives Mitglied
Thread Starter
Registriert
06.11.2004
Beiträge
8.369
@OStBestje: auch dir vielen Dank für die Unterstützung und die tolle Erklärung :). Wie gesagt, ISOKALENDERWOCHE ist in Numbers nicht möglich.

Eine Lösung habe ich ja, wenn auch etwas kompliziert. In S2 steht hier das Datum, also flexible Anpassung möglich.
Code:
"KW "&(WOCHENTAG(DATUM(JAHR(S2−WOCHENTAG(S2;3)+3);1;4);3)+S2−WOCHENTAG(S2;3)+3−DATUM(JAHR(S2−WOCHENTAG(S2;3)+3);1;4)−3)÷7+1
 

OStBestje

Mitglied
Registriert
24.08.2021
Beiträge
221
Hallo @KOJOTE, das ist in der Tat die Eselsbrücke, die man gehen muss, wenn man alle Eventualitäten abdecken möchte.

Hast du mal probiert, die normale Kalenderwochen-Formel folgendermaßen zu schreiben in Numbers?

Code:
=KALENDERWOCHE(DATUM(2021;11;01);21)

Ich weiß nicht, ob es diese Erweiterung der Zahlen-Typen in Numbers auch gibt. "21" steht für die ISO-Norm.
 

KOJOTE

Aktives Mitglied
Thread Starter
Registriert
06.11.2004
Beiträge
8.369
Hallo @KOJOTE, das ist in der Tat die Eselsbrücke, die man gehen muss, wenn man alle Eventualitäten abdecken möchte.

Hast du mal probiert, die normale Kalenderwochen-Formel folgendermaßen zu schreiben in Numbers?

Code:
=KALENDERWOCHE(DATUM(2021;11;01);21)

Ich weiß nicht, ob es diese Erweiterung der Zahlen-Typen in Numbers auch gibt. "21" steht für die ISO-Norm.
Klappt leider auch nicht. Ich gehe davon aus, dass eine Erweiterung dieser Funktion um „21” nicht so weiteres möglich ist.

Beispiele aus der Numbers-Hilfe:
=KALENDERWOCHE("12.07.2009";1) liefert den Ergebniswert 29, da Sonntag als erster Tag der Woche betrachtet wird.

=KALENDERWOCHE("12.07.2009";2) liefert den Ergebniswert 28, da Montag als erster Tag der Woche betrachtet wird.
 

fa66

Aktives Mitglied
Registriert
16.04.2009
Beiträge
15.708
Wen es interessiert:
Excel2011-14.7.7 kennt =ISOKALENDERWOCHE() offenbar noch nicht.

Und zwar dem Supportartikel zur ISO-Kalenderwoche zum Trotz, der als Programm unter Weitere… auch Excel für Mac 2011 nennt.
 
Zuletzt bearbeitet:

OStBestje

Mitglied
Registriert
24.08.2021
Beiträge
221
Pff, ich kann natürlich auch einfach was anhängen und immer ne Woche abziehen:

Code:
=KALENDERWOCHE(A1;2)-1
Wenn es diese Formel nur einmalig in der Tabelle gibt, dann ist das eine gute schnelle Lösung. Wird die Formel allerdings ständig in der Tabelle wiederholt, würde ich mal über einen Index nachdenken, der irgendwo (versteckt) diese Variable bereithält. Nach dem Motto: einmal eingegeben und flächendeckend angewendet.
 
Zuletzt bearbeitet:

KOJOTE

Aktives Mitglied
Thread Starter
Registriert
06.11.2004
Beiträge
8.369
Wenn es diese Formel nur einmalig in der Tabelle gibt, dann ist das eine gute schnelle Lösung. Wird die Formel allerdings ständig in der Tabelle wiederholt, würde ich mal über einen Index nachdenken, die irgendwo (versteckt) diese Variable bereithält. Nach dem Motto: einmal eingegeben und flächendeckend angewendet.
Sehr schön. Dann also auf auf und her mit einem kleinen Beispiel.
Aber nicht vergessen! Numbers, nicht Excel.
 

BadBoy68

Neues Mitglied
Registriert
17.12.2018
Beiträge
17
Hallo @KOJOTE

ich habe mich gerade mal deinem Problem angenommen. Bin ja mehr der Excel Typ :)
Habe das dann noch einmal schnell in Numbers eingefügt und siehe da KW 44 ;-)

=WENN(WOCHENTAG(DATUM(JAHR(A1);1;1);2)>=5;KALENDERWOCHE(A1)-1;KALENDERWOCHE(A1))

Noch dir Erklärung schnell dazu, hätte ich fast vergessen.

Da in Deutschland die erste Kalenderwoche nach DIN 1355 (ISO 8601) die erste Woche im Januar ist, die mindestens vier Tage enthält rechnet hier Numbers falsch.
Es muss also die Zahl 1 abgezogen werden, sonst wird die alte Funktion Kalenderwoche verwendet.
Aber Du hast ja jetzt die Funktion und musst diese nur noch einfügen.

Ich wünsche dir noch einen schönen Abend!!!
 

OStBestje

Mitglied
Registriert
24.08.2021
Beiträge
221
Hallo @BadBoy68. Das funktioniet leider nicht für Schaltjahre! Ich hatte auch schon an diese Variante gedacht. Doch dann kommt für die KW01 das Ergebnis 0 heraus, sobald es eigentlich KW53 sein sollte.
 

KOJOTE

Aktives Mitglied
Thread Starter
Registriert
06.11.2004
Beiträge
8.369
So stellen sich die Ergebnisse der einzelnen Ideen zur Ermittlung der korrekten Kalenderwoche dar:

DatumTagFormel KalenderwocheFormel über WochentagFormel über Wochentag und Kalenderwoche
1.1.2018Montag111
31.12.2018Montag53153
30.12.2019Montag53153
28.12.2020Montag535353
27.12.2021Montag535252
1.1.2018Montag111
1.1.2019Dienstag111
1.1.2020Mittwoch111
1.1.2021Freitag1530
1.1.2022Samstag1520
Formeltext=TAGNAME($A2)=KALENDER
WOCHE($A2;2)
=(WOCHENTAG(DATUM(JAHR
(A2−WOCHENTAG(A2;3)+3)
;1;4);3)+A2−WOCHENTAG(A2;3)+3
−DATUM(JAHR(A2−WOCHENTAG
(A2;3)+3);1;4)−3)÷7+1
=WENN(WOCHENTAG
(DATUM(JAHR($A2);1;1);2)≥5;
KALENDERWOCHE($A2;)−1;
KALENDERWOCHE($A2;))

Dann bau doch noch ’ne Bedingung ein wie etwa: Wenn KW=0, dann schreibe KW=53; oder einfacher: denk’ dir dann KW53.
Kann man machen, ich kann ja auch per Hand die jeweilige KW eintragen, aber es soll halt automatisch passieren. Und da ich regelmäßig Wochenberichte mit der KW ausdrucke war ich etwas erschrocken zu sehen, dass da was nicht stimmt.

EDIT: die kleinen Zwinkersmilies sind natürlich Semikolon.
 

BadBoy68

Neues Mitglied
Registriert
17.12.2018
Beiträge
17
Hallo @KOJOTE

Auf die schnelle fällt mir heute Abend nichts anderes ein als:

=WENN(WOCHENTAG(A1;1)=1;KALENDERWOCHE(A1;1);" ")

Versuche das bitte mal in Numbers. Sollte dir an jedem Montag die richtige Kalenderwoche ausgeben!
 

KOJOTE

Aktives Mitglied
Thread Starter
Registriert
06.11.2004
Beiträge
8.369
Hallo @KOJOTE

Auf die schnelle fällt mir heute Abend nichts anderes ein als:

=WENN(WOCHENTAG(A1;1)=1;KALENDERWOCHE(A1;1);" ")

Versuche das bitte mal in Numbers. Sollte dir an jedem Montag die richtige Kalenderwoche ausgeben!
Danke, klappt gar nicht. Macht aber auch nichts, da ich ja eine funktionierende Formel und auch Alternative Lösungen zur Verfügung stehen - siehe oben. ;)
 

OStBestje

Mitglied
Registriert
24.08.2021
Beiträge
221
@OStBestje: auch dir vielen Dank für die Unterstützung und die tolle Erklärung :). Wie gesagt, ISOKALENDERWOCHE ist in Numbers nicht möglich.

Eine Lösung habe ich ja, wenn auch etwas kompliziert. In S2 steht hier das Datum, also flexible Anpassung möglich.
Code:
"KW "&(WOCHENTAG(DATUM(JAHR(S2−WOCHENTAG(S2;3)+3);1;4);3)+S2−WOCHENTAG(S2;3)+3−DATUM(JAHR(S2−WOCHENTAG(S2;3)+3);1;4)−3)÷7+1
Ich bin neugierig gewesen und habe deine Formel mal in Excel ausprobiert. Vielen Dank.
 
Oben