SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Kalenderwoche aus Datum in einer Liste berechnen

Dieser Beitrag hat 12 Antworten

Ohne Rang
2 Beiträge
timo-w erstellt 2 Nov. 2009 10:54
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

ich habe ein Problem mit einer Sortierung und Grouß by.

Ich habe viele viele Dateien, die ich sinnvoll soriteren und anzeigen lassen möchte. Jeden Monat werden Reports veröffentlicht, welche ich nach KW gebündelt ausgeben möchte. Die KW will ich aus dem Datum des Erstellens berechnen lasen.

Geht sowas? Wenn ja wie oder wo finde ich dazu informationen. Denn laut Microsoft gibt es keine Formel die mir die KW aus einem Datum berechnet. Am liebsten hätte ich folgendes Format berechnet: CW/Jahr (43/2009)

 

Danke für eure Hilfe!

Timo

Alle Antworten

Ohne Rang
2 Beiträge
timo-w Als Antwort am 3 Nov. 2009 10:15
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Schoneinmal danke, jedoch habe ich nun folgendes eingefügt:

=INT(([Created]-DATE(YEAR([Created]),1,1)+(TEXT(WEEKDAY(DATE(YEAR([Created]),1,1)),"d")))/7)+1

Nun bekomme ich folgenden Fehler:

The formula contains a syntax error or is not supported.   at Microsoft.SharePoint.Library.SPRequestInternalClass.UpdateField(String bstrUrl, String bstrListName, String bstrXML)
   at Microsoft.SharePoint.Library.SPRequest.UpdateField(String bstrUrl, String bstrListName, String bstrXML)

 

Ich muss doch irgendwie gehen, basiernd auf das Created Date, die KW zu berechnen oder anzuzeigen. Toll wäre es auch dann noch das Jahr daraus zu ziehen. Also aus Created (z.B. 30.10.2009 16:20) ein 44/2009

 

Danke und Gruß

Ohne Rang
7 Beiträge
Vincent Als Antwort am 9 Apr. 2010 09:55
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Diese Formel funktioniert syntaktisch gesehen:

Sharepoint 2003:
=INT((Datum-DATE(YEAR(Datum),1,1)+(TEXT(WEEKDAY(DATE(YEAR(Datum),1,1)),"d")))/7)+1 

Sharepoint 2007:
=INT((Datum-DATE(YEAR(Datum);1;1)+(TEXT(WEEKDAY(DATE(YEAR(Datum);1;1));"d")))/7)+1 

Jedoch landen die Sonntage in der falschen KW, was wohl daran liegt, dass die Formel für 2009 geeinget ist/war?

Hmm, aber wie ist die korrekte Formel für 2010?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 9 Apr. 2010 11:14
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Vincent"]landen die Sonntage in der falschen KW[/quote]

Das liegt daran, daß die WEEKDAY-Funktion mit dem Sonntag als erstem Tag der Woche arbeitet. Überhaupt funktioniert die Formel nur für die USA. In Europa ist KW1 die Woche, in der der vierte Januar ist (statt dem ersten).

Fazit (wie hier schon öfter beschrieben): es gibt keine zuverlässige Formel für SharePoint um die Kalenderwoche zu berechnen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
4 Beiträge
Markus H. Als Antwort am 31 Okt. 2018 18:59
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

So müsste es funktionieren (nicht komplett getestet / ohne Gewähr...)

Hab nur in einem Schaltjahr und nicht Schaltjahr jeweils Sonntag und Montag probiert - da ging's.

=JAHR(Datum)&"-"&AUFRUNDEN((Datum-DATUM(JAHR(Datum);1;1)+WENN(TEXT(WOCHENTAG(DATUM(JAHR(Datum);1;1));"dddd")="Montag";1;WENN(TEXT(WOCHENTAG(DATUM(JAHR(Datum);1;1));"dddd")="Dienstag";2;WENN(TEXT(WOCHENTAG(DATUM(JAHR(Datum);1;1));"dddd")="Mittwoch";3;WENN(TEXT(WOCHENTAG(DATUM(JAHR(Datum);1;1));"dddd")="Donnerstag";4;WENN(TEXT(WOCHENTAG(DATUM(JAHR(Datum);1;1));"dddd")="Freitag";-2;WENN(TEXT(WOCHENTAG(DATUM(JAHR(Datum);1;1));"dddd")="Samstag";-1;WENN(TEXT(WOCHENTAG(DATUM(JAHR(Datum);1;1));"dddd")="Sonntag";0;))))))))/7;0)

