Tra 202011

Obzirom da nam se primiče Uskrs, ovo je prigodna tema za post o tome kako datum na koji pada izračunati u Excelu. Prije svega treba reći da je određivanje datuma Uskrsa putem Excela je znatno teže nego što se može na prvi pogled činiti. Uskrs kako je definiran po Nicejskom koncilu pada na prvu nedjelju nakon punog mjeseca poslije proljetnog ekvinocija, što je negdje u periodu između 22. ožujka i 25. travnja.
Po internetu kruži neko verzija formule kojom se određuje datum kada pada Uskrs u određenoj godini. Kako sam uspio zaključiti ova koja se nalazi na Spreadsheet Page je izgleda najtočnija.
=DOLLAR((“4/”&A1)/7+MOD(19*MOD(A1;19)-7;30)*14%;)*7-6
Ova formula radi tako da u ćeliju A1 unesemo godinu za koju želimo odrediti Uskrs, a ćeliju u kojoj je formula treba formatirati kao datum.
Logiku koja stoji iza sintakse ne razumijem, niti sam uspio pronaći bilo kakvo suvislo objašnjenje, pa neka to ostane u sferi mističnog. Prema knjizi J. Walkenbacha Excel 2002 Formulas autor te formule je Thomas Jansen i objavljena je na forumu Hansa Herbera u okviru natječaja za izradu najkraće formule koja računa datum Uskrsa.
Više o problematici računanja datuma Uskrsa putem Excela i druge oblike formule, kao i VBA rješenja možete pronaći na stranicama Chipa Pearsona i Jona Peltiera.
2 Responses to “Uskršnja formula”
Comments (2)

[quote]
Ne znam ni tko je originalni autor te formule
[/quote]
Ovo sam našao na netu, što bi se reklo da je autor John Walkenbach
[quote]
I found the following formula to calculate Easter
=DOLLAR((“4/”&A1)/7+MOD(19*MOD(A1,19)-7,30)*14%,*7-6
in the book “Excel 2002 Formulas” by John Walkenbach
[/quote]
E sad si me natjerao da pogledam u knjigu
. Ovdje je slikica:
Ali saznali smo tko je autor. Ne znam, jesi li vidio ovaj link
http://spreadsheetpage.com/index.php/comments/easter_formula/#c,
tu je sve skupa malo bolje objašnjeno. Zanimljivo, tamo je navedeno da je pobijedio Norbert Hetterich, a ne Thomas Jansen, s drugom formulom: =FLOOR(DAY(MINUTE(J/38)/2+56)&”/5/”&J;,7)-34
Meni je posebno zanimljiva ova formula:
=TRUNC(DATE(J,7,-CODE(MID(“NYdQ\JT_LWbOZeR]KU`”,MOD(J,19)+1,1)))/7)*7+8
(zašto pobogu ova kemija s tekstom???)
Kako mi se čini sve te formule su bazirane na Gaussovom algoritmu http://bs.wikipedia.org/wiki/Ra%C4%8Dunanje_datuma_uskrsa i nastale su skraćivanjima u postupku. Ako jednog dana budem imao vremena (najvjerojatnije – neću), baš ću se malo probat igrat s tim.