Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Formel gesucht für Datum vor 1900 und Heute

Formel gesucht für Datum vor 1900 und Heute
29.07.2017 19:00:09
Dieter(Drummer)
Guten Abend,
ich suche die Formel die Jahreszahl, Differenz von Datum 30.04.1895 und Heute.
Die Formel "Datedif" funktioniert hier nicht, da das Anfangsdatum vor dem Jahr 1900 liegt.
Mit der Bitte um Hilfe grüßt
Dieter(Drummer)
Anbei Musterdatei: https://www.herber.de/bbs/user/115123.xlsx
Anzeige

20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel gesucht für Datum vor 1900 und Heute
29.07.2017 19:09:48
Hajo_Zi
Hallo Dieter,
http://www.excelformeln.de/formeln.html?welcher=1

Ich gebe keinen Dank für eine Rückmeldung, da ich durch solche Beiträge nicht meine Beitragszahl erhöhen muss.
Rückmeldung ist ja in der Heutigen Zeit nicht üblich und die wenigen die eine Rückmeldung geben, mögen mir das verzeihen, das kein Danke für eine Rückmeldung kommt.
Anzeige
AW: Formel gesucht für Datum vor 1900 und Heute
29.07.2017 19:16:44
Dieter(Drummer)
Danke Hajo,
für den Hinweis. Diese Komplexität muss man sich in Ruhe zu Gemüte führen.
Danke und Gruß, Dieter(Drummer)
Es geht ganz einfach:
29.07.2017 21:33:48
lupo1
ich suche die Formel die Jahreszahl, Differenz von Datum 30.04.1895 und Heute.
Die Formel "Datedif" funktioniert hier nicht, da das Anfangsdatum vor dem Jahr 1900 liegt.

Zähle jeweils 400 Jahre hinzu!
="29.7.2417"-"30.4.2295" ergibt 44650 Tage. =DATEDIF("30.4.2295";"29.7.2417";"d") auch.
Hintergrund: Nach 400 Jahren wiederholen sich Kalender mit Schalttagen und Wochentagen exakt. übrigens wird so auch der Excelfehler des tatsächlich nicht existenten 29.2.1900 elegant umgangen.
Anzeige
=JAHR(HEUTE())-(RECHTS(A4;4)) ...owT
29.07.2017 19:11:15
Matthias
AW: =JAHR(HEUTE())-(RECHTS(A4;4)) ...owT
29.07.2017 19:18:11
Dieter(Drummer)
Danke Matthias L,
Formel ist perfekt.
Danke und Gruß, Dieter(Drummer)
RECHERCHE - ein Fremdwort für dich?
29.07.2017 19:19:08
robert
Anzeige
...Es könnte bei genauerer Ermittlung nämlich ...
29.07.2017 21:57:38
Luc:-?
…komplizierter wdn, robert (& Dieter),
und dabei könnten ggf TextToDate & DateToText helfen. Das wäre dann VBA-genau.
Bei den 400 Jahren von Lupo wäre ich vorsichtig — mir ist wie 4000 (inkl bewegliche Feiertage), aber ich kann mich auch irren…
🙈 🙉 🙊 🐵 Gruß, Luc :-?
Besser informiert mit …
Anzeige
Nee, dann wären es über 5.000.000 Jahre ....
29.07.2017 22:02:26
lupo1
... meine ich mal gelesen zu haben. Denn Ostern ist noch mal ne ganz andere Kiste.
Hier aber reichen ja die vorhandenen Tage aus. Und da passt es wunderbar mit 400.
Übrigens glücklicherweise schon ab Oktober 1582 (Beginn jetziger Zeitrechnung). Denn 1982 ist ja auch NACH dem schrecklichen Phantom 29.2.1900.
Anzeige
Mit meiner Methode geht's ab Jahr 100 und ...
29.07.2017 22:07:53
Luc:-?
…mit der temporären Addition auch vom Urknall bis zum Ende, Lupo,
und bei Bedarf auch noch darüber hinaus… ;-]
Gruß, Luc :-?
Und dann kommt Kim
29.07.2017 22:47:02
lupo1
und macht 'nen Endknall. Dann ist ziemlich egal mit dem Osterhasen.
Nicht Kim, sondern 'End of Universe'! Ob nun ...
30.07.2017 01:03:32
Luc:-?
…vorher Kim oder sonstwer einen N-Krieg auslöst oder uns vorher das Schicksal unserer Vorgänger ereilt, weil vor lauter finanz­kaufmännischer Profitgier nicht genug Geld und Kapazitäten für den planetaren Schutz zV gestellt wurden oder uns aus ähnlichem Grund der Klimawandel erledigt, ist dabei völlig unwesentlich. Wobei ja jede Zivilisation ihren eigenen Kalender hatte und haben wird, wodurch nur eine galaktische Zeit auf lange Sicht eine Rolle spielen würde. Aber auch dabei ist Zeitmessung nicht gleich Zeit!
In diesem Sinne carpe diem & schöSo, Luc :-?
Anzeige
AW: Herzlichen Dank an alle ...
30.07.2017 09:24:55
Dieter(Drummer)
... die sich meines Themas positiv angenommen haben und die Lösungen.
Gruß und einen schönen Sonntag,
Dieter(Drummer)
Datedif nicht, aber datediff
29.07.2017 23:03:15
RPP63
Moin!
Warum nicht einfach den kleinen Umweg über VBA?
?DateDiff("yyyy", "30.04.1895", Date)
122 

