MS-Office-Forum
Google
   

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Excel
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads Der Renner, 11 Entwicklertools für Access, Tipps & Trick und offene Datenbanken zum einzigartigen Preis.
Themen-Optionen Ansicht
Alt 08.02.2018, 14:49   #1
pixxma
MOF User
MOF User
Standard Excel2010 - Dauer in Monaten + Tagen berechnen

Hallo,

ich möchte die Dauer einer bestimmten Sache, z.B. eines Kurses, in Monaten und Tagen berechnen. Ich mache dies mit der Funktion DATEDIF in zwei getrennten Berechnungen wie folgt:

=DATEDIF(Anfangsdatumsfeld;Enddatumsdfeld;"M") // = volle Monate
plus
=DATEDIF(Anfangsdatumsfeld;Enddatumsdfeld;"MD") // = Einzeltage ohne Monate

Ein Kurs mit der Dauer 1.3.18 bis 20.6.18 hätte nach dieser Berechnung eine Dauer von 3 Monaten und 19 Tagen.

Dazu habe ich zwei Fragen:

1. Geht es eleganter und komprimierter? Also so, dass ich nicht zwei Berechnungen durchführen lassen muss?

2. Kann man irgendwie die „Monatsdefinition“ von Excel beeinflussen? An obigem Beispiel erläutert: Nach meinem eigenen Verständnis dauert der Kurs 3 Monate und 20 Tage. Excel rechnet „von 1. bis 1. = 1 Monat“ und kommt damit logischerweise auf 3 Monate und 19 Tage. – Anderes Beispiel: Kursdauer = 1.10.17 bis 31.12.17. Mein Verständnis: Dauer = 3 Monate. Excels Verständnis: Dauer = 2 Monate + 30 Tage. – Kann man dieses „Rechenverständnis“ bzw. diese „Monatsdefinition“ irgendwie anpassen?

MfG

pixxma
pixxma ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 08.02.2018, 15:59   #2
EarlFred
MOF Guru
MOF Guru
Standard

Hallo pixxma,

und wenn Du ein Intervall vom 01.10.2018 bis 02.10.2018 hast, ist das Ergebnis 1 Tag. Du willst aber 2 Tage haben. Das hat also nichts mit der Definition von Monaten zu tun, sondern mit der Definition von Datedif, dass die Differenz zwischen zwei Daten ausgegeben wird (daher auch der Formelname).
Du musst also, damit der letzte Tag des Intervalls einberechnet wird, diesen in der Funktion um 1 erhöhen.

Deine beiden Funktionen lassen sich ja auch in einer verpacken:
Code:

=DATEDIF(A1;B1+1;"M")&" Monate "&DATEDIF(A1;B1+1;"MD")&" Tage"
Grüße
EarlFred

__________________

Datum und Uhrzeit, Makrorekorder-Code entschlacken, {Matrixformeln}
Tutorials zu Pivottabellen: Kurzeinstieg; Dynamischer Datenbereich; Daten und Zeiten gruppieren
Für 3 meiner Beiträge haben sich die Hilfesuchenden mit einer Spende an Wikipedia, die Tafeln oder Hilfe für krebskranke Kinder eV bedankt (das entspricht 0,023% per 05.12.2017) - eine tolle Geste!
EarlFred ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 08.02.2018, 16:59   #3
pixxma
Threadstarter Threadstarter
MOF User
MOF User
Standard Gelöst!

Hallo EarlFred,

WOW! - bestechend und einfach! Und gut erklärt dazu! Warum Du bei der zweiten Formel "+1" genommen hast, war mir sofort klar - das löst mein "Tage-Problem". Über das "+1" in der ersten Formel (Berechnung der Monate) musste ich erstmal nachdenken - aber klar: bei einer Kursdauer 1.10.17 bis 31.12.17 würde Excel ohne das "+1" nur 2 Monate auswerfen und nur durch die "theoretische Kursverlängerung" um 1 Tag kommt Excel dann auf die korrekten 3 Monate!

Es ist genau wie Du es erklärt hast: DATEDIF ist primär keine Monatsberechnung (auch wenn es mit "M" berechnet wird), sondern eine Datumsunterschiedsberechnung.

- Aber ich habe zum Abschluss noch eine Frage: nehmen wir an, ich benutze die beiden Formeln (Monate + Tage) tatsächlich nicht getrennt, sondern wie Du es gezeigt hast, kombiniert:

Code:

