Εργασία:
Εύρεση της ημερομηνίας της Κυριακής του Πάσχα αλλά και των υπόλοιπων κινητών εορτών.
Για τα έτη 1900 - 2099:
Στο κελί
A1 βρίσκεται το έτος βάσει του οποίου αναζητείται η ημερομηνία του Πάσχα.
| A | B |
| 1 | 2011 | Κυριακή, 24 Απρίλιος 2011 |
| Τύποι |
| Κελί | Τύπος | | B1 | =DATE(A1;4;MOD(19*MOD(A1;19)+16;30)+MOD(2*MOD(A1;4 )+4*MOD(A1;7) +6*MOD(19*MOD(A1;19)+16;30);7)+3) |
|
Για τα έτη: 1600 - 6333
Θα χρειαστούν βοηθητικά κελιά.
| A | B |
| 1 | 2011 | Κυριακή, 24 Απρίλιος 2011 |
| 2 | 13 | |
| 3 | 19 | |
| 4 | 27 | |
| Τύποι |
| Κελί | Τύπος | | B1 | =IF(A1>1899;DATE(A1;3+INT((A4+26)/30);1+MOD((A4+27+INT((A4+6)/40));31));1+MOD((A4+27+INT((A4+6)/40));31)&"/"&3+INT((A4+26)/30)&"/"&A1) | | A2 | =(INT(A1/100)-16)-INT((INT(A1/100)-16)/4)+10 | | A3 | =MOD(19*INT(MOD(A1;19)+15);30) | | A4 | =A3-MOD(INT((A1 + INT(A1 /4))+A3);7)+A2 |
|
H Excel μπορεί να επεξεργαστεί ημερομηνίες από την 01/01/1900 μέχρι 31/12/9999.
Έτσι, οι ημερομηνίες του Πάσχα για έτη πριν από το
1900
επειδή δεν μπορούν να επεξεργαστούν από την Excel (Windows),
η συνάρτηση τις μετατρέπει σε κείμενο προκειμένου να υπάρξει (οπτικό) αποτέλεσμα.
Όσοι δεν θελήσουν να χρησιμοποιήσουν βοηθητικά κελιά, μπορούν να χρησιμοποιήσουν τον παρακάτω κώδικα
VBA:
Κώδικας:
Function GreekEaster(iYear As Integer)
Dim tA%, tB%, tC%, iDay%, iMonth%
If iYear > 1599 And iYear < 6334 Then
tA = (iYear \ 100) - 16 - (((iYear \ 100) - 16) \ 4) + 10
tB = (19 * Int(iYear Mod 19) + 15) Mod 30
tC = tB - Int((iYear + (iYear \ 4) + tB) Mod 7) + tA
iDay = 1 + (tC + 27 + ((tC + 6) \ 40)) Mod 31
iMonth = 3 + (tC + 26) \ 30
GreekEaster = IIf(iYear > 1899, DateSerial(iYear, iMonth, iDay), iDay & "/" & iMonth & "/" & iYear)
End If
End Function
Γνωρίζοντας λοιπόν την ημερομηνία του Άγιου Πάσχα είναι πολύ εύκολο να υπολογίσει κανείς και τις υπόλοιπες κινητές εορτές.
Παράδειγμα για επίσημες αργίες που είναι κινητές εορτές όπου
Πάσχα = η ημερομηνία της Κυριακής του Πάσχα:
Μ. Παρασκευή:
=Πάσχα - 2
Μ. Σάββατο:
=Πάσχα - 1
Δευτέρα του Πάσχα
=Πάσχα +1
Αγίου Πνεύματος:
=Πάσχα - 50
Τάσος