Sie sind nicht angemeldet.

  • Anmelden

Lieber Besucher, herzlich willkommen bei: MastersForum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

03.02.2012, 10:00

Excel - Anzahl Tage der Monate in einem Zeitraum

Habe auch mal eine kurze Excel-Frage und bin jetzt beim googeln leider nicht fündig geworden.
Hab jetzt nicht die Zeit ewig rumzuprobieren deswegen frag ich mal hier:

Es geht darum dass ich in Spalte A und B jeweils ein Datum habe, wobei es sich um einen Zeitraum handelt.
zB 12.01.2011 bis 15.05.2011. Das entspricht in dem Fall 123 Tagen, das steht in Spalte C (B - A halt^^).

Jetzt hätte ich gerne in den Spalten D (= januar) bis O (dezemeber) die Anzahl der Tage im jeweiligen Monat.
In dem Fall wären das dann halt 19 im januar, 28 im februar....15 im Mai und danach jeweils 0.

Allerdings sind dei Zeiträume natürlich immer unterschiedlich, teilweise auch mal übers Jahr hinaus.

Jemand ne Idee für ne sinnvolle Formel?
Hab auch ein Beispiel angehängt wenn mans sich noch nicht vorstellen kann^^
»nC_$kittle_« hat folgende Datei angehängt:

2

03.02.2012, 10:25

Die Funktion =MONATSENDE gibt dir die richtige Anzahl an Tagen für den jeweiligen Monat zurück. Das Problem ist, dass du sie nicht vektorisieren kannst. Daher wirst du wohl mit vielen Hilfszellen rechnen müssen und dich auch vorn vornherein auf eine maximale Anzahl an Monaten beschränken müssen. Oder du schreibst dir eine Funktion in VBA, wo du MONATSENDE benutzt (EOMONTH). Du brauchst ja die Schaltjahre etc. für Februar.

3

03.02.2012, 10:28

=TAGE360("2011-01-12"; "2011-01-31")
Hilft dir aber nur für die Januarspalte^^
Hatte gedacht der nimmt auch Zellen an, in deinem Bsp A3 eingesetzt. Sollen mal die Excelpros hier ran ;)

4

03.02.2012, 10:34

Wenn es nur für einen begrenzten Zeitraum gültig sein soll und nicht allgemein, kannst du auch die für die nächsten relevanten Schaltjahrregeln selbst einbauen. Also jedes Jahr durch 4 teilbare Jahr ist ein Schaltjahr, wenn zusätzlich durch 100 teilbar, dann nicht, wenn durch 400 teilbar, dann ja.

Wenn du es nicht vor 2000 und/oder nicht nach 2100 brauchst, dann ist dein Problem deutlich einfacher. Sollte dies so sein, dann melde dich noch mal.

5

03.02.2012, 10:51

es geht um 2011, 2012 und maximal noch 2013, irgendwann später sollte mal 2014 etc verfügbar sein.

Der Hintergrund ist Abgrenzungsbeträge für jeden Monat aus Swaperträgen "automatisch" ausrechnen zu können.
die geschäfte laufen zwischen 1 monat und 1 jahr, aber möchte das sheet natürlich die nächsten jahre auch noch nutzen^^

Hab jetzt mal paar Hilfszahlen eingefügt und dann ne Formel geschrieben:

=WENN($C75<W$72;(WENN(W$72<$F75;W$71;WENN(W$72=F$75;TAG($E75);0)));WENN($C75=W$72;(W71-TAG($D75));0))

mM nach deckt die jetzt alles ab, vielleicht kann ja nochmal jemand kurz drüber schauen, habs im beispielsheet ergänzt.
interessant wäre noch die oben genannte formel monthend, gibts die auch auf deutsch? hab leider das deutsche excel aber unter monatsende finde ich nix.
»nC_$kittle_« hat folgende Datei angehängt:

6

03.02.2012, 11:05

MONATSENDE ist die deutsche Version, glaube ab Excel 2007. EOMONTH ist der englische Name, den kannst ja auch verwenden, wenn du Excel umstellst bzw. brauchst ihn für VBA.

