halbe Monatsfälligkeit

Hallo, wer weiß was? Eine Frage an Tüftler.

Ungern gebe ich, daß ich mich im Kreise drehe. Daher meine Bitte um
Lösungsansätze, die vielleicht von eine völlig anderen Basis ausgehen
als all meine Versuche.
Es sollen die Summen der Mieten aber auch halber Monatsmieten zu einem
Stichtag, der zwischen dem 02. und dem 14., aber auch zwischen dem 16.
und dem 28. liegen kann, fällig gestellt werden. Die meisten Mieter
wohnen vom
o1.01.2005 bis zum 31.12.2005 in ihrer Wohnung. Also wird eine
Monatsmiete (MM) fällig, egal ob der Stichtag in der ersten
Monatshälfte oder in der zweiten liegt.
Zieht aber jemand erst am 15. ein, so wird für die erste Monatshälfte
des Einzugsmonats keine halbe Monatsmiete fällig, für die zweite
Monatshälfte eine Halbe und für die darauf folgenden Monate jeweils
eine ganze.
Zieht jemand am 14. aus, muß er auch nur eine halbe Monatsmiete für den
Monat des Auszugs bezahlen.
Die jeweiligen Ergebnisse müßten also wie folgt aussehen.

Beginn Ende Stichtag 05.01. Stichtag 28.03. Stichtag 07.04.
01.01.2005 - 31.12.2005 1 MM 3 MM 4 MM
15.03.2005 - 31.12.2005 0 MM 0,5 MM 1,5 MM
01.01.2005 - 14.01.2005 0,5 MM 0,5 MM 0,5 MM
15.03.2005 - 14.04.2005 0 MM 0,5 MM 1 MM

Hoffentlich habe ich die Aufgabe verständlich formuliert. Ansonsten
werden ich Fragen schnellstens beantworten.
Ich arbeite mit Mac OS X Version 10.3.8 und RagTime 5.6.5 auf einem
PowerPC G5 mit 1.8 GHz.

Mit freundlichen Grüßen
Norbert O

_________________________________________________
Die macnews.de Mailingliste Ragtime:
http://lists.macnews.de/cgi-bin//listinfo/ragtime

Neu: Das Mailinglistenarchiv unter
http://forum.macnews.de/lists

Re: halbe Monatsfälligkeit

#1872 On 11 März, 2005 17:20 "Bernhard Storch" said,

Hallo Norbert,

>Es sollen die Summen der Mieten aber auch halber Monatsmieten zu
>einem
>Stichtag, der zwischen dem 02. und dem 14., aber auch zwischen dem
>16.
>und dem 28. liegen kann, fällig gestellt werden. Die meisten Mieter
>wohnen vom
>o1.01.2005 bis zum 31.12.2005 in ihrer Wohnung. Also wird eine
>Monatsmiete (MM) fällig, egal ob der Stichtag in der ersten
>Monatshälfte oder in der zweiten liegt.
>Zieht aber jemand erst am 15. ein, so wird für die erste Monatshälfte
>des Einzugsmonats keine halbe Monatsmiete fällig, für die zweite
>Monatshälfte eine Halbe und für die darauf folgenden Monate jeweils
>eine ganze.
>Zieht jemand am 14. aus, muß er auch nur eine halbe Monatsmiete für
>den
>Monat des Auszugs bezahlen.

Auch wenn ich die dem obigen Text folgenden Beispiele nicht verstehe,
könnte die folgende Formel dein Problem lösen?

