Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

DATEDIF mit Besonderheiten
#1
Hallo zusammen,
 
in meinem Fall geht es um die DATEDIF-Funktion und der Ausgabe in Monaten und Tagen. Hierbei habe ich die Inspiration dieser Seite aufgegriffen:
http://www.herber.de/excelformeln und bi...elcher=141
 
Hierbei war für mich wichtig, dass grundsätzlich ganze Monate gerechnet werden. Wie bspw. in dieser Formel dargestellt (s. a. Quelle) und die Tage der angefangenen Monat(e) aufsummiert werden:
 
Monate funktioniert:
 
=MAX(0;DATEDIF(A1;A2;"M")-(TAG(A2)>=TAG(A1))+(MONAT(A1)<>MONAT(A1-1))+(MONAT(A2)<>MONAT(A2+1)))
 
die nun nachfolgende Formel ebenfalls aus obiger Quelle für die Tage:
 
=TAG(A2)-TAG(A1)+(TAG(A1)>TAG(A2))*TAG(DATUM(JAHR(A1);MONAT(A1)+1;))
 
gibt leider nicht immer das richtige Ergebnis aus. Deshalb wie muss/sollte die Formel abgeändert werden. Selbstversuche die Formel abzuändern führten leider ebenfalls nicht zum gewünschten Ergebnis.
 
Einen Versuchsaufbau der Arbeitsmappe wo die Formel falsch und wo richtig rechnet habe ich angefügt.
 
Ich würde mich über Hilfe freuen da ich nun schon Stunden ohne ein Ergebnis ratlos vorsitze.
 
 
Nette Grüße
 
Volker


Angehängte Dateien
.xlsx   Versuchsaufbau.xlsx (Größe: 10,45 KB / Downloads: 8)
Antworten Top
#2
Hi,

Arbeitsblatt mit dem Namen 'Test'
CDEFGHI
3Datum vonDatum bisMonateTageTage + 1
420.02.201607.05.20205016175017
515.01.201617.09.20171923202
610.05.201713.06.201703413
716.06.201702.05.20192216172216
802.02.201916.03.201901415114

ZelleFormel
H4=DATEDIF(C4;D4;"m")
I4=DATEDIF(C4;D4;"md")
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#3
Hallo Volker,

schau mal hier: Alter einer Person - ergänzt

Gruß Uwe
Antworten Top
#4
@WillWissen
Danke für Deine Antwort.

Das ist es leider auch nicht. Die angefangenen Monate sollen in der Monatsberechnung keine Berücksichtigung finden. Stattdessen sollen die angefangenen Monate in die Tage fließen. In der beigegebenen Datei ist die Monatsberechnung (sollte eigentlich alles grün sein) komplett korrekt, die Tagberechnung dagegen teilweise nicht.

Gruß
Antworten Top
#5
Hallo,

deine ganze Wunschberechnung ist für mich nicht nachvollziehbar. Mal per "Fingerabzählen":

Arbeitsblatt mit dem Namen 'Test'
ABCD
3Datum vonDatum bis
4120.02.201607.05.2020
5215.01.201617.09.2017
6310.05.201713.06.2017
7401.04.201905.05.2019
8502.02.201916.03.2019
9JahrMonateTage
1012016109
112017120
122018120
132019120
14202047
155016
16220161116
172017817
181933
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Berücksichtigt dabei ist, dass du von angebrochenen Monaten nur die Tage gezählt haben willst und ansonsten die kompletten Monat. Schau dir mal das Ergebnis für den Zeitraum 15.1.16 - 17.9.17 (gekennzeichnet mit 2) an. Das Ergebnis der Tabe übersteigt in jedem Fall einen ganzen Monat. Und es übersteigt in diesem Fall auch mein Verständnis. Wink
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#6
@WillWissen

Wie in dem geposteten Link gehören 2 unterschiedlich angebrochene Monate weder zu dem einen Monat noch zu dem anderen. Diese sollen dann in Tage ausgegeben werden (auch bspw. >31 Tage).

Vielleicht wird es übersichtlicher wenn ich die Datei einmal manuell durchgehe. Ohne Formeln anhand eines Beispiels (Anhang).

Danke bis hierhin für Eure/Deine Hilfe.


Angehängte Dateien
.xlsx   Versuchsaufbau2_Zufuß.xlsx (Größe: 12,98 KB / Downloads: 11)
Antworten Top
#7
C1: =WENNFEHLER(DATEDIF(WENN(TAG(A1)=1;A1;MONATSENDE(A1;0)+1);MONATSENDE(B1;(B1=MONATSENDE(B1;0))-1)+1;"M");)
D1: =WENN(TEXT(A1;"JJJJMM")=TEXT(B1;"JJJJMM");B1-A1+1;B1-(MONATSENDE(B1;(B1=MONATSENDE(B1;0))-1))+WENN(TAG(A1)=1;A1;MONATSENDE(A1;0)+1)-A1)

Möglicherweise sind noch nicht alle Eventualitäten erschlagen. 
Möglicherweise geht es auch kürzer (nicht durchoptimiert).
Fehlerbehandlung von Falscheingaben (A1>B1) mache ich grundsätzlich nicht in Formeln! Die gehören in DÜ oder bedF.
Die Randtage werden mitgezählt.
[-] Folgende(r) 1 Nutzer sagt Danke an LCohen für diesen Beitrag:
  • Umstaende_halber
Antworten Top
#8
(05.05.2019, 15:11)LCohen schrieb: C1: =WENNFEHLER(DATEDIF(WENN(TAG(A1)=1;A1;MONATSENDE(A1;0)+1);MONATSENDE(B1;(B1=MONATSENDE(B1;0))-1)+1;"M");)
D1: =WENN(TEXT(A1;"JJJJMM")=TEXT(B1;"JJJJMM");B1-A1+1;B1-(MONATSENDE(B1;(B1=MONATSENDE(B1;0))-1))+WENN(TAG(A1)=1;A1;MONATSENDE(A1;0)+1)-A1)

Möglicherweise sind noch nicht alle Eventualitäten erschlagen. 
Möglicherweise geht es auch kürzer (nicht durchoptimiert).
Die Randtage werden mitgezählt.

Es geht nur noch um die Tage. Die Monate werden/wurden schon von der geposteten Formel richtig erfasst. Ich habe Deine Formel für die Tage ausprobiert, diese lieferte mir bei den Daten
15.01.16
17.09.17
= 34 Tage. In meinem Beispiel müsste dies aber 31 Tage ergeben. Vielen Dank für Deine Mühe bis hierhin mir zu helfen.
Antworten Top
#9
Nö. 34 stimmt. Inkl. BEIDER (bzw. aller VIER) Randtage. - Bitte nicht fullquoten!
Antworten Top
#10
15.01. - 31.01. = 17 Tage (erster und letzter Tag wird mitgezählt)
17.09. - 30.09. = 14 Tage (erster und letzter Tag wird ebenfalls mitgezählt)

somit erhalte ich (17+14) 31 manuell nachgerechnet.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste