Clever-Excel-Forum

Normale Version: Zwei Daten - Tage den Monaten zuordnen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Guten Morgen liebe Community!  19

Eventuell gibt hier ja jemanden, der mir etwas auf die Sprünge helfen kann.

Mein Problem:

Ich habe zwei Datumsangaben und möchte mir die Tage pro Monat, für den gesamten Zeitraum ausgeben lassen.

Zum Beispiel habe ich als Datum den 12.01.2022 und den 24.03.2023.
Nun wäre es schön, wenn ich auf elegante Art & Weise eine Auflistung in folgender Form erhalt:

Januar 22 -> 19 Tage
Februar 22 -> 29 Tage
.
.
.
März 23 -> 24 Tage

Ich hoffe, dass mir jemand helfen kann  17
Euch allen einen guten Start in die neue Woche! (:
Hallo S...,

zB.

=MAX(0;MIN($B$2+1;D$1)-MAX($A$2+1;C$1))

siehe Datei.


Noch zwei Bemerkungen:

1. 2022 ist kein Schaltjahr

2. Dass der letzte Tag zum Bereich gehört ist häufig, Aber bisher kam nie vor, dass der erste Tag nicht zum Bereich gehörte.
Falls doch, siehe dritte Zeile. (Immer einer mehr als man denkt)
Hallo E...,

vielen Dank für deine super schnelle Antwort!

Das hilft mir schonmal enorm weiter!  :D

Ich bin ein ziemlicher Excel-Neuling und arbeite mich gerade erst in die Materie ein.

Daher eine weitere Frage:

Besteht die Möglichkeit, das ganze dynamisch mit Eingabefeldern zu gestalten, sodass die Möglichkeit besteht, nacheinander verschiedene Start- und Endatumsangaben einzutippen?

Ich würde mich super über Deine/Eure Hilfe freuen! (:
Hallo S...,

ups, da hatte ich zwei Dollar zuviel.

=MAX(0;MIN($B2+1;D$1)-MAX($A2;C$1))

jetzt has du mehr als eine Million Zeilen in denen du Zeitbereiche eintragen kannst. (In Excel kann man jede Zelle als Eingabefeld nutzen.)
Hi,

für ein aktuelles Excel reicht auch eine Formel:

Code:
=LET(
a;A2;
b;B2;
c;DATEDIF(a;b;"M")+1;
d;SEQUENZ(;c;0);
e;DATUM(JAHR(a);MONAT(a)+d;1);
f;NACHSPALTE(e;LAMBDA(x;MAX(x;a)));
g;NACHSPALTE(f;LAMBDA(x;MIN(MONATSENDE(x;0);b)));
h;NETTOARBEITSTAGE.INTL(f;g;"0000000");
i;TEXT(e;"MMMM JJ");
k;VSTAPELN(i;h);
k)
a/b Start-/End-Datum
c Anzahl Monate
d als Sequenz
e alle Monate
f erster gültiger Tag im jeweiligen Monate (bei allen Monaten)
g letzter gültiger Tag im Monat
h Anzahl gültige Tage im Monat
i Monat als Text (z.B. "Januar 23")
k Monat und "Tage im Monat" als zwei übereinander gestapelte Zeilen

Diese Formel gibt zwei Zeilen aus. In der ersten stehen alle Monate des Zeitraums in der zweiten die zugehörigen Tage.


Oder falls einem NACHSPALTE() nicht gefällt geht auch
Code:
=LET(
a;A2;
b;B2;
c;DATEDIF(a;b;"M")+1;
d;SEQUENZ(;c;0);
e;DATUM(JAHR(a);MONAT(a)+d;1);
f;WENN(e>a;e;a);
ff;MONATSENDE(f;0);
g;WENN(ff<b;ff;b);
h;NETTOARBEITSTAGE.INTL(f;g;"0000000");
i;TEXT(e;"MMMM JJ");
k;VSTAPELN(i;h);
k)
Hi,

irgendwie habe ich gestern noch zu umständlich gedacht. In beiden Formeln kann man den NETTOARBEITSTAGE.INTL(...)-Teil durch g-f+1 ersetzen.