Wenn du nur 2012 als Schaltjahr drin hast, dann kannst du natürlich überprüfen, ob du den 29.02.2012 einschließt und dann +1 zu den Tagen daraufaddieren.

Ansonsten solltest du mehr "sprechende Formeln" verwenden, wenn du es für ein Unternehmen machst - sonst kann es niemand nach dir mehr nachvollziehen.
Du brauchst auch nicht die numerischen Werte für den Monat bis die Anzahl Tage in das Excel-Sheet schreiben, dafür hat Excel Funktionen. Wenn du etwas über Funktionen erreichen kannst, so mach dies auch. Magic Numbers solltest du, wo es nur geht, vermeiden.

7

03.02.2012, 11:11

in erster linie mach ichs für mich um mir das tage rechnen zu sparen bzw führt das ab und an halt mal zu nem tippfehler etc.
im gegensatz zur bisherigen vorgehensweise also ein fortschritt :D
denke mal dass die buchungen sowieso spätestens 2013 automatisiert werden, bis dahin bin ich hoffentlich noch im unternehmen^^

vielen dank auf jeden fall, monthend probier ich noch aus :O

8

03.02.2012, 11:14

Du solltest die Funktionen =JAHR und =MONAT sowie =MONATSENDE verwenden, sowie UND bzw. ODER. Dies macht deine Formeln deutlich lesbarer.

Den Schalttag kannst ja auch einfach hinzuaddieren, wenn das Anfangsdatum vor dem 29.02.2012 und das Enddatum dahinter liegt mit WENN(UND($B$5<=DATUM(2012;2;29);$C$5>=DATUM(2012;2;29));1;0).

9

03.02.2012, 11:17

ok i try!
die monatsende scheints allerdings nicht zu geben :/

Edit: ah hier ist nur excel 2003^^
so bin erstma kurz was essn dann probier ich weiter^^ aber UND ODER scheint sinn zu machen :-D

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »nC_$kittle_« (03.02.2012, 11:38)


11

03.02.2012, 13:23

So jetzt aber!

Hab ne neue Formel die ich jetzt auch schon für einige Beispiele getestet habe:

=WENN(WENN(UND($E6>=L$2;$D6<L$3);L$1;WENN(UND($E6<=L$2;$D6<L$3);($E6-L$3)+1;WENN(UND($E6>L$2;$D6>=L$3);L$2-$D6;WENN(UND($E6<=L$2;$D6>=L$3);$E6-$D6;WENN(ODER($E6<L$3;$D6>=L$2);0;"X")))))>0;WENN(UND($E6>=L$2;$D6<L$3);L$1;WENN(UND($E6<=L$2;$D6<L$3);($E6-L$3)+1;WENN(UND($E6>L$2;$D6>=L$3);L$2-$D6;WENN(UND($E6<=L$2;$D6>=L$3);$E6-$D6;WENN(ODER($E6<L$3;$D6>=L$2);0)))));0)

Leider kenn ich mich zu wenig mit Excel aus um sagen zu können ob das jetzt "schön genug" geschrieben ist :-(
Siehst du da noch Potential?
Hab jetzt nur noch 1 Hilfszeile die soweit automatisch läuft, die Monate laufen auch über =DATUM(JAHR(L3);MONAT(L3)+1;TAG(L3)), einzig der Monatsende Dezember macht mir jetzt noch sorgen. Leider funktioniert ja excel 2003 die monthend() nicht, hast du da noch nen Vorschlag?

Hab die aktuelle Version mal angehängt!

Prinzip in der Formel ist jetzt:

(ALLE TAGE DES MONATS) UND ENDE >= 31. START < 1.
(ENDE - MONATSANFANG)+1 UND ENDE <= 31. Start < 1.
(MONATSENDE - ANFANG) UND ENDE > 31. Start >= 1.
(ENDE - ANFANG) UND ENDE <= 31. Start >= 1.
(KEIN TAG) ODER ENDE < 1. START >= 31.

WERT MUSS > 0 sonst 0
»nC_$kittle_« hat folgende Datei angehängt:

Ähnliche Themen