Microsoft Excel

Herbers Excel/VBA-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


Beiträge aus den Excel-Beispielen zum Thema "Datumswerte für Alterbestimmung unter 1900"