Przejdź do głównej zawartości

Jak obliczyć datę Wielkanocy w programie Excel?

doc oblicz datę wielkanocną 1

Jak wszyscy wiemy, Święta Wielkanocne to zawsze pierwsza niedziela, która następuje po pierwszej kościelnej pełni księżyca, która przypada 21 marca lub później, więc data Wielkanocy każdego roku może być inna, jak pokazano na poniższym zrzucie ekranu. Aby poznać konkretną datę Wielkanocy w danym roku, ten artykuł może wyświadczyć ci przysługę.

Oblicz datę Wielkanocy w danym roku za pomocą wzoru

Oblicz datę Wielkanocy w danym roku za pomocą funkcji zdefiniowanej przez użytkownika


strzałka niebieski prawy bąbelek Oblicz datę Wielkanocy w danym roku za pomocą wzoru

Aby uzyskać datę Wielkanocy w danym roku, pomoże Ci poniższy wzór, wykonaj następujące czynności:

1. Wprowadź tę formułę: =FLOOR("5/"&DAY(MINUTE(A2/38)/2+56)&"/"&A2,7)-34 do pustej komórki obok twojego roku, B2, na przykład, patrz zrzut ekranu:

doc oblicz datę wielkanocną 2

2. Następnie przeciągnij uchwyt wypełniania w dół do komórek, dla których chcesz obliczyć datę Wielkanocy podanej daty, a pięciocyfrowe liczby są wyświetlane w komórkach, patrz zrzut ekranu:

doc oblicz datę wielkanocną 3

3. A potem powinieneś sformatować liczby jako format daty:

(1.) Wybierz 5-cyfrowe liczby i kliknij prawym przyciskiem myszy, aby wybrać Formatowanie komórek z menu kontekstowego;

(2.) W wyskoczył Formatowanie komórek okno dialogowe, kliknij Numer Zakładka i wybierz Data z Kategoria okienko, a następnie wybierz jeden format daty, który lubisz z prawego pola listy, zobacz zrzut ekranu:

doc oblicz datę wielkanocną 4

4. A następnie liczby zostały sformatowane jako format daty, zgodnie z potrzebami, i możesz uzyskać datę Wielkanocy w danym roku, patrz zrzut ekranu:

doc oblicz datę wielkanocną 5

Tips: Aby sformatować liczby do normalnego używanego formatu daty, możesz również użyć narzędzia Zastosuj formatowanie daty Kutools dla programu Excel, jak pokazano na poniższym zrzucie ekranu:

doc oblicz datę wielkanocną 6


strzałka niebieski prawy bąbelek Oblicz datę Wielkanocy w danym roku za pomocą funkcji zdefiniowanej przez użytkownika

Poniższy Funkcja zdefiniowana przez użytkownika może również pomóc w obliczeniu daty Wielkanocy w określonym roku.

1. Przytrzymaj ALT + F11 klucze, a następnie otwiera Microsoft Visual Basic for Applications okno.

2. Kliknij wstawka > Modułi wklej następujący kod w Moduł Okno.

Kod VBA: Oblicz datę Wielkanocy w danym roku:

Public Function EasterDate(Yr As Integer) As Date
'Updateby Extendoffice 20160530
  Dim x As Integer
  x = (((255 - 11 * (Yr Mod 19)) - 21) Mod 30) + 21
  EasterDate = DateSerial(Yr, 3, 1) + x + (x > 48) + 6 - ((Yr + Yr \ 4 + _
      x + (x > 48) + 1) Mod 7)
End Function

3. Następnie zapisz i zamknij ten kod, wróć do arkusza i wprowadź następującą formułę: = data wielkanocna (A2) do pustej komórki obok odpowiednich danych, a następnie przeciągnij uchwyt wypełniania w dół do komórek, do których chcesz zastosować tę formułę, otrzymasz pięć cyfr, patrz zrzut ekranu:

doc oblicz datę wielkanocną 7

5. Następnie powinieneś zmienić format liczb na format daty według potrzeb. Zobacz krok 3 powyższej metody, aby sformatować je na bieżąco.

Najlepsze narzędzia biurowe

