Перейти к основному содержанию

Как рассчитать дату Пасхи в Excel?

Автор: Сяоян Последнее изменение: 2020 июля 07 г.
док вычислить дату пасхи 1

Как все мы знаем, праздник Пасхи всегда является первым воскресеньем после первого церковного полнолуния, которое наступает 21 марта или позже, поэтому дата Пасхи каждого года может быть другой, как показано на следующем скриншоте. Чтобы узнать дату Пасхи в конкретном году, эта статья может оказать вам услугу.

Вычислить дату Пасхи данного года по формуле

Вычислить дату Пасхи данного года с помощью функции, определяемой пользователем


стрелка синий правый пузырь Вычислить дату Пасхи данного года по формуле

Чтобы получить дату Пасхи в данном году, вам может помочь следующая формула. Сделайте следующее:

1. Введите эту формулу: =FLOOR("5/"&DAY(MINUTE(A2/38)/2+56)&"/"&A2,7)-34 в пустую ячейку рядом с вашим годом, B2, например, см. снимок экрана:

док вычислить дату пасхи 2

2. Затем перетащите дескриптор заполнения вниз к ячейкам, в которых вы хотите вычислить дату Пасхи данной даты, и в ячейках отобразятся пятизначные числа, см. Снимок экрана:

док вычислить дату пасхи 3

3. Затем вы должны отформатировать числа как формат даты:

(1.) Выберите 5-значные числа и щелкните правой кнопкой мыши, чтобы выбрать Формат ячеек из контекстного меню;

(2.) В раскрывающемся Формат ячеек диалоговое окно, нажмите Номер регистрации Вкладка и выберите Время из Категории панели, затем выберите один формат даты, который вам нравится, из правого списка, см. снимок экрана:

док вычислить дату пасхи 4

4. И затем числа были отформатированы в формате даты, как вам нужно, и вы можете получить дату Пасхи в данном году, см. Снимок экрана:

док вычислить дату пасхи 5

Советы: Чтобы отформатировать числа в обычном формате даты, вы также можете использовать утилиту Apply Date Formatting в Kutools for Excel, как показано на следующем снимке экрана:

док вычислить дату пасхи 6


стрелка синий правый пузырь Вычислить дату Пасхи данного года с помощью функции, определяемой пользователем

Следующие Функция, определяемая пользователем также может помочь вам рассчитать дату Пасхи в конкретном году.

1. Удерживайте ALT + F11 ключи, затем он открывает Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модулии вставьте следующий код в Модули Окно.

Код VBA: вычислить дату Пасхи в данном году:

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. Затем сохраните и закройте этот код, вернитесь на рабочий лист и введите эту формулу: = easterdate (A2) в пустую ячейку рядом с вашими соответствующими данными, а затем перетащите дескриптор заполнения вниз к ячейкам, к которым вы хотите применить эту формулу, вы получите несколько пятизначных чисел, см. снимок экрана:

док вычислить дату пасхи 7

5. Затем вы должны изменить формат чисел на дату, если вам нужно. Пожалуйста, просмотрите шаг 3 вышеуказанного метода, чтобы отформатировать их до даты.

Лучшие инструменты для офисной работы

🤖 Kutools AI Помощник: Революционный анализ данных на основе: Интеллектуальное исполнение   |  Генерировать код  |  Создание пользовательских формул  |  Анализ данных и создание диаграмм  |  Вызов функций Kutools...
Популярные опции: Найдите, выделите или определите дубликаты   |  Удалить пустые строки   |  Объедините столбцы или ячейки без потери данных   |   Раунд без формулы ...
Супер поиск: Множественный критерий VLookup    VLookup с несколькими значениями  |   VLookup по нескольким листам   |   Нечеткий поиск ....
Расширенный раскрывающийся список: Быстрое создание раскрывающегося списка   |  Зависимый раскрывающийся список   |  Выпадающий список с множественным выбором ....
Менеджер столбцов: Добавить определенное количество столбцов  |  Переместить столбцы  |  Переключить статус видимости скрытых столбцов  |  Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка Фокус   |  Просмотр дизайна   |   Большой Формулный Бар    Менеджер книг и листов   |  Библиотека ресурсов (Авто текст)   |  Выбор даты   |  Комбинировать листы   |  Шифровать/дешифровать ячейки    Отправлять электронные письма по списку   |  Суперфильтр   |   Специальный фильтр (фильтровать жирным шрифтом/курсивом/зачеркиванием...) ...
15 лучших наборов инструментов12 Текст Инструменты (Добавить текст, Удалить символы, ...)   |   50+ График Тип (Диаграмма Ганта, ...)   |   40+ Практических Формулы (Рассчитать возраст по дню рождения, ...)   |   19 Вносимые Инструменты (Вставить QR-код, Вставить изображение из пути, ...)   |   12 Конверсия Инструменты (Числа в слова, Конверсия валюты, ...)   |   7 Слияние и разделение Инструменты (Расширенные ряды комбинирования, Разделить клетки, ...)   |   ... и более

Улучшите свои навыки работы с Excel с помощью Kutools for Excel и почувствуйте эффективность, как никогда раньше. Kutools for Excel предлагает более 300 расширенных функций для повышения производительности и экономии времени.  Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего...

Описание


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
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