10:32 Uhr
Datumsfunktionen in Excel hier am Beispiel aus Stichtag Vormonat ermitteln
Im aktuellen Fall habe ich sowohl Plan/Ist Vergleiche (Planwerte als CO Budget) als auch Investitionen (als Anlagenzugang wie im Artikel "Auswertung Anlagenzugänge als Investitionen im Report Painter mit Ausweis CO Objekte Innenauftrag und Kostenstelle" beschrieben) und auch Verbindlichkeiten (als Obligo siehe Artikel "Report Painter Bericht für Obligo auf CO-Objekten mit interaktive Stammdatengruppen") sowie diverse Query zu Stammdaten zusammen gestellt.
Im Rahmen eines Quartalsberichtes sollen nun diese Daten zum Stichtag ausgewertet werden. Dabei habe ich die Spaltenüberschriften (wie Saldo zum Berichtszeitraum) so gestaltet, dass diese nicht direkt die Periode in der Spaltenüberschrift beinhalten. Dadurch ist es mir eher möglich nur die Datengrundlage auszutauschen und diverse Pivot-Tabellen einfach zu aktualisieren.
Im Folgeschritt habe ich dann in der Zelle eines Übersichtsblattes das Datum des Stichtags zum Bericht festgehalten. Eigentlich soll der Bericht quartalsweise erfolgen, so dass ja der Berichtszeitraum zwischen dem 1. und 4. Quartal liegen sollte. Abhängig vom Stichtag wäre dieses in der Regel dann der Vormonat / 3 unter der Annahme, dass ich immer im April, Juli, Oktober, Januar) die Auswertung erstelle.
Formel TEXT und DATUM
Durch bestimmte Ereignisse kann es aber auch sein, dass einfach zum Vormonat der Bericht im August erstellt wird. Entsprechend habe ich eine Formel gesucht in der aus einen gegebenen Datum direkt der Vormonat ausgegeben wird.Der erste etwas komplizierte Ansatz war folgende Formel:
=TEXT(DATUM(JAHR(D1);MONAT(D1)-1;1);"MMMM")&" "&JAHR(D1)
Dabei wurde über die Formel Datum der Stichtag aus Zelle D1 genommen und einfach der 1. des Vormantes genommen. Diese Formel hat jedoch einen gewaltigen Nachteil, wenn mal ein Bericht zum Januar erstellt wird. Dieses wäre dann eine Neuauflage von "Zurück in die Zukunft mit Excel".
Der Vorteil in Excel ist, dass jedes Datum als Tag vom 1.1.1900 gezählt wird. Jeder neue Tag wird also als weiterer Tag vom 1.1.1900 an gezählt.
Kurioses zur Behandlung von Datumswerten in Excel
Durch den Artikel "#Schaltjahre – #Hoppala" auf soprani.at verweise ich hier gerne auf eine Besonderheit bzgl. des 60. Tages. Dieser wird in Excel als 29.2.1900 ausgewiesen, obgleich dieses gar kein Schaltjahr ist. Ein Schaltjahr tritt dann auf, wenn ein Jahr durch 4, aber nicht auch durch 100 ohne Rest teilbar ist, mit der Ausnahme, dass ein durch 400 ohne Rest teilbares Jahr wiederum ein Schaltjahr ist. Somit handelt es sich beim Jahr 1900 nicht um ein Schaltjahr...aber auch Excel darf sich mal irren.
Da Datumswerte in Excel unformatiert einfach nur Zahlen sind kann der Vormonat relativ einfach durch die Formel Datum - Tag im Monat errechnet werden. Dadurch erhalten wir den letzten Tag des vorherigen Monats.
Über die Formel TEXT( Zahl, "Formatcode") kann dieses Datum dann entsprechend den Erfordernissen angepasst werden.
Dabei ist der Formatcode identisch zu den Formaten, die auch in der Funktion Zelle Formatieren bei Sonderformaten dargestellt werden.
Im folgenden Beispiel (siehe Abbildung) dürfte dieses klarer werden:

In der Zelle D1 ist der aktuelle Stichtag (Datum der Berichtserstellung) eingetragen. Dieses ist im Beispiel der 12.01.2018. Durch die Tastenkombination STRG und . kann auch das aktuelle Tagesdatum eingetragen werden (durch STRG und , als Zahlenwert).
In der Zelle D2 wird vom Stichtag der Tag des Monats abgezogen (im Beispiel vom 12.01.2018 also 12. Man könnte jetzt annehmen, dass es sich damit um den 0.1.2018 und somit 31.12.2017 handelt. Als Zahlenwerte entspricht das Datum jedoch 43112 für den 12. Januar 2018 (der 43.112 Tag nach 1.1.1900) bzw. um 12 reduziert 43100 und somit der 31.12.2017.
Nun sind jedoch sowohl die Zelle D1 als auch D2 als Datum formatiert.
Durch die Formel
=TEXT(D2;"MMMM JJJ")
Weise ich hier das Format MMM für den ausgeschrieben Monatsnamen und JJJ für das vierstellige Jahr zu. Entsprechend ist hier der Wert Dezember 2017 als Ausgabe erfolgt. Dieses entspricht auch den Monat zu den die Daten erhoben worden sind (bis Periode 12 2017).
Zusammengefasst kann dies also auf die Formel
=TEXT(D1-TAG(D1);"MMMM JJJ")
reduziert werden und es wird automatisch der Vormonat zum Stichtag erhoben.
Fazit
Manchmal sind es nur Kleinigkeiten die eine Arbeitsmappe wesentlich erleichtern, aber gerade durch solche Kniffe lassen sich dann Berichte recht gut anpassen und für eine spätere Verwendung auch recyclen. Ein weiterer Punkt, der nicht zu vernachlässigen ist sollte das Thema Tabellenformatvorlagen (wie im Artikel "Die eigene Tabellenformatvorlage (auch Pivot)"). Wobei das Thema Vorlagen für Excel-Arbeitsmappen und auch Methoden zur Gestaltung von Tabellenblättern im Artikel "Dateipfad und Dateiname als Fußzeile automatisch in Excel setzen" näher behandelt worden ist.Ehrlicherweise muss ich jedoch zugeben, dass ich eher die Arbeitsmappe vom letzten Bericht verwende (und hier die Grunddaten austausche) anstatt hier mit Vorlagen zu arbeiten. Allerdings gehört eine gescheite Vorlage für künftige Tabellen tatsächlich auf die ToDo Liste nachdem die Sommererkältung abgeklungen ist.
ein Angebot von Espresso Tutorials

unkelbach.link/et.books/
unkelbach.link/et.reportpainter/
unkelbach.link/et.migrationscockpit/
Diesen Artikel zitieren:
Unkelbach, Andreas: »Datumsfunktionen in Excel hier am Beispiel aus Stichtag Vormonat ermitteln« in Andreas Unkelbach Blog (ISSN: 2701-6242) vom 26.7.2018, Online-Publikation: https://www.andreas-unkelbach.de/blog/?go=show&id=960 (Abgerufen am 13.2.2025)
Permalink - Office
Artikel datenschutzfreundlich teilen
🌎 Facebook 🌎 Bluesky 🌎 LinkedIn