Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1112to1116
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datedif "md", Ersatzformel und Formelverkürzung

Datedif "md", Ersatzformel und Formelverkürzung
lou38
Guten Tag
Als Ersatz für die fehlerhafte Datedif-Formel "md" benutze ich die nachstehende Formel. Leider ist sie ziemlich lang und ich frage mich, ob die Excel-Experten unter euch vielleicht Kürzungsmöglichkeiten sehen. Wenn ja, danke ich im Voraus für jeden Vorschlag.
Ersatzformel für Tageberechnung:
=WENN(UND(A1=MONATSENDE(A1;0);B1=MONATSENDE(B1;0));0;
WENN(A1=MONATSENDE(A1;0);TAG(B1)-TAG(A1+1)+1;
WENN(B1=MONATSENDE(B1;0);TAG(MONATSENDE(A1;0))-TAG(A1);
TAG(B1)-TAG(A1)+(TAG(A1)>TAG(B1))*TAG(MONATSENDE(A1;0)))))
(A1 = Beginndatum, B1 = Enddatum)
Gruss
Louis
PS1
Auch die Datedif-Formeln "y" und "ym" ergeben bei gewissen Datumskonstellationen (z.B. Monatsenden) gelegentlich falsche Resultate. Durch die folgende Formelergänzung um je 1 Tag lassen sich die Fehler - zumindest soweit ich feststellen konnte - vermeiden.
Beispiel: =Datedif(A1+1;B1+1;"ym")
PS2
Die Datedif-Ersatzformeln unter www.excelformeln.de (1/141) ergeben - verglichen mit den oben erwähnten verwendeten Formeln - teilweise abweichende Resultate.
AW: Datedif "md", Ersatzformel und Formelverkürzung
09.11.2009 12:56:23
jockel
hi lou, welche daten gibst du denn in A1 und B1 ein und welches ergebnis möchtest du denn haben?
cu jörg
AW: Datedif "md", Ersatzformel und Formelverkürzung
09.11.2009 13:59:00
lou38
Hallo Jörg
A1 = Beginndatum, B1 = Enddatum (beide beliebig). Gefragt ist allerdings nicht nach dem Ergebnis, sondern nach der Kürzungsmöglichkeit der Formel. Trotzdem hier drei Beispiele:
1) 29.2.04 - 28.2.07 richtig (nach meinem Verständnis) 3/00/00 (J/MM/TT), nicht 2/11/30 gemäss Datedif und nicht 2/11/28 gemäss Excelformeln.de
2) 28.2.09 - 30.5.09 richtig 0/02/30 (März + April + 30 Tage Mai) nicht 0/03/02
3) 31.5.08 - 30.9.08 richtig 0/04/00 (Juni, Juli, August, September) nicht 0/03/30
Gruss
Louis
Anzeige
AW: Datedif "md", Ersatzformel und Formelverkürzung
09.11.2009 15:33:22
Höttl
Hallo!
Meinst Du es so?
Datum

 A
635Differenz in Jahre, Monate und Tage
636 
63731.05.2008
63830.09.2008
6390 Jahre, 4 Monate, 0 Tage

Formeln der Tabelle
ZelleFormel
A639=WENN(ODER(ODER($A637=DATUM(JAHR(A638); MONAT(A638)+1;0); $A638=DATUM(JAHR(A638); MONAT(A638)+1;0); $A638=DATUM(JAHR(A638); MONAT(A638); 1))); DATEDIF($A637+3;$A638+3;"y")&" Jahre, "& DATEDIF($A637+3;$A638+3;"ym")&" Monate, "&DATEDIF($A637+3;$A638+3;"md")&" Tage";DATEDIF($A637;$A638;"y")&" Jahre, "& DATEDIF($A637;$A638;"ym")&" Monate, "&DATEDIF($A637;$A638;"md")&" Tage")


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Schau hier.
http://excelformeln.de/formeln.html?welcher=141
Gruß
Wilfried
Anzeige
AW: Datedif "md", Ersatzformel und Formelverkürzung
09.11.2009 16:41:01
lou38
Hallo Wilfried
Ich danke für deinen Input. Nach was ich gefragt habe, ist ob und wenn ja wie die gezeigte Tageberechnungsformel gekürzt werden kann. Das Vorgehen, diese Tageformel mit den Jahren und Monaten zusammenzufügen ist mir bekannt.
Ebenfalls bekannt ist mir excelformeln 1/141. Ich schätze diese Internetseite sehr und habe ihr schon viele gute Hinweise entnehmen können. Bezüglich Datedif bin ich allerdings der Meinung, dass die in 1/141 gezeigten Formeln nicht wasserdicht sind. Mache mal einen Vergleich mit der ursprünglichen Datedif-Formel, den 3 Ersatzformeln in 1/141 und der von mir in der ursprünglichen Anfrage aufgeführten um 1 Tag angepassten "y" und "ym"-Formel und der (event. kürzungsfähigen) Tageformel unter Verwendung der an Jörg gesandten Datenpaare.
Gruss
Louis
Anzeige
DATEDIF(von+1,bis+1,"md")
09.11.2009 16:36:24
Erich
Hi Louis,
so?
 ABC
1vonbis"DATEDIF+1"
229.02.200428.02.20073 Jahre, 0 Monate, 0 Tage
328.02.200930.05.20090 Jahre, 2 Monate, 30 Tage
431.05.200830.09.20080 Jahre, 4 Monate, 0 Tage

Formeln der Tabelle
ZelleFormel
C2=DATEDIF(A2+1;B2+1;"y")&" Jahre, "&DATEDIF(A2+1;B2+1;"ym")& " Monate, "&TAG(B2+1)-TAG(A2+1)+(TAG(A2+1)>TAG(B2+1))*TAG(DATUM(JAHR(A2+1); MONAT(A2+1)+1;))&" Tage"

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: DATEDIF(von+1,bis+1,"md")
09.11.2009 17:11:24
lou38
Hallo Erich
Ja, perfekt. Das ist die Lösung. Ich hoffe, dass www.excelformeln.de (1/141) jetzt alle bisherigen, nicht wasserdichten Ersatzlösungen streicht und sie durch deine Lösung ersetzt.
Gruss
Louis
AW: DATEDIF(von+1,bis+1,"md")
09.11.2009 17:57:41
jockel
hi und falls, das mal passiert, was auch bei excelformeln.de steht, dass man aus versehen die zellen vertauscht hat mit anfangsdatum und enddatum..:
Tabelle2
 ABCD
628.02.200729.02.20043/00/00#ZAHL!
731.05.200928.02.20090/03/00#ZAHL!

verwendete Formeln
Zelle Formel
C6 =DATEDIF(MIN(A6+1;B6+1);MAX(A6+1;B6+1);"y")&"/"&TEXT(DATEDIF(MIN(A6+1;B6+1);MAX(A6+1;B6+1);"ym");"00")&"/"&TEXT(DATEDIF(MIN(A6+1;B6+1);MAX(A6+1;B6+1);"md");"00")
D6 =DATEDIF(A6+1;B6+1;"y")&" Jahre, "&DATEDIF(A6+1;B6+1;"ym")& " Monate, "&TAG(B6+1)-TAG(A6+1)+(TAG(A6+1)>TAG(B6+1))*TAG(DATUM(JAHR(A6+1); MONAT(A6+1)+1;))&" Tage"
A7 =DATUM(JAHR(B4);MONAT(B4)+1;0)
B7 =DATUM(JAHR(A4);MONAT(A4)+1;0)
C7 =DATEDIF(MIN(A7+1;B7+1);MAX(A7+1;B7+1);"y")&"/"&TEXT(DATEDIF(MIN(A7+1;B7+1);MAX(A7+1;B7+1);"ym");"00")&"/"&TEXT(DATEDIF(MIN(A7+1;B7+1);MAX(A7+1;B7+1);"md");"00")
D7 =DATEDIF(A7+1;B7+1;"y")&" Jahre, "&DATEDIF(A7+1;B7+1;"ym")& " Monate, "&TAG(B7+1)-TAG(A7+1)+(TAG(A7+1)>TAG(B7+1))*TAG(DATUM(JAHR(A7+1); MONAT(A7+1)+1;))&" Tage"

Tabellendarstellung in Foren Version 4.28


cu jörg
Anzeige
AW: DATEDIF(von+1,bis+1,"md")
09.11.2009 18:11:48
Höttl
Hallo Erich!
Habe die Formel aus Excel- Formel und Deine nebeneinander gestellt bei Dir kommt ein anderes
Ergebnis. Welche ist die Richtige?
Frei

 ABCDE
