Excel/XDate: Unterschied zwischen den Versionen

aus GenWiki, dem genealogischen Lexikon zum Mitmachen.
Zur Navigation springen Zur Suche springen
(Link funktionierte nicht mehr, Beschreibung der Hintergründe und weitere Umgehungen)
(Es geht wesentlich einfacher)
 
Zeile 5: Zeile 5:
: http://spreadsheetpage.com/index.php/file/extended_date_functions_xdate/
: http://spreadsheetpage.com/index.php/file/extended_date_functions_xdate/


Wenn man nun aus der EXCEL-internen Speicherung eines Datums wieder ein Datum machen will, das im "normalen" Format lesbar ist, dann geht das so:
EXCEL ist inzwischen so freundlich, dass man ein Datum mit zwei Punkten eingeben kann: wenn z.B. in der Zelle B1 "21.05.1772"  steht, wird beim Format im Menü Zahl "Datum" angezeigt, aber die Funktion JAHR(Zelladresse) funktioniert nicht. Dazu benutzt man nun die Funktion XDATEYEAR(Zelladresse).
Angenommen, das EXCEL-Datum steht in Zelle B1. Dann schreibt man in die Zelle, in der das richtig formatierte Datum stehen soll, folgende Formel:


=XDATEDAY(B1)&"."&XDATEMONTH(B1)&"."&XDATEYEAR(B1)
Wenn man aus einem Sterbedatum und einer Altersangabe in Jahren, Monaten und Tagen in den Feldern C1,D1 und E1 vorliegen hat, kann man das Geburtsdatum errechnen:


Die Zelle sollte weiter als Text formatiert sein, auf keinen Fall aber als Datum, sonst wird EXCEL das berechnete Datum bei nächster Gelegenheit wieder in sein internes Datumsformat zurückumwandeln.
=XDATE(XDATEYEAR(Zelladresse)-C1;XDATEMONTH(Zelladresse)-D1;XDATEDAY(Zelladresse)-E1)


Wenn man direkt mit dem Datum rechnen möchte (z.B. für ein Alter) muss man das Datum um 400 Jahre = 400*365+98 Tage verschieben. Also =B1+400*365+98. Diesen Wert kann man dann auch ohne das XDATE-MAKRO mit führenden Nullen konvertieren:
Das funktioniert auch perfekt wenn hier negative Zahlen entstehen!


=VERKETTEN(TEXT(TAG(Zelladresse);"00");".";TEXT(MONAT(Zelladresse);"00");".";TEXT(JAHR(Zelladresse)-400;"0000"))
Wenn man nun aus der EXCEL-internen Speicherung eines Datums einen Datumstext im festen Format machen will, dann schreibt man in die Zielzelle folgende Formel:


Die Option, das Jahr 1904 als Referenz zu verwenden, sollte man wohl ausschalten.
=VERKETTEN(TEXT(XDATEDAY(Zelladresse);"00");".";TEXT(XDATEMONTH(Zelladresse);"00");".";TEXT(XDATEYEAR(Zelladresse);"0000"))


[[Kategorie:Hilfsprogramm]]
[[Kategorie:Hilfsprogramm]]

Aktuelle Version vom 7. September 2023, 20:10 Uhr

XDate ist ein kleines, sogenanntes Add-In, das es ermöglicht, in Excel Daten, die älter sind als 1900, zu verarbeiten. Datumsangaben werden relativ zum Jahre 1900 bzw. 1904 gespeichert. Daten vor 1900 sind also negativ. In open-office kann ein Datum vor 1900 problemlos eingegeben und verarbeitet werden.

Den Download und eine englischsprachige Anleitung bekommt man hier
http://spreadsheetpage.com/index.php/file/extended_date_functions_xdate/

EXCEL ist inzwischen so freundlich, dass man ein Datum mit zwei Punkten eingeben kann: wenn z.B. in der Zelle B1 "21.05.1772" steht, wird beim Format im Menü Zahl "Datum" angezeigt, aber die Funktion JAHR(Zelladresse) funktioniert nicht. Dazu benutzt man nun die Funktion XDATEYEAR(Zelladresse).

Wenn man aus einem Sterbedatum und einer Altersangabe in Jahren, Monaten und Tagen in den Feldern C1,D1 und E1 vorliegen hat, kann man das Geburtsdatum errechnen:

=XDATE(XDATEYEAR(Zelladresse)-C1;XDATEMONTH(Zelladresse)-D1;XDATEDAY(Zelladresse)-E1)

Das funktioniert auch perfekt wenn hier negative Zahlen entstehen!

Wenn man nun aus der EXCEL-internen Speicherung eines Datums einen Datumstext im festen Format machen will, dann schreibt man in die Zielzelle folgende Formel:

=VERKETTEN(TEXT(XDATEDAY(Zelladresse);"00");".";TEXT(XDATEMONTH(Zelladresse);"00");".";TEXT(XDATEYEAR(Zelladresse);"0000"))