Herbers Excel-Forum - das Archiv

Datumswerte für Alterbestimmung unter 1900 | Herbers Excel-Forum


Betrifft: Datumswerte für Alterbestimmung unter 1900
von: Basti

Geschrieben am: 09.01.2010 13:32:05

Hallo Excelfreunde,
ich habe ein sehr kleines, aber feines Problem, bei dem ich aktuell nicht weiterkomme.
Über die Formel =DATEDIF(A1;B1;"y") berechne ich das Alter zwischen zwei Daten.
Dies ist leider nur ab dem Datum 1900 möglich. Gebe ich Werte wie 31.12.1899 oder darunter
ein, so erscheint schlicht die Fehlermeldung "Wert".
Hat jemand eine Lösung parat?
Ich danke euch im voraus und wünsche ein schönes Wochenende.
Beste Grüße
sebastian

Betrifft: http://www.excelformeln.de/formeln.html?welcher=1
von: Josef Ehrensberger
Geschrieben am: 09.01.2010 13:33:09
Hallo Sebastian,
http://www.excelformeln.de/formeln.html?welcher=1

Gruß Sepp

Betrifft: AW: http://www.excelformeln.de/formeln.html?welcher=1
von: Basti
Geschrieben am: 09.01.2010 13:36:43
Danke Sepp,
aber was benötige ich denn genau bzw. was ist ausreichend? Es ist ja sehr umfangreich,
was dort beschrieben wird.
Kann das eingegrenzt werden?
Grüße
Sebastian

Betrifft: AW: http://www.excelformeln.de/formeln.html?welcher=1
von: Josef Ehrensberger

Geschrieben am: 09.01.2010 14:01:32
Hallo Sebastian,
wer lesen kann ... ;-))
Tagesdifferenz ohne Berücksichtigung von Zeiten vor Christus:
späteres Datum in A1 / früheres in A2
führende Nullen bei Datum vor 1900 müssen eingegeben werden:
=WENN(ISTTEXT(A1);DATUM(TEIL(A1;7;4)+4000;TEIL(A1;4;2);TEIL(A1;1;2));DATUM(JAHR(A1)+4000;MONAT(A1); TAG(A1)))-WENN(ISTTEXT(A2);DATUM(TEIL(A2;7;4)+4000;TEIL(A2;4;2);TEIL(A2;1;2));DATUM(JAHR(A2)+4000; MONAT(A2);TAG(A2)))
Gruß Sepp

Betrifft: AW: http://www.excelformeln.de/formeln.html?welcher=1
von: Höttl Wilfried

Geschrieben am: 09.01.2010 14:06:02
Hallo!
Test
 ABC
2Differenz in Jahre vor 1900    
3     
4     
508.07.177712.06.181638 Jahre
601.01.0001Mi 17.06.20092008 Jahre

verwendete Formeln
Zelle Formel
C5 =DATEDIF(WENN(ISTFEHLER(JAHR(A5));LINKS(A5;6)&RECHTS(A5;4)+2000;A5+(2000*365,25));WENN(ISTFEHLER(JAHR(B5));LINKS(B5;6)&RECHTS(B5;4)+2000;B5+(2000*365,25));"Y")&" Jahre"
C6 =DATEDIF(WENN(ISTFEHLER(JAHR(A6));LINKS(A6;6)&RECHTS(A6;4)+2000;A6+(2000*365,25));WENN(ISTFEHLER(JAHR(B6));LINKS(B6;6)&RECHTS(B6;4)+2000;B6+(2000*365,25));"Y")&" Jahre"

Tabellendarstellung in Foren Version 5.3


Gruß
Wilfried

Betrifft: AW: http://www.excelformeln.de/formeln.html?welcher=1
von: Basti

Geschrieben am: 09.01.2010 14:53:21
Erstmal ein großes "Danke" an alle. Ich habe nun die formel von Wilfried eingefügt.
Dass mit den Zahlen vor 1900 funktioniert. Wie bekomme ich aber eine Jahreszahl (also den Abstand in Jahren) für 02.03.1881 und 02.01.1903 hin? Also eine Überschneidung zwischen diesen Jahrhunderten.
Womöglich habt ihr es oben bereits geschrieben, kann man es denn in die Formel von Wilfried einbauen?

Betrifft: AW: http://www.excelformeln.de/formeln.html?welcher=1
von: Basti
Geschrieben am: 09.01.2010 15:25:11
Vielen Dank nochmals, hat sich erledigt!

Betrifft: lies erst ab "ohne Christus"
von: WF
Geschrieben am: 09.01.2010 14:03:08
Hi Basi,
da erhältst Du die Tagesdifferenz.
mit
=Ganzzahl(Formel/365,25)
erhältst Du die kompletten Jahre.
Salut WF

Betrifft: hier eine VBA Lösung dazu.
von: Tino

Geschrieben am: 09.01.2010 14:34:25
Hallo,
Du hast zwar VBA nein angegeben, dennoch hier eine VBA Lösung dazu.
Im VBA erstellst Du in Deiner Datei ein Modul und kopierst diese Funktion hinein.
Function DataDif(vonDate$, bisDate$, sInterval$) As Long
Dim Datum1 As Date, Datum2 As Date
Dim varDate1, varDate2, LKorrektur&

On Error Resume Next
Datum1 = DateValue(vonDate)
Datum2 = DateValue(bisDate)

If Datum1 < 1 Then
 varDate1 = Split(vonDate, ".")
 LKorrektur = varDate1(2)
 LKorrektur = 1900 - LKorrektur
 varDate2 = Split(bisDate, ".")
 DataDif = DateDiff(sInterval, DateSerial(varDate1(2) * 1 + LKorrektur, varDate1(1) * 1, varDate1(0) * 1), _
                   DateSerial(varDate2(2) * 1 + LKorrektur, varDate2(1) * 1, varDate2(0) * 1) + 1)
Else
 DataDif = DateDiff(sInterval, DateValue(vonDate), DateValue(bisDate) + 1)
End If

End Function
Im Excel kannst Du dies wie eine Excelfunktion verwenden.
Beispiel:
 ABC
2vonbisJahre
301.01.189901.01.190910
409.01.200009.01.201010

Formeln der Tabelle
ZelleFormel
C3=DataDif(A3;B3;"yyyy")
C4=DataDif(A4;B4;"yyyy")

Gruß Tino
Excel-Beispiele zum Thema "Datumswerte für Alterbestimmung unter 1900"
Darstellung von Minuszeiten ohne Umstellung der 1904-Datumswerte Eingabekontrolle bei Datumswerten
Negative Zeitdarstellung ohne Umstellung der 1904-Datumswerte