Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

KALENDER - OSTERN - Bewegliche Feiertage berechnen

337 views
Skip to first unread message

Gerald Weinsack

unread,
Feb 1, 2000, 3:00:00 AM2/1/00
to
Liebe Newsgroup-Leser!

Seit langer Zeit hatte ich mir vorgenommen, mit Excel Kalenderdaten zu
berechnen.
Ein von C. F. Gauß entwickelter Algorithmus dient dazu, das Tagesdatum als
Tagesnummer im März zu berechnen (33. März = 2. April bzw. -5. März =
24./25. Februar).

Als besonderen Gag wollte ich testen, ob das nicht in einer einzigen Formel
geht.

Und hier isse: (markieren und kopieren)

=DATWERT("1.3."&x)+20+REST(19*REST(x;19)+15+GANZZAHL((3*GANZZAHL(x/100)+3)/4
)-GANZZAHL((8*GANZZAHL(x/100)+13)/25);30)-GANZZAHL(REST(19*REST(x;19)+15+GAN
ZZAHL((3*GANZZAHL(x/100)+3)/4)-GANZZAHL((8*GANZZAHL(x/100)+13)/25);30)/29)+(
GANZZAHL(REST(19*REST(x;19)+15+GANZZAHL((3*GANZZAHL(x/100)+3)/4)-GANZZAHL((8
*GANZZAHL(x/100)+13)/25);30)/28)-GANZZAHL(REST(19*REST(x;19)+15+GANZZAHL((3*
GANZZAHL(x/100)+3)/4)-GANZZAHL((8*GANZZAHL(x/100)+13)/25);30)/29))*GANZZAHL(
REST(x;19)/11)+7-REST(21+REST(19*REST(x;19)+15+GANZZAHL((3*GANZZAHL(x/100)+3
)/4)-GANZZAHL((8*GANZZAHL(x/100)+13)/25);30)-GANZZAHL(REST(19*REST(x;19)+15+
GANZZAHL((3*GANZZAHL(x/100)+3)/4)-GANZZAHL((8*GANZZAHL(x/100)+13)/25);30)/29
)+(GANZZAHL(REST(19*REST(x;19)+15+GANZZAHL((3*GANZZAHL(x/100)+3)/4)-GANZZAHL
((8*GANZZAHL(x/100)+13)/25);30)/28)-GANZZAHL(REST(19*REST(x;19)+15+GANZZAHL(
(3*GANZZAHL(x/100)+3)/4)-GANZZAHL((8*GANZZAHL(x/100)+13)/25);30)/29))*GANZZA
HL(REST(x;19)/11)-(7-REST(x+GANZZAHL(x/4)+2-GANZZAHL((3*GANZZAHL(x/100)+3)/4
);7));7)

Achtung:
der Name x muß einer Zelle zugewiesen werden,
in der die Jahreszahl im Format JJJJ steht (Einfügen/Namen/Festlegen...).

Das Formelergebnis muß als Datum formatiert werden.


Grüße aus Kärnten


PS.: Ich glaube daß diese Formel auch als abschreckendes Beispiel dienen
kann.

PPS: Für alle die meine Formel dennoch gebrauchen können folgende
zusätzliche Tage
Aschermittwoch -46 Tage
Christi Himmelfahrt +39 Tage
Pfingstsonntag +49 Tage
Fronleichnam +60 Tage


Message has been deleted

Günther Eichinger

unread,
Feb 1, 2000, 3:00:00 AM2/1/00
to
Hallo Gerald,

gestatte ich mir den Hinweis, daß Frank Arendt-Theilen - der in dieser
NG nahezu »Allwissende« - am 31.Okt.1999 zum Problem folgendes postete:

Zitat:

"...hat es im Frühjahr diesen Jahres auf dem Server von Hans W.
Herber (http://herber.de) einen Osterwettbewerb gegeben: Wer findet
die kürzeste Formel zur Berechnung des Ostersonntag. Gewonnen hat
Norbert Hetterich (juno...@t-online.de).

Ist der Ostersonntag ermittelt, so ergeben sich von dort in einem
festen Tagesabstand die ... beweglichen, kirchlichen
Feiertage.
Gewonnen hat die Formel (die Jahreszahl, z. B. '1999' steht in Zelle
A1):

=DM((TAG(MINUTE(A1/38)/2+55)&".4."&A1)/7;)*7-6

Aschermittwoch = Ostersonntag - 46
Ostermontag = Ostersonntag + 1
Christi Himmelfahrt = Ostersonntag + 39
Pfingstsonntag = Ostersonntag + 49
Pfingstmontag = Ostersonntag + 50
Fronleichnam = Ostersonntag + 60

Sieh hierzu auch den Artikel von Hans W. Herber, c't 1998, Heft 23,
Seite 290f, sowie die Berechnungsgrundlage der
Physikalisch-Technischen Bundesanstalt unter der Adresse:
http://www.ptb.de/deutsch/org/4/43/432/oste.htm. Daran läßt sich
ermessen, welche Leistung in der obigen Formel steckt.

MfG Frank
__________________________________________________________
Frank Arendt-Theilen, MVP für Microsoft Excel
E-Mail: Thei...@t-online.de

..."

Ende Zitat

Günther

Michael Schwimmer

unread,
Feb 1, 2000, 3:00:00 AM2/1/00
to
Gerald Weinsack <g...@red-eye.at> schrieb in im Newsbeitrag:
7cDl4.1983$q52.1...@news.chello.at...

> Liebe Newsgroup-Leser!
>
> Seit langer Zeit hatte ich mir vorgenommen, mit Excel Kalenderdaten zu
> berechnen.

Hallo Gerhard,
auf diese Idee sind schon mehr Leute gekommen! :-)

> Als besonderen Gag wollte ich testen, ob das nicht in einer einzigen Formel
> geht.

Das geht auch ohne solch eine Monsterformel. Hans W. Herber hatte, als er in
dieser NG noch aktiv war, einen Osterwettbewerb ausgeschrieben.
Die Lösungen sind zum Teil einfach Genial. Die kürzeste Formel kam von
Norbert Hetterich mit nur 44 Zeichen. IMO nicht zu unterbieten!

=DM((TAG(MINUTE(J/38)/2+55)&".4."&J)/7;)*7-6

Nachzulesen bei http://www.herber.de/

MfG
Michael


Peter Gorgs

unread,
Feb 2, 2000, 3:00:00 AM2/2/00
to
Hallo,

noch ein Hinweis dazu: diese Formel funktioniert nur mit
"1900-Datumswerten". Die kürzeste, die mit "1904-Datumswerten" funktioniert
ist, ist die von Stephen Bullen (ebenfalls aus dem Osterwettbewerb
hervorgegangen), die wie folgt lautet:
=DATUM(J;3;28)+REST(24-REST(J;19)*10,63;29)-REST(KÜRZEN(J*5/4)+REST(24-REST(J;19)*10,63;29)+1;7)

(J ist durch das Jahr zu ersetzen)


Peter
-------------------------------------
Antworten bitte nur in die Newsgroup.


Günther Eichinger schrieb:

0 new messages