Страницы: 1
RSS
Определение даты Пасхи
 
Через неделю Светлое Воскресенье.    
Я знал, что дата Пасхи как-то связана с первым полнолунием после равноденствия, но меня заинтересовал алгоритм ее вычисления. На просторах интернета  нашел удобный алгоритм для реализации в Excel. Запихнул все в мегаформулу.  
Вот, что получилось.  
С уважением, Александр.
 
По просторам интернета бродит еще такая формула :)  
=РУБЛЬ(("4/"&A3)/7+ОСТАТ(19*ОСТАТ(A3;19)-7;30)*14%;)*7-6
 
{quote}{login=kim}{date=28.03.2010 12:42}{thema=}{post}По просторам интернета бродит еще такая формула :)  
=РУБЛЬ(("4/"&A3)/7+ОСТАТ(19*ОСТАТ(A3;19)-7;30)*14%;)*7-6{/post}{/quote}  
Очень оригинально и лаконично, но это даты Католической Пасхи.  
С уважением, Александр.
 
Да кто ж ее знает, формула то не моя, алгоритма даже не знаю. Хотя по этому году совпадает. Давайте совместным порывом разума подшаманим под Православную :)
 
{quote}{login=Sh_Alex}{date=28.03.2010 02:34}{thema=Re: }{post}{quote}{login=kim}{date=28.03.2010 12:42}{thema=}{post}{/post}{/quote} но это даты Католической Пасхи.{/post}{/quote}  
Да какая разница? Главное - повод ведь есть!
 
Это написал еще в 1999 году, кажется под 5 Эксель для составления рабочих календарей. Мож кому пригодится.  
Public Function Easter(Year As Integer) As Date  
Dim a As Long, b As Long, c As Long, d As Long, e As Long, z As Long  
Dim month As Integer, day As Integer  
a = Year Mod 19  
b = Year Mod 4  
c = Year Mod 7  
d = (19 * a + 15) Mod 30  
e = (2 * b + 4 * c + 6 * d + 6) Mod 7  
z = d + e  
month = (z + 25) \ 35 + 3  
day = z + 22 - 31 * (month \ 4)  
Easter = DateSerial(Year, month, day) + 13  
End Function  
 
Public Function Troy(Year As Integer) As Date  
Troy = Easter(Year) + 49  
End Function
Я сам - дурнее всякого примера! ...
 
{quote}{login=KuklP}{date=28.03.2010 04:27}{thema=}{post}Это написал еще в 1999 году, кажется под 5 Эксель для составления рабочих календарей. Мож кому пригодится.  
Public Function Easter(Year As Integer) As Date  
Dim a As Long, b As Long, c As Long, d As Long, e As Long, z As Long  
Dim month As Integer, day As Integer  
a = Year Mod 19  
b = Year Mod 4  
c = Year Mod 7  
d = (19 * a + 15) Mod 30  
e = (2 * b + 4 * c + 6 * d + 6) Mod 7  
z = d + e  
month = (z + 25) \ 35 + 3  
day = z + 22 - 31 * (month \ 4)  
Easter = DateSerial(Year, month, day) + 13  
End Function  
 
Public Function Troy(Year As Integer) As Date  
Troy = Easter(Year) + 49  
End Function{/post}{/quote}  
 
Что-то не получается дата Пасхи - ни православная ни католическая. Вот алгоритм, который заложен у Вас, но там еще условия есть, которых нет у Вас. http://alebedev.narod.ru/app/app01.html
 
Как не получается? См. файл.  
Может вы забыли установить формат ячейки-результата в Дата?
 
Прошу прощения, запамятовал осуществить вход в форум.
Я сам - дурнее всякого примера! ...
Страницы: 1
Читают тему
Наверх