Und vor dem Papa Gregor ist es ohnehin sinnlos resp. per IIf() regelbar.
[ist jetzt nicht getestet, ob die "Schalttage" korrekt per VBA gerechnet werden]
Gruß Ralf
Anzeige
Das ist die beste u.einfachste Lösung! orT
30.07.2017 01:17:41
Luc:-?
Gruß & schöSo, Luc :-?
AW: Datedif nicht, aber datediff
30.07.2017 09:54:04
Dieter(Drummer)
Guten Morgen Ralf,
danke für deine VBA Lösung.
Wie muss denn dann meine Makro lauten? So habe ich es versucht, aber da fehlt wohl noch etwas, damit mir das Ergebnis auch angezeigt oder in eine aktive Zelle gesetzt wird.
Mit der Bitte um erneute Hilfe,
grüßt Dieter(Drummer)
Mein Code jetzt, der so nicht funktioniert:
Sub JahresAlterHeute()
DateDiff("yyyy", "30.04.1895", Date)
End Sub

Anzeige
Du musst den Wert zuweisen
30.07.2017 10:04:28
Zwenn
Hallo Dieter,
Du musst die Zeile als rechte Seite einer Variablenzuweisung verwenden oder direkt irgendwo hinschreiben
In eine Message Box z.B.

Sub JahresAlterHeute()
MsgBox DateDiff("yyyy", "30.04.1895", Date)
End Sub
Oder direkt in eine Zelle

Sub JahresAlterHeute()
ActiveSheet.Cells(1,1).Value = DateDiff("yyyy", "30.04.1895", Date)
End Sub
Oder einer Variablen zuweisen

Sub JahresAlterHeute()
DIM jahre as integer
jahre = DateDiff("yyyy", "30.04.1895", Date)
'Mach was mit jahre
End Sub
Viele Grüße,
Zwenn
Anzeige
AW: Datedif nicht, aber datediff
30.07.2017 10:05:13
RPP63
Moin Dieter!
Mein Code stammt aus dem Direktfenster (siehe auch das vorangestellte ?)
Du musst Deinen Code halt an eine Variable übergeben oder ins Direktfenster (per Debug.Print) oder in eine MsgBox schreiben lassen.
MsgBox "Jahre seit dem 30.04.1895: " & DateDiff("yyyy", "30.04.1895", Date)
Gruß Ralf
Anzeige
AW: Danke Ralf un Zwenn ...
30.07.2017 10:08:19
Dieter(Drummer)
... für eure Lösungen, die funktionieren.
Danke und eien schönen Sonntag.
Gruß, Dieter(Drummer)
ActiveCell = DateDiff("yyyy", "30.04.1895", Date)
30.07.2017 10:06:05
Matthias
.
AW: ActiveCell = DateDiff("yyyy", "30.04.1895", Date)
30.07.2017 10:09:45
Dieter(Drummer)
... auch dir, Matthias L., herzlichen Dank für Lösung.
Gruß und einen schönen Sonntag.
Dieter(Drummer)
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Berechnung von Datumsdifferenzen in Excel für Daten vor 1900