Viele Grüße, Peter

Ohne Rang
4614 Beiträge
Michael Greth Als Antwort am 2 Nov. 2018 09:48
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

WOW eine Antwort nach 8 Jahren - das ist Balsam auf meine Seele - vielen Dank für Deinen Beitrag - deshalb alte ich dieses Forum hier am laufen.

Michael

Ohne Rang
4 Beiträge
Markus H. Als Antwort am 2 Nov. 2018 18:15
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hab halt selbst nach ber Lösung gesucht und mich dann selbst dran gemacht. Dummerweise bricht er die Formel nicht um. Kann‘s aber gerade am Handy nicht bearbeiten...

Ohne Rang
1 Beiträge
PanzerMensch Als Antwort am 5 Nov. 2018 19:47
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

 

ich berechne das mit folgender Formel in einer berechneten Spalte (zum Bsp Liste):

=GANZZAHL(([Anfangszeit]-DATUM(JAHR([Anfangszeit]);1;1)+(TEXT(WOCHENTAG(DATUM(JAHR([Anfangszeit]);1;1));"d")))/7)+1

Anfangszeit ist dann deine Datumsspalte.

Ohne Rang
61 Beiträge
Martin Schlenker Als Antwort am 13 Nov. 2018 12:36
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo PanzerMensch,

SUPER ! Das funktioniert ! Danke für Deinen Beitrag.

Grüße

NickNack

Martin Schlenker

IM-consult.net

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 13 Nov. 2018 12:40
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Euch ist aber schon klar, daß das nicht in jedem Jahr stimmt? Siehe meinen uralten Beitrag weiter oben...

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
38 Beiträge
Mottek Als Antwort am 31 Jan. 2019 14:44
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich habe folgende Formel anzubieten:

=(IF(TEXT(WEEKDAY(Einsatz_x0020_geplant_x0020_ab),"dddd")="Sonntag",INT((Einsatz_x0020_geplant_x0020_ab-DATE(YEAR(Einsatz_x0020_geplant_x0020_ab),1,1)+(TEXT(WEEKDAY(DATE(YEAR(Einsatz_x0020_geplant_x0020_ab),1,1)),"d")))/7),INT((Einsatz_x0020_geplant_x0020_ab-DATE(YEAR(Einsatz_x0020_geplant_x0020_ab),1,1)+(TEXT(WEEKDAY(DATE(YEAR(Einsatz_x0020_geplant_x0020_ab),1,1)),"d")))/7)+1)&"/"&YEAR(Einsatz_x0020_geplant_x0020_ab))

Allerdings werden einstellige Kalenderwochen auch nur als solche angezeigt, was die Sortierung in Listen zum Verzweifeln bringt. Kennt einer eine Lösung, wie man sie mit einer "0" auffüllen kann?

Gruß Mottek

Ohne Rang
1 Beiträge
Nauben Als Antwort am 23 Juli 2020 13:29
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Voila! Hier eine Lösung für ISO 8601 (europäische KW):

="KW "&WENN(ABRUNDEN(([Loading Date]-DATUM(JAHR([Loading Date]-REST([Loading Date]-2;7)+3);1;REST([Loading Date]-2;7)-9))/7;0)<=9;"0"&ABRUNDEN(([Loading Date]-DATUM(JAHR([Loading Date]-REST([Loading Date]-2;7)+3);1;REST([Loading Date]-2;7)-9))/7;0);ABRUNDEN(([Loading Date]-DATUM(JAHR([Loading Date]-REST([Loading Date]-2;7)+3);1;REST([Loading Date]-2;7)-9))/7;0))

Unter Zuhilfenahme von folgendem Berechnungsschema:
https://de.wikibooks.org/wiki/Algorithmensammlung:_Kalender:_Kalenderwoche