Datum Differenz
#1
Hallo!
ich tüftel jetzt schon viel zu lange an einem Problem herum und vielleicht kann mir da jemand helfen.

Ich will die Anzahl von Monaten (Differenz zwischen zwei Daten) berechnen aber mit Berücksichtigung der Jahre!
Also Monate Differenz ist ja einfach (also zB zwischen 01.05.2017 und 31.08.2019 sind 28 Monate)
aber wieviel Monate entfallen von den 28 Monaten auf 2017, wieviel auf 2018 und wieviel auf 2019? 

Vielleicht hat da eine Idee für eine elegante Lösung (mit möglichst wenig wenns...)

LG
Ulli
Top
#2
Hi,

z.B. so:

Arbeitsblatt mit dem Namen 'Tabelle1'
 ABCD
1StartEnde20178
201.05.201731.08.2019201812
3  20198

ZelleFormel
D1=MAX(0;DATEDIF(MAX($A$2;--("1.1."&C1));MIN($B$2;--("31.12."&C1))+1;"M"))
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Top
#3
Hallo,

ein wenig länger da m.E. die obige Formel in bestimmten Situationen nicht richtig rechnet (wobei ich meine Formel auch nur mit wenigen Werten getestet habe):

Arbeitsblatt mit dem Namen 'Tabelle1'
 ABCDEFG
1  20162017201820192020
228.02.201628.02.2020111212122
3  101212121

ZelleFormel
C2=UND($A2<=$B2;JAHR($A2)=JAHR($B2);JAHR($A2)=C$1)*(MONAT($B2)-MONAT($A2)+1)+UND(JAHR($B2)>JAHR($A2);JAHR($A2)=C$1)*(13-MONAT($A2))+UND(JAHR($B2)>JAHR($A2);JAHR($B2)=C$1)*(MONAT($B2))+UND(JAHR($A2)<C$1;C$1<JAHR($B2))*12
C3=MAX(0;DATEDIF(MAX($A$2;--("1.1."&C1));MIN($B$2;--("31.12."&C1))+1;"M"))
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg
Gruß
Peter
Top
#4
Hi,

ja die kurze Funktion mit Max und Min funktioniert - vielen Dank!

Es zeigt mit zwar einen Fehler an für die Jahre nach dem Ende des Zeitraums aber der ist mit Wennfehler wegzubekommen.

Super! Nochmals vielen Dank! Bin ja gänzlich neu hier im Forum, bin aber total überrascht, wie schnell ihr hier reagiert habt´s. Toll!

Ich frag mich nur, warum ich so lang allein herumgetüftelt hab!

Liebe Grüße

Ulli :19: 

P.S. ich muss erst noch testen wie das geht, eine Tabelle zur Ansicht einzufügen...wie gesagt: neu hier
Top
#5
Hi Peter,

wenn ich davon ausgehe, dass immer der 1. des Monats das Anfangsdatum darstellt, dann reicht meine Formel. Für Deine Variante würde ich das nehmen:

Arbeitsblatt mit dem Namen 'Tabelle1'
 ABCD
1StartEnde201611
228.02.201628.02.2020201712
3  201812
4  201912
5  20202
6  2021 

ZelleFormel
D1=WENNFEHLER(MAX(0;DATEDIF(MAX($A$2-TAG($A$2)+1;--("1.1."&C1));MIN(MONATSENDE($B$2;0);--("31.12."&C1))+1;"M"));"")
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Top
#6
Hallo!

Noch eine Möglichkeit

Tabelle2

ABCDEFGH
1AnfangEnde201120122013201420152017
201.11.201128.02.20172121212122
323.02.201404.05.20142
405.12.201115.06.201412125
501.07.201130.10.201761212121210
6
7Format0;;
8
Formeln der Tabelle
ZelleFormel
C2=WENN((JAHR($A2)>C$1)+(JAHR($B2)<C$1);"";DATEDIF(MAX(DATUM(C$1;1;0);$A2);MIN(DATUM(C$1+1;1;1);$B2+1);"M"))

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4



Gruß
Wilfried
Top
#7
Hi,

als Anmerkung:
  • bei Edgars langer und bei Peters Formel werden angefangene Monate als komplette Monate gezählt.
  • bei Edgars kurzer und der von Wilfried werden sie nicht mitgezählt.
Top
#8
(04.08.2017, 10:04)Peter schrieb: ein wenig länger da m.E. die obige Formel in bestimmten Situationen nicht richtig rechnet (wobei ich meine Formel auch nur mit wenigen Werten getestet habe):
Hallo Peter,

10 am Anfang und 1 am Ende sind aber korrekt! Auch gegen die Ansicht des TE.

Denn ein Monat ist erst vom 1.1. bis 1.2. voll, nicht schon vom 1.1. bis 31.1.

Wenn letzteres sein soll, muss man auch entsprechend "inklusiv" rechnen.
Top


Gehe zu:


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