2Differenz in Jahre, Monate und Tage     
3     
4  Formel Excel-FormelFormel von Erich 
5     
631.05.200830.09.20080 Jahre, 4 Monate, 0 Tage0 Jahre, 4 Monate, 0 Tage 
729.02.200428.02.20073 Jahre, 0 Monate, 0 Tage3 Jahre, 0 Monate, 0 Tage 
828.02.200930.05.20090 Jahre, 3 Monate, 2 Tage0 Jahre, 2 Monate, 30 Tage< richtig?

Formeln der Tabelle
ZelleFormel
C6=WENN(ODER(ODER($A6=DATUM(JAHR(B6); MONAT(B6)+1;0); $B6=DATUM(JAHR(B6); MONAT(B6)+1;0); $B6=DATUM(JAHR(B6); MONAT(B6); 1))); DATEDIF($A6+3;$B6+3;"y")&" Jahre, "& DATEDIF($A6+3;$B6+3;"ym")&" Monate, "&DATEDIF($A6+3;$B6+3;"md")&" Tage";DATEDIF($A6;$B6;"y")&" Jahre, "& DATEDIF($A6;$B6;"ym")&" Monate, "&DATEDIF($A6;$B6;"md")&" Tage")
D6=DATEDIF(A6+1;B6+1;"y")&" Jahre, "&DATEDIF(A6+1;B6+1;"ym")& " Monate, "&TAG(B6+1)-TAG(A6+1)+(TAG(A6+1)>TAG(B6+1))*TAG(DATUM(JAHR(A6+1); MONAT(A6+1)+1;))&" Tage"
C7=WENN(ODER(ODER($A7=DATUM(JAHR(B7); MONAT(B7)+1;0); $B7=DATUM(JAHR(B7); MONAT(B7)+1;0); $B7=DATUM(JAHR(B7); MONAT(B7); 1))); DATEDIF($A7+3;$B7+3;"y")&" Jahre, "& DATEDIF($A7+3;$B7+3;"ym")&" Monate, "&DATEDIF($A7+3;$B7+3;"md")&" Tage";DATEDIF($A7;$B7;"y")&" Jahre, "& DATEDIF($A7;$B7;"ym")&" Monate, "&DATEDIF($A7;$B7;"md")&" Tage")
D7=DATEDIF(A7+1;B7+1;"y")&" Jahre, "&DATEDIF(A7+1;B7+1;"ym")& " Monate, "&TAG(B7+1)-TAG(A7+1)+(TAG(A7+1)>TAG(B7+1))*TAG(DATUM(JAHR(A7+1); MONAT(A7+1)+1;))&" Tage"
C8=WENN(ODER(ODER($A8=DATUM(JAHR(B8); MONAT(B8)+1;0); $B8=DATUM(JAHR(B8); MONAT(B8)+1;0); $B8=DATUM(JAHR(B8); MONAT(B8); 1))); DATEDIF($A8+3;$B8+3;"y")&" Jahre, "& DATEDIF($A8+3;$B8+3;"ym")&" Monate, "&DATEDIF($A8+3;$B8+3;"md")&" Tage";DATEDIF($A8;$B8;"y")&" Jahre, "& DATEDIF($A8;$B8;"ym")&" Monate, "&DATEDIF($A8;$B8;"md")&" Tage")
D8=DATEDIF(A8+1;B8+1;"y")&" Jahre, "&DATEDIF(A8+1;B8+1;"ym")& " Monate, "&TAG(B8+1)-TAG(A8+1)+(TAG(A8+1)>TAG(B8+1))*TAG(DATUM(JAHR(A8+1); MONAT(A8+1)+1;))&" Tage"


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß
Wilfried
Anzeige
@ Wilfried
09.11.2009 18:55:25
jockel
hallo, die frage bei dieser aufgabe, kannst du dir doh selber beantworten... was macht den "md" bei
Tabelle2
 AB
428.02.200931.05.2009



Tabelle2
 G
43

verwendete Formeln
Zelle Formel
G4 =DATEDIF(A4;B4;"md")

Tabellendarstellung in Foren Version 4.28


im genesatz zu..:
Tabelle2
 AB
428.02.200931.05.2009



Tabelle2
 G
40

verwendete Formeln
Zelle Formel
G4 =DATEDIF(A4+1;B4+1;"md")

Tabellendarstellung in Foren Version 4.28


