Nachricht von den Nerven: „Falls du uns suchst – wir sind am Ende.“

Erstaunlich! Auf dem letzten Excelstammtisch, den Frank Arendt-Theilen organisiert hat, hat er angemerkt, dass die PowerQuery-Funktion Date.WeekOfYear, die man über Spalte hinzufügen / Datum / Woche / Woche des Jahres nach dem US-amerikanischen Modell rechnet. Zwar verfügt Excel seit vielen Versionen über die Funktion ISOKALENDERWOCHE, welche die KW korrekt nach ISO 8601 berechnet. Auch Outlook unterscheidet bei den Kalenderwochen zwischen USA und Europa. Jedoch nicht PowerQuery. „Haben die das vergessen?“, fragt Frank. Also muss man diese Funktion in PQ nachbauen …

Das Auge liest mit!

Die Frage ist interessant: Aus einer Geburtstagsliste sollen all diejenigen angezeigt werden, die in dieser (laufenden Kalender-)Woche Geburtstag haben. Eine kleine Fingerübung, oder:

Zuerst wird das Geburtsdatum in ein Datum des aktuellen Jahres „transformiert“. Dann wird von diesem Datum und vom aktuellen Tag die ISOKALENDERWOCHE berechnet. Und schließlich beides miteinander verglichen:

Hallo Wolfgang,

und so geht es:

=WENN(ISOKALENDERWOCHE(HEUTE())=ISOKALENDERWOCHE(DATUM(JAHR(HEUTE());MONAT(K2);TAG(K2)));“x“;““)

Schau dir mal die Schritt in der angefügten Tabelle an

Viel Spaß mit KW und Geburtstag

Rene

Lieber René,

vielen Dank. Ich hatte es gleich gestern Abend noch nachgetüfftelt und bin zum Ergebnis gekommen, allerdings hatte ich das Datum anders umgewandelt.

Da sah dann so aus: =WENN(ISOKALENDERWOCHE(TAG(A1)&“.“&MONAT(A1)&“.“&JAHR(HEUTE()))=ISOKALENDERWOCHE(HEUTE());“Happy Birthday“;““)
Viele Grüße
Wolfgang

Ist auch richtig, Wolfgang – meine Lösung ist natürlich besser *lach*

Im Ernst: ich mag es nicht, wenn du ein Datum (intern eine Zahl) in einen Text umwandelst und diese implizit wieder in ein Datum konvertieren lässt. Bei sehr vielen Datensätzen dauert es länger als meine Lösung, die ein Datum als Datum lässt.

Liebe Grüße Rene

Es ist gut, dass nicht jeder ein Smartphone hat. Wir brauchen Menschen, die hupen, wenn es grün wird.

Hallo Herr Martin,

ich habe eine Art Kalender, also beginnend mit dem 01.01.2018, endend mit
dem 31.12.2018.
Bei der Aufziehung des Datums lasse ich das Wochenende weg.
In einer Extra-Spalte soll vor jedem Montag die Kalenderwochenzahl stehen.
Wenn ich diese Funktion anwende, wird die Kalenderwochenzahl auch vor den
Tagen Dienstag bis Freitag eingefügt.
Gibt es eine Möglichkeit, z. B. über die Bedingte Formatierung, daß die
Kalenderwochenzahl nur neben dem Montag gezeigt wird?
Herzliche Grüße

####

Hallo Herr F.,
ich würde es mit einer WENN-Funktion lösen. Beispielsweise so (wenn in B1) das Datum steht:
=WENN(WOCHENTAG(B1;2)=1;ISOKALENDERWOCHE(B1);„“)
schöne Grüße
Rene Martin

####

Hallo Herr Martin,

das ging aber recht schnell mit Ihrer Antwort. Vielen Dank.

Ich habe etwas herum experimentiert und diese Lösung benutzt.

Einzig beim Übergang von 2018 zu 2019 scheint dies nicht zu funktionieren, denn der 31.12.2018 ist zwar noch zum alten Jahr gehörig, müßte aber dennoch mit der 1 beginnen, macht es aber nicht:

Herzliche Grüße

####

Hallo Herr F.,
ich bin nicht sicher, ob in Excel 2010 bereits der Parameter 21 in der Funktion KALENDERWOCHE vorhanden war. Schauen Sie mal bitte nach – ich habe hier kein Excel 2010. Wenn das nicht der Fall ist, müssen Sie die Funktion ISOKALENDERWOCHE nachbauen. Anleitungen finden Sie im Internet.
schöne Grüße
Rene Martin

####

Hallo Herr Martin,
vielen Dank für Ihre letzte Antwort. Sie haben natürlich recht: mit ISOKALENDERWOCHE läßt sich das Problem beheben.
Wie ist es aber, wenn man Excel 2010 benutzt. Da gibt es diese Funktion nicht. Wie ließe ich hier das Problem lösen, also nur daß vor dem Montag die Kalenderwochenzahl steht?
Herzliche Grüße

####

Hallo Herr Martin,

den Parameter 21 hat Excel 2010 nicht.

Mal sehen, was ich im Internet finde, bisher habe ich nichts gefunden.

Dennoch vielen Dank.

Herzliche Grüße

####

Hallo Herr Martin,

ich muß mich korrigieren. Der Parameter 21 ist in Excel 2010 vorhanden.

Ich habe wie folgt die Funktion geschrieben:

=WENN(WOCHENTAG(B1;2)=1;KALENDERWOCHE(C1;21);„“)

Und es funktioniert auch der Wechsel von der 52. KW 2018 zur KW 1 2019.

Herzliche Grüße

####

Wer nervt mehr? Excel oder Menschen?

Seltsame Funktion

Eine Kollegin von mir hat einen tollen Kalender erstellt. Wenn ich ihn mir jedoch genauer ansehe, dann finde ich dort seltsame Funktionen (_xlfn.ISOWEEKNUM). Sie sind nicht in einem Add-In vorhanden, hat mir die Kollegin gesagt. Ich finde die Funktionen auch nicht im Funktionsassitenten. Was passiert denn hier?

Seltsame Funktion

Seltsame Funktion

Die Antwort: Mit jeder Excel-Version kommen einige, wenige, neue Funktionen hinzu. Da Excel seit der Version 2007 das (fast) identische Dateiformat XLSX unterstützt, haben Sie ein kleines Problemchen. In Excel 2013 wurde beispielsweise die Funktion ISOKALENDERWOCHE eingeführt. Diese Funktion gab es in Excel 2007 und 2010 noch nicht. Wenn nun das entsprechende Servicepack auf Ihrem Rechner installiert ist oder wenn Excel 2013 installiert ist, kann diese neue Funktion verwendet werden, obwohl sie eigentlich gar nicht auf Ihrem Rechner installiert wird. Leider wird nicht der Name ISOKALENDERWOCHE angeziegt, sondern: _xlfn.ISOWEEKNUM.