🤖 Pomocnik AI Kutools: Zrewolucjonizuj analizę danych w oparciu o: Inteligentne wykonanie   |  Wygeneruj kod  |  Twórz niestandardowe formuły  |  Analizuj dane i generuj wykresy  |  Wywołaj funkcje Kutools...
Popularne funkcje: Znajdź, wyróżnij lub zidentyfikuj duplikaty   |  Usuń puste wiersze   |  Łącz kolumny lub komórki bez utraty danych   |   Okrągły bez wzoru ...
Super wyszukiwanie: Wiele kryteriów VLookup    Wiele wartości VLookup  |   Przeglądanie pionowe na wielu arkuszach   |   Wyszukiwanie rozmyte ....
Zaawansowana lista rozwijana: Szybko twórz listę rozwijaną   |  Zależna lista rozwijana   |  Lista rozwijana wielokrotnego wyboru ....
Menedżer kolumn: Dodaj określoną liczbę kolumn  |  Przesuń kolumny  |  Przełącz stan widoczności ukrytych kolumn  |  Porównaj zakresy i kolumny ...
Polecane funkcje: Fokus siatki   |  Widok projektu   |   Duży pasek formuły    Menedżer skoroszytów i arkuszy   |  Biblioteka zasobów (Automatyczny tekst)   |  Selektor dat   |  Połącz arkusze   |  Szyfruj/odszyfruj komórki    Wysyłaj e-maile według listy   |  Super filtr   |   Specjalny filtr (filtruj pogrubienie/kursywa/przekreślenie...) ...
15 najlepszych zestawów narzędzi12 Tekst Tools (Dodaj tekst, Usuń znaki, ...)   |   50 + Wykres rodzaje (Wykres Gantta, ...)   |   40+ Praktyczne Wzory (Oblicz wiek na podstawie urodzin, ...)   |   19 Wprowadzenie Tools (Wstaw kod QR, Wstaw obraz ze ścieżki, ...)   |   12 Konwersja Tools (Liczby na słowa, Przeliczanie walut, ...)   |   7 Połącz i podziel Tools (Zaawansowane wiersze łączenia, Podział komórki, ...)   |   ... i więcej

Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas.  Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...

Opis


Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
Comments (11)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Excel verison, more simple, you only have to change L3 at the beginning to the cell where you will put the year (like 2022) in. 
=LET(Y;L3;A;MOD(Y;19);B;MOD(Y;4);C;MOD(Y;7);D;MOD(19*A+24;30);E;MOD(2*B+4*C+6*D+5;7);H;IFS(AND(E=6;D=29);50;AND(E=6;D=28;A>10);49;TRUE;22+D+E);IF(H<=31;DATE(Y;3;H);DATE(Y;4;H-31)))
This comment was minimized by the moderator on the site
Hello hztamas, Thank you a lot for your share. I changed the ";" to "," in your formula so it can work in Excel. I have data (like 2013) in cell A1.=LET(Y,A1,A,MOD(Y,19),B,MOD(Y,4),C,MOD(Y,7),D,MOD(19*A+24,30),E,MOD(2*B+4*C+6*D+5,7),H,IFS(AND(E=6,D=29),50,AND(E=6,D=28,A>10),49,TRUE,22+D+E),IF(H<=31,DATE(Y,3,H),DATE(Y,4,H-31)))This formula works, but I think it is not so much simpler than the formula in the article. Anyway, I think they are both great. Thanks again!Sincerely,Mandy
This comment was minimized by the moderator on the site
It works on google sheets. It is very long but works without error for the problematic years too (what you mentioned here). You can copy to a cell and in K1 cell the year is expected, like 2022