cu jörg
Anzeige
Monate in DATEDIF-Varianten
10.11.2009 09:41:20
Erich
Hi zusammen,
die Frage, was richtig und was falsch ist, ist hier nicht so leicht zu beantworten.
Bei der Woche ist noch alles klar: 7 Tage sind genau 1 Woche - egal wann.
Bei einem Zeitraum von 30 Tagen kann man aber nicht sagen, wie viele Monate das sind.
Es hängt davon ab, wann der Zeitraum ist.
01.01.-31.01.09: 30 Tage, weniger als die 31 Tage des Januar, also 0 Monate
01.04.-01.05.09: 1 Monat (die 30 Tage des April)
Hier ist es nicht mehr so ganz klar - es sind unterschiedlich lage Monate beteiligt:
01.02.-03.03.09: 1 Monat (die 28 Tage des Februar) + 2 Tage im März
(trotzdem sind sich die Formeln hier einig)
Im folgenden Beispiel geht es immer um 30 Tage:
 ABCDE
1vonbisExcelformeln Nr. 141 unten"DATEDIF+1""DATEDIF+14"
227.02.200929.03.20090 Jahre, 1 Monate, 2 Tage0 Jahre, 1 Monate, 2 Tage0 Jahre, 0 Monate, 30 Tage
328.02.200930.03.20090 Jahre, 1 Monate, 2 Tage0 Jahre, 0 Monate, 30 Tage0 Jahre, 0 Monate, 30 Tage
401.03.200931.03.20090 Jahre, 0 Monate, 30 Tage0 Jahre, 0 Monate, 30 Tage0 Jahre, 0 Monate, 30 Tage
5     
612.02.200914.03.20090 Jahre, 1 Monate, 2 Tage0 Jahre, 1 Monate, 2 Tage0 Jahre, 1 Monate, 2 Tage
713.02.200915.03.20090 Jahre, 1 Monate, 2 Tage0 Jahre, 1 Monate, 2 Tage0 Jahre, 1 Monate, 2 Tage
814.02.200916.03.20090 Jahre, 1 Monate, 2 Tage0 Jahre, 1 Monate, 2 Tage0 Jahre, 0 Monate, 30 Tage
915.02.200917.03.20090 Jahre, 1 Monate, 2 Tage0 Jahre, 1 Monate, 2 Tage0 Jahre, 0 Monate, 30 Tage

Formeln der Tabelle
ZelleFormel
B2=A2+30
C2=WENN(ODER(ODER($A2=DATUM(JAHR(B2); MONAT(B2)+1;0); $B2=DATUM(JAHR(B2); MONAT(B2)+1;0); $B2=DATUM(JAHR(B2); MONAT(B2); 1))); DATEDIF($A2+3;$B2+3;"y")&" Jahre, "& DATEDIF($A2+3;$B2+3;"ym")&" Monate, "&DATEDIF($A2+3;$B2+3;"md")&" Tage";DATEDIF($A2;$B2;"y")&" Jahre, "& DATEDIF($A2;$B2;"ym")&" Monate, "&DATEDIF($A2;$B2;"md")&" Tage")
D2=DATEDIF(A2+1;B2+1;"y")&" Jahre, "&DATEDIF(A2+1;B2+1;"ym")& " Monate, "&TAG(B2+1)-TAG(A2+1)+(TAG(A2+1)>TAG(B2+1))*TAG(DATUM(JAHR(A2+1); MONAT(A2+1)+1;))&" Tage"
E2=DATEDIF(A2+15;B2+15;"y")&" Jahre, "&DATEDIF(A2+15;B2+15;"ym")& " Monate, "&TAG(B2+15)-TAG(A2+15)+(TAG(A2+15)>TAG(B2+15))*TAG(DATUM(JAHR(A2+15); MONAT(A2+15)+1;))&" Tage"
B6=A6+30