=DATEDIF(A1;B1+1;"M")&" Monate "&DATEDIF(A1;B1+1;"MD")&" Tage"
Wenn ich damit nun mehrere Kurse untereinander berechne ("Kurs 1 = 3 Monate 5 Tage; Kurs 2 = 4 Monate 10 Tage usw.") kann ich die Intervall-Ergebnisse der einzelnen Kurse nicht automatisch summieren. Zum automatischen Summieren muss ich Monate und Tage dann doch in 2 Spalten getrennt berechnen - oder geht das doch irgendwie?

MfG

pixxma
pixxma ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 08.02.2018, 17:19   #4
EarlFred
MOF Guru
MOF Guru
Standard

Hallo pixxma,

Zitat:

"theoretische Kursverlängerung" um 1 Tag

Denke anders:
01.10.2018 bis 02.10.2018 heißt: Den ganzen Tag 01.10.2018 bis zum Tagesbeginn (=ohne) 02.10.2018. Du willst aber doch ganz einfach bis zum Tagesbeginn 03.10.2018 rechnen. Also +1.


OK, der "Rest" ist eine erweiterte, fast andere Aufgabe!

Du könntest es Dir einfach machen, indem Du die Formel abänderst:
Code:

=DATEDIF(A1;B1+1;"M")+DATEDIF(A1;B1+1;"MD")%
Ergebnis ist also Monate,Tage (Tage=Nachkommastellen)
Für die Ausgabe nimmst Du folgendes Benutzerdefiniertes Zahlenformat (Strg+1, Reiter Zahlen, Benutzerdefiniert):
Code:

0" Monate", 00 "Tage"
Jetzt kannst Du normal aufsummieren, wobei die Summenzelle wieder das vorgenannte Format braucht.

Dabei können natürlich, genauso wie bei Deiner Methode, Ergebnisse wie "3 Monate und 44 Tage" rauskommen.

Dabei nicht berücksichtigt: Intervallüberschneidungen!

Der sicherlich einfachste Weg wäre aber, die Differenz nicht nur in Deinem Zielformat zu berechnen, sondern als Differenz in Tagen.
Also eine weitere Formel:
Code:

=B1-A1 (Ohne +1!)
Die Gesamtzeitdifferenz wäre dann "sauber" berechnet:
Startdatum (fiktiv): =Min(Startdaten)
Enddatum (fiktiv): =Min(Startdaten) + Summe(Tagesdifferenzen) + 1
Auf dieses Start- und Enddatum wendest Du dann meine ursprüngliche Formel an.

Grüße
EarlFred

__________________

Datum und Uhrzeit, Makrorekorder-Code entschlacken, {Matrixformeln}
Tutorials zu Pivottabellen: Kurzeinstieg; Dynamischer Datenbereich; Daten und Zeiten gruppieren
Für 3 meiner Beiträge haben sich die Hilfesuchenden mit einer Spende an Wikipedia, die Tafeln oder Hilfe für krebskranke Kinder eV bedankt (das entspricht 0,023% per 05.12.2017) - eine tolle Geste!

Geändert von EarlFred (08.02.2018 um 17:24 Uhr).
EarlFred ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 08.02.2018, 17:49   #5
Josef B
MOF User
MOF User
Standard

Hallo

Und was ist bei
Anfangsdatumsfeld; Enddatumsfeld: 31.01.2017 01.03.2017
Für die Berechnung der Resttage ist diese Funktion nicht geeignet.
Siehe auch:
http://www.excelformeln.de/formeln.html?welcher=141

Gruss Sepp
Josef B ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 08.02.2018, 21:29   #6
Sulprobil
Neuer Benutzer
Neuer Benutzer
Standard

Wenn Du nicht 3 Monate und 44 Tage bekommen möchtest, kannst Du auch Monate mit Nachkommastellen nehmen, schlage ich vor:
http://www.sulprobil.com/Get_it_done...fractions.html

Viele Grüße,
Bernd P
Sulprobil ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.02.2018, 09:26   #7
EarlFred
MOF Guru
MOF Guru
Standard

@Sepp,

danke für die Erinnerung, da war ja was mit Datedif...

__________________

Datum und Uhrzeit, Makrorekorder-Code entschlacken, {Matrixformeln}
Tutorials zu Pivottabellen: Kurzeinstieg; Dynamischer Datenbereich; Daten und Zeiten gruppieren
Für 3 meiner Beiträge haben sich die Hilfesuchenden mit einer Spende an Wikipedia, die Tafeln oder Hilfe für krebskranke Kinder eV bedankt (das entspricht 0,023% per 05.12.2017) - eine tolle Geste!
EarlFred ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.02.2018, 10:14   #8
pixxma
Threadstarter Threadstarter
MOF User
MOF User
Standard Frage

