Thema Datum  Von Nutzer Rating
Antwort
17.11.2023 22:00:09 xlKing
Solved
17.11.2023 23:11:18 xlKing
NotSolved
Rot Ostersonntag korrekt berechnen
18.11.2023 00:37:55 xlKing
NotSolved
20.11.2023 11:12:30 Der Steuerfuzzi
NotSolved
20.11.2023 17:29:44 xlKing
NotSolved
18.11.2023 01:40:22 Gast01287
NotSolved
18.11.2023 04:09:40 Gast77653
NotSolved
18.11.2023 17:41:38 xlKing
NotSolved
18.11.2023 18:58:03 Gast69709
NotSolved
19.11.2023 03:00:06 xlKing
NotSolved
19.11.2023 12:30:20 Gast158
NotSolved
19.11.2023 19:47:24 Gast95273
NotSolved
19.11.2023 22:50:38 xlKing
NotSolved
19.11.2023 23:04:15 xlKing
NotSolved
20.11.2023 10:03:13 Gast28942
NotSolved
20.11.2023 10:27:21 Gast9314
NotSolved
21.11.2023 00:11:33 Gast75580
NotSolved
22.11.2023 12:22:01 Gast45652
NotSolved

Ansicht des Beitrags:
Von:
xlKing
Datum:
18.11.2023 00:37:55
Views:
90
Rating: Antwort:
  Ja
Thema:
Ostersonntag korrekt berechnen

Hab mich jetzt für die Gauß-Version von 1816 nach Wikipedia entschieden. Ob sie stimmt wird sich zeigen. Zumindest fällt jedes Datum auf einen Sonntag und passt 1:1 zu der Excel-Vergleichsformel mit 4 Hilfszahlen. Wen es interessiert hier die VBA-Version:

Sub Test()
  x = Ostersonntag4(2023)
End Sub

Function Ostersonntag4(Jahr As Integer) As Date
  'von https://de.wikipedia.org/wiki/Gau%C3%9Fsche_Osterformel
  'Version 1816 mit Ausnahmen
  
  a = Int(Jahr Mod 19)
  b = Int(Jahr Mod 4)
  c = Int(Jahr Mod 7)
  k = Int(Jahr / 100)
  p = Int((8 * k + 13) / 25)
  q = Int(k / 4)
  M = Int((15 + k - p - q) Mod 30)
  d = Int((19 * a + M) Mod 30)
  N = Int((4 + k - q) Mod 7)
  e = Int((2 * b + 4 * c + 6 * d + N) Mod 7)
  
  If d = 29 And e = 6 Then
    O = 50
  ElseIf d = 28 And e = 6 And a > 10 Then
    O = 49
  Else
    O = (22 + d + e)
  End If
  
  Ostersonntag4 = DateSerial(Jahr, 3, O)
  
End Function

Function dFormat(dat As Date) As String
  dFormat = Format(dat, "ddd dd.MM.yyyy")
End Function

 

Als Benutzerformel:
- wenn das Jahr in A1 steht und >= 1900 ist: =Ostersonntag4(A1) und als Datum formatieren. (z.B. TTT TT.MM.JJJJ)
- wenn das Jahr in A1 steht und < 1900 ist: =dFormat(Ostersonntag4(A1))

bei 10000 Jahren dauert die Berechnung zwar etwas länger als mit reiner Excel-Berechnung aber damit kann ich leben. 

Natürlich kann ich nicht in die Zukunft schauen. Es heißt ja der Mond wird immer langsamer, ob das Gauß schon mit einbezogen hat, weiß ich nicht. 

Trotzdem Danke an Alle die sich diesen Thread angesehen haben.

Gruß Mr. K.


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
17.11.2023 22:00:09 xlKing
Solved
17.11.2023 23:11:18 xlKing
NotSolved
Rot Ostersonntag korrekt berechnen
18.11.2023 00:37:55 xlKing
NotSolved
20.11.2023 11:12:30 Der Steuerfuzzi
NotSolved
20.11.2023 17:29:44 xlKing
NotSolved
18.11.2023 01:40:22 Gast01287
NotSolved
18.11.2023 04:09:40 Gast77653
NotSolved
18.11.2023 17:41:38 xlKing
NotSolved
18.11.2023 18:58:03 Gast69709
NotSolved
19.11.2023 03:00:06 xlKing
NotSolved
19.11.2023 12:30:20 Gast158
NotSolved
19.11.2023 19:47:24 Gast95273
NotSolved
19.11.2023 22:50:38 xlKing
NotSolved
19.11.2023 23:04:15 xlKing
NotSolved
20.11.2023 10:03:13 Gast28942
NotSolved
20.11.2023 10:27:21 Gast9314
NotSolved
21.11.2023 00:11:33 Gast75580
NotSolved
22.11.2023 12:22:01 Gast45652
NotSolved