Bei der Variante "DATEDIF+14" wird angenommen, dass der Monat mit dem größten Anteil am Zeitraum das Maß sein soll.
Hat vielleicht auch eine gewisse Berechtigung...
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
DATEDIF+15 statt DATEDIF+14 - sorry
10.11.2009 10:08:40
Erich
(ohne weiteren Text)
AW: DATEDIF+15 statt DATEDIF+14 - sorry
10.11.2009 10:55:24
lou38
Hallo Erich
Die Variante Datedif +14 (bzw. +15) ist meines Erachtens nicht richtig. Wieso sollen es vom 13.2. - 15.3. einen Monat und 2 Tage sein, vom 14.2. - 16.3. aber null Monat und 30 Tage? Nach gesundem Menschenverstand sind es in beiden Fällen 1 Monatsperiode und 2 Tage (wie bei Datedif +1). Wenn Beginn- und/oder Enddatum ein Monatsende sind, dann werden mit Datedif+1 richtigerweise Kalendermonate ausgewiesen, in allen anderen Fällen sind es Monatsperioden (14.2. - 14.3. = 1 Monatsperiode, 15. + 16.3. = 2 Tage.
Gruss
Louis
AW: DATEDIF(von+1,bis+1,"md")
10.11.2009 09:23:22
lou38
Hallo Erich
Vor lauter Begeisterung über deine Lösung habe ich gestern vergessen, dir dafür zu danken - was ich hiermit gerne nachhole.
Vielleicht hast du ja auch eine Lösung zu einem Anschlussproblem. Ich möchte nicht nur die Differenz zwischen zwei Stichtagen richtig berechnen, sondern die Differenz zwischen zwei Stichtagen ergänzt mit Zeitangaben.
Beispiele:
a) 28.2.06 00:00:01 bis 29.2.08 00:00:00 ergibt 1/11/28 23:59:59 (J/MM/TT hh:mm:ss)
b) 28.2.06 00:00:00 bis 29.2.08 00:00:01 ergibt 2/00/00 00:00:01
c) 29.2.04 00:00:01 bis 28.2.06 00:00:00 ergibt 1/11/27 23:59:59
d) 29.2.04 00:00:00 bis 28.2.06 00:00:01 ergibt 2/00/00 00:00:01
Wenn es eine Lösung für diese Beispiele gibt, dann sind auch alle anderen Datum- und Zeitkombinationen gelöst.
Gruss
Louis
Anzeige
Zeitdifferenz mit Uhrzeiten
10.11.2009 10:06:38
Erich
Hi Louis,
hier nur ganz kurz ein altes Beispiel, das ich dazu gefunden habe - habe momentan leider keine Zeit.
Vielleicht kannst du das ja mit den anderen Formeln kombinieren.
 ABCDEFG
1StartEndeDiff (Datum/Zeit)Diff dezimalTextTageStd:Min
207.05.2006 22:2218.05.2006 20:0710.01.1900 21:4510,90625010 Tage 21:451021:45
338844,93194438855,838194 10,906250   

Formeln der Tabelle
ZelleFormel
C2=B2-A2
D2=B2-A2
E2=GANZZAHL(B2-A2)&" Tage "& TEXT(REST(B2-A2;1); "hh:mm")
F2=GANZZAHL(B2-A2)
G2=REST(B2-A2;1)
A3=A2
B3=B2
D3=B2-A2

Wegen der Monate lass ich mal offen...
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Zeitdifferenz mit Uhrzeiten
10.11.2009 11:11:05
lou38
Hallo Erich
Ich danke für deine rasche Antwort. Leider ist sie - wie du sicher vermutet hast - nicht das nach was ich suche. Mir schwebt eine Erweiterung deiner genialen Datedif+1-Formel um das Element Zeit vor. Apropos Zeit: Deine Antwort bzw. - wenn möglich - Lösung ist nicht dringend aber sehr erwünscht!
Gruss
Louis
AW: Zeitdifferenz mit Uhrzeiten
10.11.2009 12:05:13
Höttl
Hallo!
Passt das?
Gebt.

 ABC
4Geburtsdatum und wenn du es weißt gebe auch die Geburtszeit ein (ab1900)aktualisieren >> F9 
516.11.1951 08:15:00  
6   
757 Jahre, 11 Monate, 24 Tage, 03 Stunden, 48 Minuten und 40 Sekunden 
8   