Hallo EarlFred,

vielen Dank! - Ich kann Dir noch folgen bis zur Berechnung der genauen Dauer in Tagen, also bis =B1-A1. Das ist leicht zu verstehen.

Was ich dann nicht mehr verstehe ist dies:

Zitat:

Die Gesamtzeitdifferenz wäre dann "sauber" berechnet:
Startdatum (fiktiv): =Min(Startdaten)
Enddatum (fiktiv): =Min(Startdaten) + Summe(Tagesdifferenzen) + 1
Auf dieses Start- und Enddatum wendest Du dann meine ursprüngliche Formel an.

Könntest Du - nur falls Du ausreichend Zeit hast natürlich! - das an meinen Beispieldaten evtl. nochmal erklären? Meine Beispieldaten sind folgende:

Dauer Kurs 1: 1.3.2018 bis 20.6.2018 [= 111 Tage]
Dauer Kurs 2: 1.2.2017 bis 31.12.2017 [= 333 Tage]
Dauer Kurs 3: 8.12.2017 bis 15.1.2018 [= 38 Tage]

Die Gesamtsumme an Kursdauern wäre nach der "Monatsberechnung" 15 Monate und 28 Tage und nach der "Tagesberechnung" 482 Tage. Aber das Ergebnis spielt hier keine Rolle mehr; ich würde nur gerne Deine oben zitierte Berechnungsmethode verstehen wollen.

MfG

pixxma
pixxma ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.02.2018, 11:04   #9
EarlFred
MOF Guru
MOF Guru
Standard

Hallo pixxma,

es wäre leichter, wenn Dein Tabellenaufbau bekannt wäre. Ich nutzte "Startdaten" und "Tagesdifferenzen" stellvertretend für die Bereiche, wo eben diese Informationen stehen.

Wenn die Startdaten in A1 bis A3 stehen und die Formeln für die Tagesdifferenzen (=B1-A1 +1) (+1 ist hier doch richtig, war ein Denkfehler) stünden in C1:C3:
1. Formel, z. B. F1: =Min(A1:A3)
2. Formel: z. B. F2: =Min(A1:A3) + Summe(C1:C3)
3. Formel aus Beitrag #2 anwenden auf Zellen F1 und F2, aber ohne +1

Wobei hier genau das zutrifft, von dem ich sagte dass es ausgeschlossen werden muss: Es gibt Überschneidungen der Zeiträume (08.12.17 bis 31.12.17)! Also rechnet die Formel nicht die Differenz nach Kalender aus, sondern einige Zeiträume eben mehrfach, weil überschnitten. Da stecken also ein paar mehr Fallstricke in der Aufgabe als nur Rechenungenauigkeiten bei DateDif.

Grüße
EarlFred

__________________

Datum und Uhrzeit, Makrorekorder-Code entschlacken, {Matrixformeln}
Tutorials zu Pivottabellen: Kurzeinstieg; Dynamischer Datenbereich; Daten und Zeiten gruppieren
Für 3 meiner Beiträge haben sich die Hilfesuchenden mit einer Spende an Wikipedia, die Tafeln oder Hilfe für krebskranke Kinder eV bedankt (das entspricht 0,023% per 05.12.2017) - eine tolle Geste!

Geändert von EarlFred (09.02.2018 um 11:14 Uhr).
EarlFred ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.02.2018, 16:44   #10
pixxma
Threadstarter Threadstarter
MOF User
MOF User
Standard

Ah ok, ich habe das nachgebaut und verstehe jetzt.

Für meine Zwecke bevorzuge ich jetzt aber die DATEDIF-Methode mit zwei getrennten Ergebnisspalten für Monate und Tage, da ich hier nicht noch die Hürde der sich überschneidenden Zeiträume nehmen muss.

Hat natürlich den Nachteil, dass man sich überlegen muss, wie man mit der Anzahl der Tage umgeht, wenn diese jenseits der 30 liegt ...

Aber für meine Zwecke reicht es wie gesagt.

Dankeschön

MfG

pixxma
pixxma ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:43 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2010 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günther Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.
Beachten Sie bitte auch unsere Nutzungsbedingungen.