Problem: Datum in berechneter Spalte und ganztägiges Ereignis
Szenario und Problem: normaler Kalender mit mehrtägigen Einträgen. Um die Angabe “von bis” etwas übersichtlicher darzustellen als mit den beiden Standard-Spalten “Anfangszeit” und “Endzeit”, habe ich eine weitere Spalte erstellt vom Typ “berechnet (basierend auf anderen Spalten)”. Das funktioniert weitgehend gut für Termine, die nicht als ganztägige Ereignisse markiert sind - auch wenn sie mehrtägig sind. Sobald aber ein Termin als “ganztägig” markiert ist, wird die Endzeit (normalerweise …. 23:59) merkwürdigerweise um eine oder zwei Stunden nach hinten verschoben. Wird nun davon das Datum extrahiert, erhält man den folgenden und somit falschen Tag.
Fall 1 - korrektes Verhalten:
Anfangszeit: 07.02.2007 00:00
Endzeit: 21.02.2007 23:59
Ganztägiges Ereignis: nein
Von/bis-Feld: 7.2. - 21.2.2007
Fall 2 - falsches Verhalten:
Anfangszeit: 05.02.2007 00:00
Endzeit: 09.02.2007 23:59
Ganztägiges Ereignis: ja
Von/bis-Feld: 5.2. - 10.2.2007
Sobald ein Termin als ganztägiges Ereignis gekennzeichnet wird, wird die Endzeit (aus der Perspektive von berechneten Spalten - nicht in der Originalspalte) um eine oder zwei Stunden nach hinten verschoben - also auf 00:59 bzw 01:59. Originell, nicht wahr? Leicht nachzuvollziehen zB mit der Formel =TEXT(Endzeit;”DD.MM.YYYY hh:mm”) in einer berechneten Spalte.
Eine von/bis-Spalte ist doch ein spektakulärer Wunsch. Die Darstellungsweise “7.2. - 21.2.2007″ ist viel kompakter als zwei Spalten mit Anfangs- und Endzeit inklusive Stunden und Minuten. Bin ich wirklich der Einzige, der auf solche Probleme trifft?
Ich habe es schlussendlich (unsauber) gelöst, indem ich generell 0,1 von der Endzeit (serielle Zahl: Tage nach 1. Januar 1900) subtrahiere. Wer eine besser Lösung als diese findet, melde sich:
=WENN(
TEXT(Anfangszeit;"YYYY")=TEXT(Endzeit;"YYYY");
TAG(Anfangszeit) & "." & MONAT(Anfangszeit) & ". - " & TAG(Endzeit-0,1) & "." & MONAT(Endzeit-0,1) & "." & JAHR(Endzeit-0,1);
TAG(Anfangszeit) & "." & MONAT(Anfangszeit) & "." & JAHR(Anfangszeit) & " - " & TAG(Endzeit-0,1) & "." & MONAT(Endzeit-0,1) & "." & JAHR(Endzeit-0,1)
)

Eine weitere 