Formeln der Tabelle
ZelleFormel
A7=DATEDIF(A5;JETZT(); "y")&" Jahr"&WENN(DATEDIF(A5;JETZT(); "y")<>1;"e";"")&", "&DATEDIF(A5;JETZT(); "ym")& " Monat"&WENN(DATEDIF(A5;JETZT(); "ym")<>1;"e";"")&", "&TAG(JETZT())-(TAG(A5)+WENN(REST(1-A5;1)<REST(1-JETZT(); 1); 1;0))+(TAG(A5)>TAG(JETZT()))*TAG(DATUM(JAHR(A5); MONAT(A5)+1;))&" Tag"&WENN(TAG(JETZT())-TAG(A5)+(TAG(A5)>TAG(JETZT()))*TAG(DATUM(JAHR(A5); MONAT(A5)+1;))<>1;"e";"")&", "&(TEXT(JETZT()-A5;"hh"))&" Stunden, "&TEXT(JETZT()-A5;"mm")&" Minuten und "&TEXT(JETZT()-A5;"ss")&" Sekunden"


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß
Wilfried
AW: DATEDIF(von+1,bis+1,"md")
10.11.2009 12:44:06
Höttl
Hallo!
Ich sehe gerade das Du 2 Datum mit Zeit eingeben willst. Dann so.
Diff 1 Diff 2

 ABCDEFGH
3Datum/Zeit 1 Datum/Zeit 2     
4        
528.02.2006 00:00:01 29.02.2008 00:00:00     
6        
72 Jahre, 0 Monate, 1 Tag, 23 Stunden, 59 Minuten und 59 Sekunden

Formeln der Tabelle
ZelleFormel
A7=DATEDIF(A5;C5;"y")&" Jahr"&WENN(DATEDIF(A5;C5;"y")<>1;"e";"")&", "&DATEDIF(A5;C5;"ym")& " Monat"&WENN(DATEDIF(A5;C5;"ym")<>1;"e";"")&", "&TAG(C5)-(TAG(A5)+WENN(REST(1-A5;1)<REST(1-C5;1); 0))+(TAG(A5)>TAG(C5))*TAG(DATUM(JAHR(A5); MONAT(A5)+1;))&" Tag"&WENN(TAG(C5)-TAG(A5)+(TAG(A5)>TAG(C5))*TAG(DATUM(JAHR(A5); MONAT(A5)+1;))<>1;"e";"")&", "&(TEXT(C5-A5;"hh"))&" Stunden, "&TEXT(C5-A5;"mm")&" Minuten und "&TEXT(C5-A5;"ss")&" Sekunden"


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß
Wilfried
AW: DATEDIF(von+1,bis+1,"md")
10.11.2009 15:29:59
lou38
Hallo Wilfried
Ich danke für deinen Lösungsvorschlag. Leider ergibt er - nach meinem Verständnis - ein falsches Resultat. Vom 28.2.06 bis 29.2.08 sind es genau zwei Jahre, nicht 2 Jahre und 1 Tag. Und wenn die Berechnung erst 1 Sekunde nach dem 28.2.06 beginnt, dann sind es sogar nur 1 Jahr, 11 Monate, 28 Tage, 23 Stunden, 59 Minuten und 59 Sekunden. In deiner Formel ist die Problematik der Monatsenden nicht enthalten, die mit dem Lösungsvorschlag von Erich in diesem Thread (9.11.09, 16:36:24) - allerdings noch ohne Einbezug von Std., Min. und Sek - perfekt abgedeckt ist.
Gruss
Louis
DATEDIF mit Uhrzeiten
10.11.2009 20:37:40
Erich
Hi Louis,
meine "DATEDIF+1"-Formel halte ich für falsch.
Jedenfalls, wenn man (wie in Excel üblich) bei einer Datumsangabe ohne Zeit von 0 Uhr ausgeht,
bei "von - bis" also der von-Tag mitzählt, der bis-Tag nicht.
Siehst du das anders? Deine Bemerkung
"Und wenn die Berechnung erst 1 Sekunde nach dem 28.2.06 beginnt"
hat mich da etwas überrascht.
Hier ein Beispiel dafür, dass meine Formel Müll liefert (Zelle E2):
 ABCDE
1vonbisExcelformeln Nr. 141 obenExcelformeln Nr. 141 unten"DATEDIF+1"
201.02.200931.03.20090 Jah 1 Mon 30 Tg0 Jah 1 Mon 30 Tg0 Jah 1 Mon 27 Tg

