Compact Calendar Change for Reported Easter Calculation Bugs

This year’s Compact Calendar added “automatic holiday calculation” when the year is changed in the Excel spreadsheet. Holiday calculations are terribly tricky, though, and a bug in the Easter Calculation was reported by Mike Kennedy with OpenOffice. The Easter calculation I’m using, he pointed out, assume date entry in a certain text format which is not universal. I went back and looked at it and saw he was right, though I couldn’t duplicate the other reported bug. Anyway, I’ve uploaded a more robustly-coded version of original Easter calculation, which substitutes the locale-specific date string with the Excel DATE function.

UPDATE: After downloading OpenOffice and cross-checking the calculation with Google Spreadsheet, it appears that the cause of the bug is due to a difference between in how the DAY() function works for values under 61. So if you are using Excel you are fine, but OpenOffice users should probably use the EASTERSUNDAY() function.

UPDATE2: Here’s an explanation of why Excel’s DAY() function is buggy; it was originally to maintain compatibility with Lotus 1-2-3, which used to be the dominant spreadsheet.

In Excel 2007, Easter appears to be calculated correctly for the next five years. If you are outside the USA, you can re-download the ZIP file from the Compact Calendar Page for the more robust version of the calculation.