Wenn(MonatVon(B1)-MonatVon(A1)

Re: halbe Monatsfälligkeit

#1875 On 14 März, 2005 18:51 "Norbert R.Obst" said,

Hallo Bernhard,
vielen Dank für Deine Idee. Du hast die Aufgabe fast richtig gelöst.
Allerdings fehlen einige Abriegelung.
Wenn die Mietzahlung für den ganzen Monat fällig wird, weil die
Mietzeit nicht mitten im Monat endet, wird bei Deiner Funktion auch nur
1/2 Monat berechnet. Beim Stichtag 2.1.2005 würde daher nur 0,5 Mieten
fällig, obwohl die Mietzeit bis zum 31.12.2005 läuft. Also muß der
Mieter 1 ganze Miete für den Januar bezahlen.
Außerdem wird nach der Funktion auch 0,5 Monatsmieten fällig, selbst
wenn die Mietzeit noch gar nicht begonnen hat.
Wenn die Mietzeit am 15.1. beginnt und bis zum 31.12. läuft, wird für
den Januar 1/2 Miete fällig, für den Februar aber 1 ganze. Also müßte
für den Stichtag am 3.2. eine Miete für 1,5 Monate bezahlt worden sein.
Das Ergebnis wird mit der Funktion aber erst am 27.2. erreicht.
Es ist also leider noch komplizierter als Deine Lösung. Vielleicht hast
Du ja noch eine weitere Idee.
Mit freundlichen Gruessen
Norbert O

Am 11.03.2005 um 17:20 schrieb Bernhard Storch:

> Wenn(MonatVon(B1)-MonatVon(A1)<0;0;MonatVon(B1)-
> MonatVon(A1))+Wenn(TagVon(A1)

Re: halbe Monatsfälligkeit

#1881 On 16 März, 2005 15:57 Klaus Steigemann said,

Hallo Norbert,

Es folgt eine längere ausführliche, aber hoffentlich verständliche
Problemlösung.

Mein Ansatz dazu ist folgender:
Der ganze Rechenprozeß wird in 3 Teile gesplittet. Es wird ermittelt
a. wie der erste Monat, der Einzugsmonat zu behandeln ist. Mögliche
Ergebnisse sind 0MM, 0,5MM oder 1MM
b) wie der letzte Monat, also der Auszugmonat bzw. der Monat des
Stichtages zu behandeln ist. Mögliche Ergebnisse wie bei Einzugsmonat.
c) wieviele evtl. vorhandene Monate dazwischen liegen, ohne a) und b).
Mögliche Ergebnisse 0MM oder ganzzahlige Vielfache von 1MM.
Die Summe aus den dreien ergibt die Menge Monatsmieten, die fällig
sind/waren.

Ich habe das ganze mit zwei Formeln gelöst.
Die eine Formel ermittelt das ebengeschilderte, die andere bereitet das
"relevate Stichtags-Monatsende" auf.

Nehmen wir an in A1 steht das Einzugdatum, in B1 - soweit bekannt - das
Auszugdatum, in C1 der Stichtag der Ermittlung, und in D1 die Formel für
das "relevante Stichtags-Monatsende".
Die Formel in D1 sei:
Wenn(B1='';SetzeTag(C1;31);Wenn(DMonat(B1;C1)>=0;B1;SetzeTag(C1;31)))

Zur Erklärung:
Für die Berechnung der Monatsmieten spielt in den Fällen, in denen der
Auszug noch in der Zukunft liegt - irgendwann nach dem Stichmonat -
nicht der Auszugstermin, sondern der Stichmonat als Enddatum eine Rolle.
Liegt der Stichtag außerhalb der Mietfrist, spielt der Stichmonat keine
Rolle. Daher muß das Datum entsprechend aufbereitet werden.
Dazu gibt es drei mögliche Situationen:
der Auszug ist noch unbekannt (B1 ist leer; D1 muß Stichmonatsende sein);
der Auszug war schon in der Vergangenheit (B1 = Auszugstermin; D1 = B1).
der Auszug ist bekannt und liegt im aktuellen oder späteren Monat(B1 =
Auszugstermin; D1 muß Stichmonatsende sein);
Mit dem ersten Wenn wird geprüft ob ein Auszugsdatum bekannt ist, ...
... wenn nein, wird das Berechnungsdatum auf den Letzten des Stichmonats
gesetzt,
... wenn ja, wird das zweite Wenn in Angriff genommen.
Es prüft ob der Auszugstermin in einem Monat vor dem Stichmonat liegt, ...
... wenn ja, wird für die Berechnung das Auszugsdatum gesetzt,
... wenn nein, wird das Berechnungsdatum auf den Letzten des Stichmonats
gesetzt.

Nach dieser Vorbereitung der Ausgangsdaten kommt nun die eigentliche
Ermittlung der Monatsmieten (MM).
Für ein besseres Verständnis splitte ich die Formel zunächst in die
eingangs erwähnten drei Teile auf:

a) der Einzugsmonat:

Wenn(C1>A1;Wenn(Oder(TagVon(A1)>14;DTag(A1;D1)A1;Wenn(Und(D1>A1;DMonat(A1;D1)>1);DMonat(AddMonat(A1;1);D1);0);0)

Auch hier das äußere Wenn wie in a).
Das innere Wenn prüft ob der Einzug vor dem Berechnungsdatum liegt UND
ob zwischen Einzug und Berechnungsdatum überhaupt ganze Monate liegen, ...
... wenn ja, wird die Differenz der Monate dazwischen (ohne Anfangs- und
Endmonat) ermittel,
... wenn nein, wird der Teil Zwischenmonate mit 0 berechnet.

c) der "Endmonat":

Wenn(Und(DMonat(A1;D1)>0;C1>A1);Wenn(TagVon(D1)>14;1;0,5);0)

Auch hier steckt das äußere Wenn von a) mit drin.
Ansonsten wird mit dem Wenn geprüft ob der Einzug im Stichmonat liegt, ...
... wenn ja, kommt eine weitere Prüfung,
.. wenn nein, wird der Teil Endmonat mit 0 berechnet.
Das innere Wenn prüft ob der Auszug in der zweiten Monatshälfte liegt, ...
... wenn ja, wird der Monat voll berechnet,
... wenn nein, wird der Monat halb berechnet.

Bildet man nun die Summe aus diesen drei Teilen, erhält man die
angefallenen Monatsmieten.

Als eine Formel zusammengefaßt sähe die Formel dann so aus:
Wenn(C1>A1;Wenn(Oder(TagVon(A1)>14;DTag(A1;D1)0;Wenn(TagVon(D1)>14;1;0,5);0)+
Wenn(Und(D1>A1;DMonat(A1;D1)>1);DMonat(AddMonat(A1;1);D1);0);0)

Anhand deiner vorgegebenen Fälle und durch weiter Kombinationen habe ich
die Formel(n) überprüft und keine Fehler feststellen können. Teste sie
also nun bitte selbst nochmal. Aber ich denke, das sollte die gesuchte
Lösung sein.
Die Zellreferenzen mußt Du natürlich noch auf dein vorhandenes Dokument
anpassen.

Wenn Bedarf besteht, schicke ich dir das Testdokument per PM zu.

lg
Klaus Steigemann
mailto: k.steigemann@gmx.net

P.S. Ich war übers Wochenende unterwegs, daher erst jetzt die Lösung.

Norbert R.Obst schrieb:

> Hallo Bernhard,
> vielen Dank für Deine Idee. Du hast die Aufgabe fast richtig gelöst.
> Allerdings fehlen einige Abriegelung.
> Wenn die Mietzahlung für den ganzen Monat fällig wird, weil die
> Mietzeit nicht mitten im Monat endet, wird bei Deiner Funktion auch
> nur 1/2 Monat berechnet. Beim Stichtag 2.1.2005 würde daher nur 0,5
> Mieten fällig, obwohl die Mietzeit bis zum 31.12.2005 läuft. Also muß
> der Mieter 1 ganze Miete für den Januar bezahlen.
> Außerdem wird nach der Funktion auch 0,5 Monatsmieten fällig, selbst
> wenn die Mietzeit noch gar nicht begonnen hat.
> Wenn die Mietzeit am 15.1. beginnt und bis zum 31.12. läuft, wird für
> den Januar 1/2 Miete fällig, für den Februar aber 1 ganze. Also müßte
> für den Stichtag am 3.2. eine Miete für 1,5 Monate bezahlt worden
> sein. Das Ergebnis wird mit der Funktion aber erst am 27.2. erreicht.
> Es ist also leider noch komplizierter als Deine Lösung. Vielleicht
> hast Du ja noch eine weitere Idee.
> Mit freundlichen Gruessen
> Norbert O
>
>
> Am 11.03.2005 um 17:20 schrieb Bernhard Storch:
>
>> Wenn(MonatVon(B1)-MonatVon(A1) MonatVon(A1))+Wenn(TagVon(A1)<15;1;0,5)+Wenn(TagVon(B1)<15;-0,5;0)
>

_________________________________________________
Die macnews.de Mailingliste Ragtime:
http://lists.macnews.de/cgi-bin//listinfo/ragtime

Neu: Das Mailinglistenarchiv unter
http://forum.macnews.de/lists

Re: halbe Monatsfälligkeit

#1883 On 16 März, 2005 17:28 "Norbert R.Obst" said,

Hallo Klaus,
eine SUPER-Lösung! Vielen Dank dafür!
Bei den bisherigen Tests funktioniert sie einwandfrei.
Mit freundlichen Gruessen
Norbert O

Am 16.03.2005 um 15:57 schrieb Klaus Steigemann:

> Wenn(C1>A1;Wenn(Oder(TagVon(A1)>14;DTag(A1;D1)<14);0,5;1)+
> Wenn(DMonat(A1;D1)>0;Wenn(TagVon(D1)>14;1;0,5);0)+
> Wenn(Und(D1>A1;DMonat(A1;D1)>1);DMonat(AddMonat(A1;1);D1);0);0)
_________________________________________________
Die macnews.de Mailingliste Ragtime:
http://lists.macnews.de/cgi-bin//listinfo/ragtime

Neu: Das Mailinglistenarchiv unter
http://forum.macnews.de/lists