Note: The other languages of the website are Google-translated. Back to English

如何在Excel中计算复活节日期?

doc计算复活节日期1

众所周知,复活节假期始终是21月XNUMX日或之后发生的第一个教会满月之后的第一个星期日,因此每年的复活节日期可能与以下屏幕截图所示的日期不同。 为了获得给定年份的特定复活节日期,本文可能会对您有所帮助。

用公式计算给定年份的复活节日期

使用用户定义的函数计算给定年份的复活节日期


箭头蓝色右气泡 用公式计算给定年份的复活节日期

要获取给定年份的复活节日期,以下公式可以为您提供帮助,请执行以下操作:

1。 输入以下公式: =FLOOR("5/"&DAY(MINUTE(A2/38)/2+56)&"/"&A2,7)-34 在给定年份旁边的空白单元格中, B2,例如,请参见屏幕截图:

doc计算复活节日期2

2。 然后将填充手柄向下拖动到要计算给定日期的复活节日期的单元格,并在单元格中显示五位数字,请参见屏幕截图:

doc计算复活节日期3

3。 然后,您应该将他的数字格式化为日期格式:

(1.)选择5位数字,然后右键单击以选择 单元格格式 从上下文菜单中;

(2.)在弹出 单元格格式 对话框,单击 选项卡,然后选择 Date 来自 类别 窗格,然后从右侧列表框中选择您喜欢的一种日期格式,请参见屏幕截图:

doc计算复活节日期4

4。 然后,数字已根据需要设置为日期格式,可以获取给定年份的复活节日期,请参见屏幕截图:

doc计算复活节日期5

小贴士: 要将数字格式化为您的正常使用的日期格式,您还可以使用Kutools for Excel的Apply Date Formatting实用程序,如以下屏幕截图所示:

doc计算复活节日期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) 放入对应数据旁边的空白单元格中,然后将填充手柄向下拖动到要应用此公式的单元格上,您将获得一些五位数字,请参见屏幕截图:

doc计算复活节日期7

5。 然后,您应该根据需要将数字更改为日期格式。 请查看上述方法的步骤3以将其格式化为最新格式.


最佳办公效率工具

Kutools for Excel解决了您的大多数问题,并使您的生产率提高了80%

  • 重用: 快速插入 复杂的公式,图表 以及您以前使用过的任何东西; 加密单元 带密码 创建邮件列表 并发送电子邮件...
  • 超级公式栏 (轻松编辑多行文本和公式); 阅读版式 (轻松读取和编辑大量单元格); 粘贴到过滤范围...
  • 合并单元格/行/列 不会丢失数据; 拆分单元格内容; 合并重复的行/列...防止细胞重复; 比较范围...
  • 选择重复或唯一 行; 选择空白行 (所有单元格都是空的); 超级查找和模糊查找 在许多工作簿中; 随机选择...
  • 确切的副本 多个单元格,无需更改公式参考; 自动创建参考 到多张纸; 插入项目符号,复选框等...
  • 提取文字,添加文本,按位置删除, 删除空间; 创建和打印分页小计; 在单元格内容和注释之间转换...
  • 超级滤镜 (将过滤方案保存并应用于其他工作表); 高级排序 按月/周/日,频率及更多; 特殊过滤器 用粗体,斜体...
  • 结合工作簿和工作表; 根据关键列合并表; 将数据分割成多个工作表; 批量转换xls,xlsx和PDF...
  • 超过300种强大功能。 支持Office / Excel 2007-2019和365。支持所有语言。 在您的企业或组织中轻松部署。 完整功能30天免费试用。 60天退款保证。
kte选项卡201905

Office选项卡为Office带来了选项卡式界面,使您的工作更加轻松

  • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
  • 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
  • 每天将您的工作效率提高50%,并减少数百次鼠标单击!
officetab底部
按评论排序
注释 (11)
还没有评分。 成为第一位评论!
该评论由网站上的主持人最小化
我像这样翻译了你的荷兰 Excel 公式(A81 年):
=AFRONDEN.BENEDEN(DATUM(A81;5;DAG(MINUUT(A81/38)/2+56));7)-34

该公式给出了 2079 年复活节的 04-16-2079。这应该是 2079-04-23。 21 世纪的剩余时间看起来还不错!
该评论由网站上的主持人最小化
是的,我在该公式的变化方面遇到了一些问题。 提前 2011 天检查 2038、2052、2079 和 7。
该评论由网站上的主持人最小化
2108 也给出 2108-Mar-31,应该是 2108-Apr-1。
该评论由网站上的主持人最小化
什么是正统的复活节? 是否也有代码?
该评论由网站上的主持人最小化
是否有类似的 Excel 公式来计算农历新年,因为它也是农历假期?
该评论由网站上的主持人最小化
它适用于谷歌表格。 它很长,但在有问题的年份也可以正常工作(您在此处提到的内容)。 您可以复制到一个单元格,在 K1 单元格中,预计年份,例如 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))

该评论由网站上的主持人最小化
你好塔米,谢谢你的分享。 这个公式在谷歌表格上没有错误地工作。 谢谢!真诚的,曼迪
该评论由网站上的主持人最小化
它适用于谷歌表格。 它很长,但在有问题的年份也可以正常工作(您在此处提到的内容)。 您可以复制到一个单元格,在 K1 单元格中,预计年份,例如 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))
该评论由网站上的主持人最小化
你好,
谢谢你的分享。 这个公式在谷歌表格上没有错误地工作。 谢谢!
Sincerely,
曼迪
该评论由网站上的主持人最小化
Excel版本,更简单,您只需将开头的L3更改为您将放置年份(如2022)的单元格。 
=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)))
该评论由网站上的主持人最小化
您好 hztamas, 非常感谢您的分享。 我改变了“;” 到“,”在您的公式中,以便它可以在 Excel 中工作。 我在单元格 A2013.=LET(Y,A1,A,MOD(Y,1),B,MOD(Y,19),C,MOD(Y,4),D,MOD(7) 中有数据(如 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)))这个公式有效,但我认为它并不比文章中的公式简单得多。 不管怎样,我觉得他们俩都很棒。 再次感谢!真诚的,曼迪
这里还没有评论
留下你的意见
以访客身份发帖
×
评价此帖子:
0   产品特性
建议地点