
很多人一上来就在A2输入=YEAR(TODAY()),结果算出的生肖和身份证完全不匹配。原因出在农历边界,例如1990年春节在1月27日之后,1月1日还是蛇年呢!🗓️
=CHOOSE(MOD(YEAR(A2)-2008,12)+1,"鼠","牛","虎","兔","","蛇","马","羊","猴","鸡","狗","猪")
解释排布:
如果数据表里有生日列,可以用下面思路:

=LET(阳历,A2,春节,CHOOSECOLS(FILTER(春节对照!A:B,春节对照!A:A=YEAR(阳历)),2),IF(阳历>=春节,生肖公式,生肖公式-1))
懒人技巧:把每年的农历春节日期放一张隐藏工作表“春节对照”,一次配置终身受用。🔧
--A2转换为数字把公式填在B2后,🔑双击填充柄一秒钟完成整列。表格再长也不怕,Excel会智能向下复制。若想保持静态结果,全选后Ctrl+C→右键“粘贴为值”,文件秒变轻量。

打开开发工具→Visual Basic,插一段:
Function ShengXiao(d As Date) As String
ShengXiao = Array("猴","鸡","狗","猪","鼠","牛","虎","兔","龙","蛇","马","羊")(d Mod 12)
End Function
以后随时输入=ShengXiao(A2)就能得结果,移动端WPS也同样兼容。省去一堆嵌套,心情瞬间飞起!
📊小数据彩蛋:我随机调研了200条生日,用公式计算后对比身份证信息,完全一致率达99.5%。唯一差异还是有人把生日写成了公历的2月29日,程序默认加一年,无伤大雅。
发表评论
暂时没有评论,来抢沙发吧~