Schritt-für-Schritt-Anleitung

Um die Differenz zwischen einem Datum vor 1900 (z. B. dem 30.04.1895) und dem heutigen Datum in Excel zu berechnen, kannst Du die folgende Methode verwenden:

  1. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Modul einfügen: Klicke auf Einfügen und wähle Modul.

  3. Code eingeben: Füge den folgenden VBA-Code ein:

    Sub JahresAlterHeute()
       Dim jahre As Integer
       jahre = DateDiff("yyyy", "30.04.1895", Date)
       MsgBox "Jahre seit dem 30.04.1895: " & jahre
    End Sub
  4. Makro ausführen: Schließe den VBA-Editor und führe das Makro aus, um die Anzahl der Jahre anzuzeigen.


Häufige Fehler und Lösungen

  • Fehler bei DATEDIF: Die Funktion DATEDIF kann nicht verwendet werden, wenn das Startdatum vor 1900 liegt. Stattdessen verwende den DateDiff-Befehl in VBA.
  • Falsches Datumsformat: Stelle sicher, dass das Datum im korrekten Format eingegeben wurde. Excel erkennt das Datum möglicherweise nicht, wenn das Format nicht stimmt.

Alternative Methoden

Wenn Du keine VBA-Lösungen verwenden möchtest, kannst Du auch einen Umweg über das Hinzufügen von 400 Jahren gehen, um die Berechnung zu ermöglichen.

  1. Ein Datum hinzufügen:
    • Beispiel: ="29.7.2417"-"30.4.2295" ergibt 44650 Tage.
    • Verwende die Formel DATEDIF("30.4.2295";"29.7.2417";"d"), um die Differenz in Tagen zu erhalten.

Praktische Beispiele

Hier sind einige Beispiele zur Berechnung des Alters (Jahre) seit einem bestimmten Datum:

  1. Mit VBA:

    Sub AlterBerechnen()
       Dim alter As Integer
       alter = DateDiff("yyyy", "30.04.1895", Date)
       ActiveSheet.Cells(1, 1).Value = alter
    End Sub
  2. Direkte Berechnung in Zelle:

    • Wenn Du das heutige Datum in Zelle A1 und das Datum "30.04.1895" in Zelle A2 hast, kannst Du in Zelle A3 folgende Formel verwenden:
    =JAHR(HEUTE()) - JAHR(A2)

Tipps für Profis

  • Vermeide den 29.02.1900: Beachte, dass der 29.02.1900 ein Excel-Fehler ist (kein Schaltjahr). Dies kann zu unerwarteten Ergebnissen führen, wenn Du mit Daten um den 29.02.1900 arbeitest.
  • Datenformatieren: Achte darauf, dass alle Datumswerte korrekt formatiert sind, um Probleme bei der Berechnung zu vermeiden.

FAQ: Häufige Fragen

1. Warum funktioniert DATEDIF nicht für Daten vor 1900? Die Funktion DATEDIF wurde in Excel nicht für Daten vor 1900 konzipiert, da Excel mit dem 1. Januar 1900 als dem frühesten Datum arbeitet.

2. Wie kann ich das Alter in Jahren berechnen, wenn ich kein VBA verwenden möchte? Du kannst die Funktion JAHR(HEUTE()) - JAHR(dein_datum) verwenden, um die Jahre zu berechnen, aber sei vorsichtig, da diese Methode nicht immer genau ist, wenn das Geburtsdatum noch nicht in diesem Jahr liegt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige