Hi zusammen,
ich habe folgende Challenge: Ich möchte gerne beginnend von einem Datum (beispielsweise dem 15.02.2020) bis zum Datum TODAY() die Anzahl der "15." des Monat ausgeben lassen. Also in diesem Fall die Zahl 10 (der 15. kommt genau 10 mal vor vom 15.02. bis zum 22.11. = heute).
Leider habe ich keine Ahnung, wie und ob sich das über eine entsprechende Formel berechnen lässt.
Vielen Dank für Eure Hilfe!
Gruß.
Mark
Hallöchen,
so?
Arbeitsblatt mit dem Namen 'Tabelle1' |
| A | B |
1 | 01. Jan | |
2 | 15. Dez | 12 |
Zelle | Formel |
B2 | =DATEDIF(A1-TAG(A1)*(TAG(A1)<=15);A2+(TAG(DATUM(JAHR(A2);MONAT(A2)+1;0))-TAG(A2))*(TAG(A2)>=15);"m") |
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016 |
Diese Tabelle wurde mit Tab2Html (v2.6.2) erstellt. ©Gerd alias Bamberg |
Super! Vielen Dank für die schnelle Antwort! Ich nehme mir jetzt gleich mal paar Minuten um zu verstehen, was genau du da gebastelt hast - aber funktioniert genau wie gewünscht.
Gruß
Moin
Dann war das Wunschergebnis im ersten Beitrag also falsch?
Arbeitsblatt mit dem Namen 'Tabelle1' |
| G | H | I | J |
1 | 15.02.2020 | 22.11.2020 | | 9 |
Zelle | Formel |
H1 | =HEUTE() |
J1 | =DATEDIF(G1-TAG(G1)*(TAG(G1)<=15);H1+(TAG(DATUM(JAHR(H1);MONAT(H1)+1;0))-TAG(H1))*(TAG(H1)>=15);"m") |
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016 |
Diese Tabelle wurde mit Tab2Html (v2.6.2) erstellt. ©Gerd alias Bamberg |
Hallo schauan,
1.2.2011
22.11.2011
ergibt bei mir 10: =(TAG(A1)<16)+(TAG(A2)>14)+WENNFEHLER(DATEDIF(A1+32-TAG(A1+32);A2-TAG(A2);"M");-1)
Hallöchen,
das ergibt bei mir korrekt 8 und in der Alternative nur 7 ... I hate datedif :86:
ich hatte übrigens eine Klammer falsch gesetzt. Tut aber nix zur Sache. Funktioniert mal, und mal nicht
Arbeitsblatt mit dem Namen 'Tabelle1' |
| A | B | C |
1 | 01. Mai | | |
2 | 15. Dez | 8 | 7 |
Zelle | Formel |
B2 | =DATEDIF(A1-TAG(A1)*(TAG(A1)<=15);A2+(TAG(DATUM(JAHR(A2);MONAT(A2)+1;0))-TAG(A2)*(TAG(A2)>=15));"m") |
C2 | =(TAG(A1)<16)+(TAG(A2)>14)+WENNFEHLER(DATEDIF(A1+32-TAG(A1+32);A2-TAG(A2);"M");-1) |
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016 |
Diese Tabelle wurde mit Tab2Html (v2.6.2) erstellt. ©Gerd alias Bamberg |
PHP-Code:
=DATEDIF(A9;TODAY();"m")+(DAY(TODAY())>=DAY(A9))*(DAY(A9)<16)
=MAX(0;12*JAHR(A2)-12*JAHR(A1)+MONAT(A2)-MONAT(A1)-(MONAT(A2)=MONAT(A1))*(TAG(A1)=TAG(A2))*(TAG(A1)<>15)+(TAG(A2)>14)+(TAG(A1)<16)-1)
Schauan's Formel ist z. B. für 1.11.2020 - 15.11.2020 falsch (ist 0, sollte aber 1 sein).
LCohen's Formel ist z. B. für 20.6.2020 - 1.3.2021 falsch (ist 7, sollte aber 8 sein).
Beide Formeln sind Murks für A2 < A1.
Viel Spaß, vielleicht ist bei mir ja auch noch ein Wurm drin.
Oder die Variante.
=DATEDIF(DATUM(JAHR($P$12);MONAT($P$12);1);1+MONATSENDE(P13;0);"M")-(TAG($P$12)>15)-(TAG(P13)<15)
P12 = start; P13 = Ende
Gruß Elex
Hallo Elex,
Tolle Idee!
Es genügt dann m. E.:
=DATEDIF(A1;MONATSENDE(A2;1);"M")-(TAG(A1)>15)-(TAG(A2)<15)
A1: Start
A2: Ende
Gruß
Christian