Εμφάνιση ενός μόνο μηνύματος
  #1  
Παλιά 21-09-11, 15:18
Το avatar του χρήστη Tasos
Tasos Ο χρήστης Tasos δεν είναι συνδεδεμένος
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.035
Προεπιλογή Υπολογισμός της ημέρας του Άγιου Πάσχα και άλλων κινητών εορτών.

Εργασία:
Εύρεση της ημερομηνίας της Κυριακής του Πάσχα αλλά και των υπόλοιπων κινητών εορτών.


Για τα έτη 1900 - 2099:


Στο κελί A1 βρίσκεται το έτος βάσει του οποίου αναζητείται η ημερομηνία του Πάσχα.


AB
12011Κυριακή, 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

Θα χρειαστούν βοηθητικά κελιά.



AB
12011Κυριακή, 24 Απρίλιος 2011
213
319
427

Τύποι
ΚελίΤύπος
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



Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών

Τελευταία επεξεργασία από το χρήστη Tasos : 04-05-13 στις 20:46.
Απάντηση με παράθεση