Formeln der Tabelle
ZelleFormel
C2=DATEDIF(A2;B2;"y")&" Jah "&DATEDIF(A2;B2;"ym")& " Mon "&TAG(B2)-TAG(A2)+(TAG(A2)>TAG(B2))*TAG(DATUM(JAHR(A2); MONAT(A2)+1;))&" Tg"
D2=WENN(ODER(ODER($A2=DATUM(JAHR(B2); MONAT(B2)+1;0); $B2=DATUM(JAHR(B2); MONAT(B2)+1;0); $B2=DATUM(JAHR(B2); MONAT(B2); 1))); DATEDIF($A2+3;$B2+3;"y")&" Jah "& DATEDIF($A2+3;$B2+3;"ym")&" Mon "&DATEDIF($A2+3;$B2+3;"md")&" Tg";DATEDIF($A2;$B2;"y")&" Jah "& DATEDIF($A2;$B2;"ym")&" Mon "&DATEDIF($A2;$B2;"md")&" Tg")
E2=DATEDIF(A2+1;B2+1;"y")&" Jah "&DATEDIF(A2+1;B2+1;"ym")& " Mon "&TAG(B2+1)-TAG(A2+1)+(TAG(A2+1)>TAG(B2+1))*TAG(DATUM(JAHR(A2+1); MONAT(A2+1)+1;))&" Tg"

Mein Favorit ist die Formel in Spalte C, die in D produziert einige Merkwürdigkeiten,
die in Tab1 der hier hochgeladenen Mappe zu sehen sind.
Deshalb habe ich die Spalte-C-Formel um die Uhrzeit erweitert:
 ABCD
1vonbisExcelformeln Nr. 141 obenExcelformeln Nr. 141 oben + Zeit
228.02.2009 00:0927.03.2009 01:000 Jah 0 Mon 27 Tg0 Jah 0 Mon 27 Tg  00:51

Formeln der Tabelle
ZelleFormel
C2=DATEDIF(A2;B2;"y")&" Jah "&DATEDIF(A2;B2;"ym")& " Mon "&TAG(B2)-TAG(A2) + (TAG(A2)>TAG(B2)) * TAG(DATUM(JAHR(A2); MONAT(A2)+1;))&" Tg"
D2=DATEDIF(A2+(REST(A2;1)>REST(B2;1)); B2;"y")&" Jah "&DATEDIF(A2+(REST(A2;1)>REST(B2;1)); B2;"ym")& " Mon "&TAG(B2)-TAG(A2+(REST(A2;1)>REST(B2;1))) + (TAG(A2+(REST(A2;1)>REST(B2;1)))>TAG(B2)) * TAG(DATUM(JAHR(A2+(REST(A2;1)>REST(B2;1))); MONAT(A2+(REST(A2;1)>REST(B2;1)))+1;))&" Tg" & TEXT(REST(B2-A2;1); "  hh:mm")

Weitere Beispiel sind in Tab2 der Mappe: https://www.herber.de/bbs/user/65742.xls
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: DATEDIF mit Uhrzeiten
10.11.2009 22:44:58
lou38
Hallo Erich
Warum Müll? Vom 1.2.09 - 31.3.09 sind es doch 1 Monat (März) und 27 Tage im Februar, also genau gemäss Datedif+1. Ich weiss, diese Betrachtungsweise ist ungewohnt aber deshalb noch lange nicht falsch. Ist ein Beginn- und/oder Enddatum ein Monatsende, dann zählen die Kalendermonate und nicht die Monatsperioden und dann werden entweder die überzähligen Tage am Ende der Datumsperiode (wenn Beginndatum = Monatsende) oder die vorgelagerten Tage ab Beginn der Datumsperiode (wenn Enddatum = Monatsende) gezählt. Sind beide Daten ein Monatsende, ergeben sich logischerweise 0 Tage.
Andere Beispiele: (richtig = Datedif+1)
31.1.09 - 28.2.09: richtig = 0 J, 1 M, 0 T; falsch = 0 J, 0 M, 28 T (Excelformeln + Datedif)
30.4.09 - 30.7.09: richtig = 0 J, 2 M, 30 T; falsch = 0 J, 3 M, 0 T (Excelformeln + Datedif)
29.2.04 - 28.2.07: richtig = 3 J, 0 M, 0 T; falsch = 2 J, 11 M, 30 T (Datedif)oder 2 J, 11 M, 28 T (Excelformeln)
Falls der Datedif+1-Ansatz wirklich Müll sein sollte, dann bin ich auf die Erklärung gespannt. Mir scheint er die einzig richtige Zählweise (auch wenn wir bisher immer unbewusst das edatum-Konzept angewandt haben und dann bei der Datumsperiode 29.12.08 - 28.2.09 ein grosses Problem haben. Richtig sind in diesem Fall doch eindeutig 2 Monate (Jan + Feb) und 2 Tage (30. + 31.12.) und nicht 1 Monat + 30 Tage)
Gruss
Louis
Rückfrage - grundsätzlich
11.11.2009 01:32:10
Erich
Hi Louis,
zuletzt hatte ich geschrieben: Jedenfalls, wenn man (wie in Excel üblich) bei einer Datumsangabe ohne Zeit von 0 Uhr ausgeht, bei "von - bis" also der von-Tag mitzählt, der bis-Tag nicht. Siehst du das anders? Deine Bemerkung "Und wenn die Berechnung erst 1 Sekunde nach dem 28.2.06 beginnt" hat mich da etwas überrascht. Noch mal ganz ausdrücklich:
Bezeichnet bei dir 31.1.09 - 28.2.09
den Zeitraum vom 31.1. 23:59:95,999 Uhr bis zu 28.2. 23:59:95,999 Uhr ?