=DATE(K1;IF((IFS(AND(MOD(2*MOD(K1;4)+4*MOD(K1;7)+6*MOD(19*MOD(K1;19)+24;30)+5;7)=6;MOD(19*MOD(K1;19)+24;30)=29);50;AND(MOD(2*MOD(K1;4)+4*MOD(K1;7)+6*MOD(19*MOD(K1;19)+24;30)+5;7)=6;MOD(19*MOD(K1;19)+24;30)=28;MOD(K1;19)>10);50;TRUE;22+MOD(19*MOD(K1;19)+24;30)+MOD(2*MOD(K1;4)+4*MOD(K1;7)+6*MOD(19*MOD(K1;19)+24;30)+5;7)))<=31;3;4);IF((IFS(AND(MOD(2*MOD(K1;4)+4*MOD(K1;7)+6*MOD(19*MOD(K1;19)+24;30)+5;7)=6;MOD(19*MOD(K1;19)+24;30)=29);50;AND(MOD(2*MOD(K1;4)+4*MOD(K1;7)+6*MOD(19*MOD(K1;19)+24;30)+5;7)=6;MOD(19*MOD(K1;19)+24;30)=28;MOD(K1;19)>10);50;TRUE;22+MOD(19*MOD(K1;19)+24;30)+MOD(2*MOD(K1;4)+4*MOD(K1;7)+6*MOD(19*MOD(K1;19)+24;30)+5;7)))<=31;IFS(AND(MOD(2*MOD(K1;4)+4*MOD(K1;7)+6*MOD(19*MOD(K1;19)+24;30)+5;7)=6;MOD(19*MOD(K1;19)+24;30)=29);50;AND(MOD(2*MOD(K1;4)+4*MOD(K1;7)+6*MOD(19*MOD(K1;19)+24;30)+5;7)=6;MOD(19*MOD(K1;19)+24;30)=28;MOD(K1;19)>10);49;TRUE;22+MOD(19*MOD(K1;19)+24;30)+MOD(2*MOD(K1;4)+4*MOD(K1;7)+6*MOD(19*MOD(K1;19)+24;30)+5;7));(IFS(AND(MOD(2*MOD(K1;4)+4*MOD(K1;7)+6*MOD(19*MOD(K1;19)+24;30)+5;7)=6;MOD(19*MOD(K1;19)+24;30)=29);50;AND(MOD(2*MOD(K1;4)+4*MOD(K1;7)+6*MOD(19*MOD(K1;19)+24;30)+5;7)=6;MOD(19*MOD(K1;19)+24;30)=28;MOD(K1;19)>10);49;TRUE;22+MOD(19*MOD(K1;19)+24;30)+MOD(2*MOD(K1;4)+4*MOD(K1;7)+6*MOD(19*MOD(K1;19)+24;30)+5;7)))-31))
This comment was minimized by the moderator on the site
Hello hztamas,
Thanks for your share. This formula does work without error on google sheets. Thanks!
Sincerely,
Mandy
This comment was minimized by the moderator on the site
It works on google sheets. It is very long but works without error for the problematic years too (what you mentioned here). You can copy to a cell and in K1 cell the year is expected, like 2022
=DATE(K1;IF((IFS(AND(MOD(2*MOD(K1;4)+4*MOD(K1;7)+6*MOD(19*MOD(K1;19)+24;30)+5;7)=6;MOD(19*MOD(K1;19)+24;30)=29);50;AND(MOD(2*MOD(K1;4)+4*MOD(K1;7)+6*MOD(19*MOD(K1;19)+24;30)+5;7)=6;MOD(19*MOD(K1;19)+24;30)=28;MOD(K1;19)>10);50;TRUE;22+MOD(19*MOD(K1;19)+24;30)+MOD(2*MOD(K1;4)+4*MOD(K1;7)+6*MOD(19*MOD(K1;19)+24;30)+5;7)))<=31;3;4);IF((IFS(AND(MOD(2*MOD(K1;4)+4*MOD(K1;7)+6*MOD(19*MOD(K1;19)+24;30)+5;7)=6;MOD(19*MOD(K1;19)+24;30)=29);50;AND(MOD(2*MOD(K1;4)+4*MOD(K1;7)+6*MOD(19*MOD(K1;19)+24;30)+5;7)=6;MOD(19*MOD(K1;19)+24;30)=28;MOD(K1;19)>10);50;TRUE;22+MOD(19*MOD(K1;19)+24;30)+MOD(2*MOD(K1;4)+4*MOD(K1;7)+6*MOD(19*MOD(K1;19)+24;30)+5;7)))<=31;IFS(AND(MOD(2*MOD(K1;4)+4*MOD(K1;7)+6*MOD(19*MOD(K1;19)+24;30)+5;7)=6;MOD(19*MOD(K1;19)+24;30)=29);50;AND(MOD(2*MOD(K1;4)+4*MOD(K1;7)+6*MOD(19*MOD(K1;19)+24;30)+5;7)=6;MOD(19*MOD(K1;19)+24;30)=28;MOD(K1;19)>10);49;TRUE;22+MOD(19*MOD(K1;19)+24;30)+MOD(2*MOD(K1;4)+4*MOD(K1;7)+6*MOD(19*MOD(K1;19)+24;30)+5;7));(IFS(AND(MOD(2*MOD(K1;4)+4*MOD(K1;7)+6*MOD(19*MOD(K1;19)+24;30)+5;7)=6;MOD(19*MOD(K1;19)+24;30)=29);50;AND(MOD(2*MOD(K1;4)+4*MOD(K1;7)+6*MOD(19*MOD(K1;19)+24;30)+5;7)=6;MOD(19*MOD(K1;19)+24;30)=28;MOD(K1;19)>10);49;TRUE;22+MOD(19*MOD(K1;19)+24;30)+MOD(2*MOD(K1;4)+4*MOD(K1;7)+6*MOD(19*MOD(K1;19)+24;30)+5;7)))-31))

This comment was minimized by the moderator on the site
Hello Tami,Thanks for your share. This formula does work without error on google sheets. Thanks!Sincerely,Mandy
This comment was minimized by the moderator on the site
Is there a similar Excel Formula to figure out the Chinese New Year since it's also a Lunar Calendar Holiday?
This comment was minimized by the moderator on the site
What about orthodox easter? Is there a code for that as well?
This comment was minimized by the moderator on the site
Also 2108 gives 2108-Mar-31, should be 2108-Apr-1.
This comment was minimized by the moderator on the site
I translated your formula for Dutch Excel like this (year in A81):
=AFRONDEN.BENEDEN(DATUM(A81;5;DAG(MINUUT(A81/38)/2+56));7)-34

The formula gives 2079-04-16 for Easter 2079. This should be 2079-04-23. The rest of the 21st century looks ok!
This comment was minimized by the moderator on the site
Yes I've had some problems with variations on that formula. Check 2011, 2038, 2052, and 2079, all 7 days early.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations