Registriert seit: 15.01.2015
Version(en): 2010
27.01.2015, 09:26
Hallo zusammen,
gibt es vielleicht jemanden der mir folgende Formel erklären könnte? Ich würde gerne den genauen Berechnungsweg verstehen.
=DATUM($F2;3;28)+REST(24-REST($F2;19)*10,63;29)-REST(KÜRZEN($F2*5/4)+REST(24-REST($F2;19)*10,63;29)+1;7)
Mit freundlichen Grüßen Oliver
Registriert seit: 12.04.2014
Version(en): Office 365
Hallo,
ist zwar nicht genau die gleiche Formel aber vielleicht hilft das ein wenig weiter:
http://www.herber.de/excelformeln und bitte suchen .../formeln.html?welcher=3
https://de.wikipedia.org/wiki/Osterdatum...errechnung
Gruß
Peter
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
Auch Hallo!
Ja, die Formelkünstler nötigen mir Hochachtung ab!
Ich persönlich halte es eher mit Lichtenberg (überarbeitete Gauß-Formel):
http://de.wikipedia.org/wiki/Gau%C3%9Fsc...sterformelIch habe mir daraus eine VBA-Funktion geschrieben, die für mich leichter nachvollziehbar ist:
Code:
Function Ostersonntag(ByVal j As Integer) As Date
' Ergänzte Gauß-Formel nach Heiner Lichtenberg (1997)
' http://de.wikipedia.org/wiki/Gau%C3%9Fsche_Osterformel#Eine_erg.C3.A4nzte_Osterformel
' Variablenbedeutung
' x(1) = Säkularzahl
' x(2) = säkulare Mondschaltung
' x(3) = säkulare Sonnenschaltung
' x(4) = Mondparameter
' x(5) = Keim für ersten Frühlingsvollmond
' x(6) = kalendarische Korrekturgröße
' x(7) = Ostergrenze
' x(8) = erster Sonntag im März
' x(9) = Osterentfernung in Tagen
' x(10) = Datum des Ostersonntags als Märzdatum (32. März = 1. April usw.)
Dim x(1 To 10) As Long
x(1) = j \ 100
x(2) = 15 + (3 * x(1) + 3) \ 4 - (8 * x(1) + 13) \ 25
x(3) = 2 - (3 * x(1) + 3) \ 4
x(4) = j Mod 19
x(5) = (19 * x(4) + x(2)) Mod 30
x(6) = (x(5) + x(4) \ 11) \ 29
x(7) = 21 + x(5) - x(6)
x(8) = 7 - (j + j \ 4 + x(3)) Mod 7
x(9) = 7 - (x(7) - x(8)) Mod 7
x(10) = x(7) + x(9)
If x(10) <= 31 Then
Ostersonntag = j & "/03/" & x(10)
Else
Ostersonntag = j & "/04/" & x(10) - 31
End If
End Function
Ergibt:
Tabelle1Formeln der Tabelle |
Zelle | Formel | B1 | =Ostersonntag(A1) |
|
Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8 Gruß, Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 15.01.2015
Version(en): 2010
Hallo,
erstmal danke für das nette Beispiel, bin zwar kein VBA Spezi aber zumindest hilft es mir etwas dabei den Rechnungsweg zu verstehen...
Mit freundlichen Grüßen Oliver
Registriert seit: 12.04.2014
Version(en): Office 365
Hallo,
hier noch eine Funktion:
Public Function Ostern(Yr As Integer)
Dim d As Integer
d = (((255 - 11 * (Yr Mod 19)) - 21) Mod 30) + 21
Ostern = DateSerial(Yr, 3, 1) + d + (d > 48) + 6 - ((Yr + Yr \ 4 + d + (d > 48) + 1) Mod 7)
End Function
Keine Ahnung mehr wo ich die herhabe und m.W. rechnet die Funktion auch nur bis 2099 korrekt.
Gruß
Peter
Registriert seit: 10.04.2014
Version(en): 2016 + 365
Hi Peter,
(27.01.2015, 10:42)Peter schrieb: Keine Ahnung mehr wo ich die herhabe und m.W. rechnet die Funktion auch nur bis 2099 korrekt.
da muß ich leider sagen:
nach 2099 ist es mir dann auch egal.
Registriert seit: 15.01.2015
Version(en): 2010
Danke für die Formel Peter,
und ja, nach 2099 dürfte es kaum von Interesse sein für die hier Anwesenden, das Computer-Zeitalter entwickelt sich so rasend schnell, wer weiß wie wir es in 20 Jahren berechnen und ob es Excel dann überhaupt noch gibt... :26:
Gruß Oliver
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
Hi!
Mal ein böser Kommentar meinerseits:
Wer weiß, ob dann noch jemand weiß, was Ostern ist ... :21:
(Zumindest meinen ja manche in Dresden, dass sich das schon früher erledigt)
Gruß, Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)