Dann stimmt natürlich "DATEDIF+1"-Formel für dich.
Gilt das Tagesende bei allen Tagen oder nur bei Monatsenden ?
Allerdings:
Üblich ist, dass 31.1.09 - 28.2.09
den Zeitraum vom 31.1. 00:00:00 Uhr bis zu 28.2. 00:00:00 Uhr bezeichnet.
Dann sind es 1 Tag im Januar und 27 Tage im Februar.
Wenn du dir vergegenwärtigst, dass Datum/Zeit in Excel nichts anderes als Doublezahlen sind,
liegt meine Betrachtungsweise schon näher:
 AB
40Dat/ZeitDezimal
4101.11.200940118
4201.11.2009 00:00:0040118
4301.11.2009 16:00:0040118,66667
4401.11.2009 23:59:5940118,99999

Formeln der Tabelle
ZelleFormel
B41=A41
B42=A42
B43=A43
B44=A44

Dazu kannst du auch mal hier schauen: http://www.online-excel.de/excel/singsel.php?f=129
Nun noch zu
"... bei der Datumsperiode 29.12.08 - 28.2.09 ein grosses Problem haben.
Richtig sind in diesem Fall doch eindeutig 2 Monate (Jan + Feb) und 2 Tage (30. + 31.12.)
und nicht 1 Monat + 30 Tage)"
Für mich besteht der Zeitraum 29.12.08 - 28.2.09 aus
3 Tagen im Dez (29.+30.+31.12.)
31 Tagen im Jan (dem kompletten Monat)
27 Tagen im Feb (01.+...+ 27.02.)
Das sind dann 1 Monat und 30 Tage.
Für den Zeitraum 30.12.08 - 01.03.09 rechnen alle drei Formeln 2 Monate + 2 Tage aus -
also das Ergebnis, dass du ab dem 29.12. haben möchtest.
Dieser Zeitraum besteht aus
2 Tagen im Dez (30.+31.12.)
31 Tagen im Jan (dem kompletten Monat)
28 Tagen im Feb (dem kompletten Monat)
Das sind für mich 2 Monate und 2 Tage.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Rückfrage - grundsätzlich
11.11.2009 09:16:57
lou38
Hallo Erich
Du hast mein Problem gelöst. Ich bin bisher immer davon ausgegangen, dass der erste Tag einer Periode nicht zählt (dafür der letzte). Ich glaube, ich habe das mal so gelesen und/oder habe mich von der Funktion edatum verwirren lassen. Wenn man aber auch die Uhrzeit in die Berechnung einbezieht, dann stellt man fest, dass meine bisherige Sichtweise nicht korrekt ist. Ich habe jetzt begriffen, dass der erste Tag einer Periode zählt, aber dafür der letzte nicht (ausser ggf. ein paar hh:mm:ss am letzten Tag). Meine ursprüngliche Anfrage bzw. Tageberechnungsformel und deine gekürzte Formel werden dadurch hinfällig bzw. sind - wie du sagst - Müll.
Ich bedaure die ganze Aufregung und den ganzen Aufwand den ich verursacht habe, bin dir aber sehr dankbar, dass du mich von meinem "Irrglauben" abgebracht hast.
Gruss
Louis
Danke für Rückmeldung - Kein Problem! (owT)
11.11.2009 12:24:24
Erich
(ohne weiteren Text)

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige