Excel verrechnet sich beim Umwandeln in Jahre

Hallo!

Es sollte doch in Excel 2003 möglich sein, eine Datumsdiferenz zu berechnen und das Ergebnis in Jahre, Monate und Tage auszugeben.

Eigentlich sollte da auch leicht sein, ich nehme mal die Geburtsdaten von Elvis:
=16.08.1977 - 8.1.1935 (Das ergibt 15561, und das scheint mir Richtig zu sein!

Nun mache ich ein benutzerdefiniertes Format:
JJ „Jahre“ MM „Monate“ TT „Tage“
Da kommt dann raus: 42 Jahre 08 Monate 08 Tage

Das stimmt aber nicht, die Monate sollten nur 7 (!!) sein.

Ich habe dann verschieden Daten subtrahiert und immer ist der Monat um eines zu hoch.
z.B:
01.07.1926 - 01.06.1926: Excel zeigt 1 Monat und 30 Tage an, richtig währe aber 0 Monate und 30 Tage oder 1 Monat (ist besser)

Warum ist das so?
tks!
Herbert

Hallo Herbert,

warum Excel das per Format nicht kann, weiß ich nicht.
Du könntest das aber mit Datedif errechenen.
Geburtsdatum Elvis A1
Sterbedatun Elvis B1
dann schreib z.B. in C1
=DATEDIF(A1;B1;„Y“)&" J „&DATEDIF(A1;B1;„YM“)&“ M „&DATEDIF(A1;B1;„MD“)&“ T"
„Y“ = JAHRE
„M“ = MONATE
„YM“= JAHRESMONATE
„D“ = TAGE
„MD“= MONATSTAGE

Viel Erfolg wünscht
Hubert

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

=DATEDIF(A1;B1;„Y“)&" J „&DATEDIF(A1;B1;„YM“)&“ M
„&DATEDIF(A1;B1;„MD“)&“ T"
„Y“ = JAHRE
„M“ = MONATE
„YM“= JAHRESMONATE
„D“ = TAGE
„MD“= MONATSTAGE

Hallo Hubert!

Dank Dir!
Ich bin überrascht, das funktioniert wirklich und rechnet richtig.

Ich habe dir Formel einfach reinkopiert und die Bezüge angepaßt.
Was ist ein „YM“=Jahresmonate und ein „MD“=Monatstage.

Ich meine, was ist der Unterschied zwischen
Monate und Jahresmonate und
Tage und Monatstage

Dank Dir!
Schöne Grüße!

PS: Das Excel immer um einen Moant zu viel ausgibt ist mir noch immer Schleierhaft. Einen Vorteil hat die Formatierung über den genannten String aber. Ich kann Tage und Monate zweistellig ausgeben!
Herbert

Grüezi Herbert

Es sollte doch in Excel 2003 möglich sein, eine Datumsdiferenz
zu berechnen und das Ergebnis in Jahre, Monate und Tage
auszugeben.

Ja; mit DATEDIF() klappt das ohne Probleme.

=16.08.1977 - 8.1.1935 (Das ergibt 15561, und das scheint mir
Richtig zu sein!

Korrekt…

Nun mache ich ein benutzerdefiniertes Format:
JJ „Jahre“ MM „Monate“ TT „Tage“
Da kommt dann raus: 42 Jahre 08 Monate 08 Tage

Das stimmt aber nicht, die Monate sollten nur 7 (!!) sein.

…aber hier verliessen sie ihn :wink:

Du stellst hier die ermittelte Differenz in Tagen als Datum dar; sprich, Du ermittelst das Datum das dem 15561. Tag in Excels Zeitrechnung entspricht.

Das hat nicht wirklich etwas mit der effektiven Zeitspanne der Differenz zu tun.

Ich habe dann verschieden Daten subtrahiert und immer ist der
Monat um eines zu hoch.
z.B:
01.07.1926 - 01.06.1926: Excel zeigt 1 Monat und 30 Tage an,
richtig währe aber 0 Monate und 30 Tage oder 1 Monat (ist
besser)

Auch hier wird das Datum angezeigt, das dem 30. Tag in Excels Zeitrechnung entspricht, also der 30.1.1900.

Mit freundlichen Grüssen
Thomas Ramel

  • MVP für Microsoft-Excel -
    [Win XP Pro SP-2 / xl2003 SP-3]

Auch hier wird das Datum angezeigt, das dem 30. Tag in Excels
Zeitrechnung entspricht, also der 30.1.1900.

  • MVP für Microsoft-Excel -

Hallo!

Ja, das klingt logisch!
Dank Dir!

Ausserdem würde ich mir eher die Zunge abbeissen als einen MVP zu wiedersprechen (mein Respeckt an dieser Stelle!).

Wie wird man MVP?

Eine Sache geht mir gerade noch durch den Kopf:
Diese Formen (Dank an den anderen Poster!) scheint zu funktionieren:
=DATEDIF(B6;C6;„Y“)&" " & DATEDIF(B6;C6;„YM“)&" " & DATEDIF(B6;C6;„MD“)
Kann ich hier im Zellenformat einstellen, daß die Werte „immer“ zweistellig sind?
Ich habe das nicht gefunden!

Grüße und schnen Abend noch (in die Schweiz wie ich vermute)!
Herbert

Hi Herbert,

wie ist es hiermit?

=TEXT(DATEDIF(B6;C6;„Y“);„00“)&" Jahre „&TEXT(DATEDIF(B6;C6;„yM“);„00“)&“ Monate „&TEXT(DATEDIF(B6;C6;„MD“);„00“)&“ Tage"

Viel Erfolg wünscht
Hubert

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Grüezi Herbert

Auch hier wird das Datum angezeigt, das dem 30. Tag in Excels
Zeitrechnung entspricht, also der 30.1.1900.

  • MVP für Microsoft-Excel -

Hallo!

Ja, das klingt logisch!
Dank Dir!

Aber gerne, es freut mich Licht ins Dunkel gebracht zu haben :smile:

Ausserdem würde ich mir eher die Zunge abbeissen als einen MVP
zu wiedersprechen (mein Respeckt an dieser Stelle!).

Danke für die Blumen.
Doch der Titel sagt nicht zwingend etwas über die Qualität und den Wahrheitsgehalt meiner Ausführungen aus - ich hab schon vieles geschrieben, was sich im Nachhinein als falsch erwiesen hat.
(Zugegeben, es wird weniger… :wink:)

Wie wird man MVP?

Ohne eigenes Zutun erfolgt die Ernennung durch Microsoft; es gibt intern da ein eigenes Programm zu diesem Zweck:

http://mvp.support.microsoft.com/

Eine Sache geht mir gerade noch durch den Kopf:
Diese Formen (Dank an den anderen Poster!) scheint zu
funktionieren:
=DATEDIF(B6;C6;„Y“)&" " & DATEDIF(B6;C6;„YM“)&" " &
DATEDIF(B6;C6;„MD“)

Ja, das tut sie; sie errechnet korrekt die Differenz zwischen den beiden Daten.

Kann ich hier im Zellenformat einstellen, daß die Werte
„immer“ zweistellig sind?
Ich habe das nicht gefunden!

In Zusammenarbeit mit TEXT() kannst Du das für jeden Teil der Formel festlegen - das Ganze ist dann ja ein reiner String, da geht nichts mehr mit einem Zellenformat.

Alternativ kannst Du das Ganze auch mathematisch addieren und dann mit einem entsprechenden Zellenformat versehen:

Tabellenblatt: [MAPPE1]!Tabelle1
 │ B │ C │ D │ E │ F │
──┼────────────┼────────────┼─────────┼──────────┼────────────────┤
6 │ 26.08.1965 │ 10.11.2008 │ 43 2 15 │ 43 02 15 │ 43 J 02 M 15 T │
──┴────────────┴────────────┴─────────┴──────────┴────────────────┘
Benutzte Formeln:
D6: =DATEDIF(B6;C6;"Y")&" " & DATEDIF(B6;C6;"YM")&" " &DATEDIF(B6;C6;"MD")
E6: =DATEDIF(B6;C6;"Y")\*10000+DATEDIF(B6;C6;"YM")\*100+DATEDIF(B6;C6;"MD")
F6: =DATEDIF(B6;C6;"Y")\*10000+DATEDIF(B6;C6;"YM")\*100+DATEDIF(B6;C6;"MD")

Zahlenformate der Zellen im gewählten Bereich:
D6
haben das Zahlenformat: Standard
E6
haben das Zahlenformat: 00 00 00
F6
haben das Zahlenformat: 00" J "00" M "00" T"

Tabellendarstellung erreicht mit dem Code in FAQ:2363

(in die Schweiz wie ich vermute)!

Genau dahin - Danke dir. :smile:

Mit freundlichen Grüssen
Thomas Ramel

  • MVP für Microsoft-Excel -
    [Win XP Pro SP-2 / xl2003 SP-3]

Ja das geht besser als ich dachte!
Hallo Hubert!

Dank Dir für die Antwort, das funktioniert bestens!

Ich benötige Excel kaum und daher fehlt mir die Erfahrung.
Die Formel ist elendig lang und ist doch einfach wenn man weiß wie diese „zerlegt“ wird.

Ich bin überrascht über die Qualität der Antworten (beide).
Präzise, freundlich und genau passend!

Ich bedanke mich und wünsche noch einen schönen Tag!
Herbert

Funktioniert bestens - Excel überrascht mich geleg
Hallo Thomas!

Dank Dir für die Antwort, das funktioniert bestens!

Ich benötige Excel kaum und daher fehlt mir die Erfahrung.
Die Formel ist elendig lang und ist doch einfach wenn man weiß wie diese „zerlegt“ wird.

Ich bin überrascht über die Qualität der Antworten (beide).
Präzise, freundlich und genau passend!

Ich bedanke mich und wünsche noch einen schönen Tag!
Herbert

Hallo,

PS: Das Excel immer um einen Moant zu viel ausgibt ist mir
noch immer Schleierhaft. Einen Vorteil hat die Formatierung
über den genannten String aber. Ich kann Tage und Monate
zweistellig ausgeben!

Das wiederum ist auch logisch :wink:
Es erklärt sich aus der Tatsache, dass es keinen 0ten Monat gibt. Jede Datumsdiffernz weist, als Datum geschrieben, immer einen Monst aus.
Bilde eine Differenz innerhalb eines Monats - das Datum wird daraufhin in den Januar 1900 gelegt - und wenn Du das als Zeitspanne interpretieren willst, dann musst Du den 0ten Monat rechnerisch erzuegen…

Gruß HW

Klingt glaubwürdig und ist sicher der Grund
Hallo!

Dank Dir für die Antwort!
Die Antwort ist gut erklärt und damit auch logisch.

Der Grund warum ich diesen Ansatz gewählt hatte, ist der, daß ich bei der Suche im Internet zuerst darauf gestoßen bin.

Gruß und Dank!
Herbert