Tombstone Date Math (Microsoft Excel)
Robert liebt es, an Genealogie zu arbeiten. Manchmal, wenn er einen älteren Friedhof findet, ist anstelle eines Geburts- und Sterbedatums auf einem Grabstein nur ein Datum und ein Alter sichtbar. Beispiel: „geboren: 18. Januar 1801, gestorben 81 Jahre, 11 Monate, 17 Tage“ oder „Alter: 93 Jahre, 8 Monate, 22 Tage, gestorben am 18. März 1901“. Robert fragt sich, ob es eine Möglichkeit gibt, das fehlende Datum für den Tag zu berechnen.
Es gibt eine Möglichkeit, dies zu tun, aber es werden keine regulären Arbeitsblattfunktionen verwendet. Während Excel eine Vielzahl von Arbeitsblattfunktionen enthält, mit denen Sie Datumsangaben bearbeiten können, ist das „Basisdatum“ für Excel der 1. Januar 1900; Dies ist das Datum, ab dem alle Daten berechnet werden. (Sie können das Basisdatum, jedoch nur um vier Jahre, auf 1904 ändern. Diese Funktion wird für die Kompatibilität mit Excel auf dem Mac bereitgestellt.) Dies bedeutet, dass ältere Daten – wie sie beispielsweise für genealogische Zwecke auf dem Friedhof gefunden werden – dies können werden nicht direkt in Excel berechnet.
Glücklicherweise hat VBA diese Einschränkung nicht. Dies bedeutet, dass Sie einfach eine benutzerdefinierte Funktion (ein Makro) erstellen können, die die Mathematik für Sie erledigt. Beginnen Sie mit der Angabe des Startdatums (entweder Geburts- oder Sterbedatum)
in Zelle B1. Geben Sie dann in die Zellen B2: B4 die Anzahl der Jahre, Monate und Tage ein, um die Sie das Startdatum anpassen möchten. Wenn B1 ein Geburtsdatum enthält, sollten die Zellen B2: B4 positiv sein (Sie möchten sie zum Startdatum hinzufügen). Wenn B1 ein Sterbedatum enthält, sollte B2: B4 negativ sein (Sie möchten sie vom Startdatum abziehen).
Erstellen Sie dann dieses Makro:
Function FindDate(Start As Date, iYrs As Integer, _ iMths As Integer, iDays As Integer) Application.Volatile Dim D As Date D = DateAdd("yyyy", iYrs, Start) D = DateAdd("m", iMths, D) D = DateAdd("d", iDays, D) FindDate = Format(D, "m/d/yyyy") End Function
In jeder Zelle, in der Sie das berechnete Datum anzeigen möchten, können Sie die folgende Formel eingeben:
=FindDate(B1,B2,B3,B4)
Das Ergebnis der Funktion ist ein formatiertes Datum, das das Startdatum darstellt, das durch die von Ihnen angegebenen Jahre, Monate und Tage angepasst wird. Wenn also Zelle B1 1/18/1801 enthält, Zelle B2 81 enthält, Zelle B3 11 enthält und Zelle B4 17 enthält, gibt die Funktion 1/4/1883 zurück. Wenn Zelle B1 18.03.1901 enthält, Zelle B2 -93 enthält, Zelle B3 -8 enthält und Zelle B4 -22 enthält, lautet das zurückgegebene Ergebnis 26.06.1807.
_Hinweis: _
Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (12277) gilt für Microsoft Excel 2007, 2010, 2013 und 2016.
Eine Version dieses Tipps für die ältere Menüoberfläche von Excel finden Sie hier: Tombstone Date Math.