放过某度吧!Excel就能告诉你,她的星座和生肖

: 你获知了一个‘她’的生日,想知道‘她’的星座和生肖怎么办? : 可以查询搜索引擎啊! : 可是你有一群‘她们’的生日,怎么才能知道‘她们’的星座和生肖呢? : 这…… : 其实你可以借助Excel!

案列重现

要是你获知一群人的生日年月日,可以又怎么知道他们的星座和生肖呢? 仔细想想,星座和生肖是基于生日年月日信息中的不同部分:

  • 星座:取决于 ,并将每年分成不均匀的12份

  • 生肖:取决于 阴历年,并每12年重复一次

既然如此,那我们就着重思考一下,如何才能用公式实现以上的两个表达。

解决方法

求星座

看了这公式是不是有点犯晕?还是让火箭君来给你细细解释。

  • –TEXT(B2,”mdd”) 提取B2单元格中的月日信息,其中月的信息可以是1位或2位数字,而日的信息必须以2位数字显示,再通过减负运算(连续两个减号)将其转换为一个3位或4位的数字。

  • {101,”摩羯”;120,”水瓶”; … ;1222,”摩羯”} 如上图所示,构建起了一个2*13的数组,分别对应该星座的起始月日和星座的名称。

  • LOOKUP(… , …) 通过LOOKUP函数,查询B2中的月日信息在数组中所对应的星座名称。其中,由于LOOKUP函数是顺序查询的,而摩羯座又是横跨了年头年尾两个月(12月22日~1月19日),因此在创建数组时,必须把摩羯座的信息分成两部分。

求生肖

  • TEXT(B2,”[$-130000]e”) 将B2中公历转换为农历,并提取年份信息。”[$-130000]…”可以将公历转换成农历,同时还可以设置不同的表达形式,比如”[$-130000]e”为农历年份,”[$-130000]yyyy-mm-dd”为按农历年月日表示。

  • MOD(…-4,12)+1 由于Excel中日期起始的1900年恰好为鼠年,而1900/12的余数为4,需要将年份信息减去4,再除以12取其余数。同时由于字符串的起始位为1。因此将余数加上1,就可以得到”鼠牛虎兔龙蛇马羊猴鸡狗猪”这串字符中的实际位置。 比如,

BTW,上文中介绍的肯定不是唯一的求星座和求生肖的方法。比如,你是不是会用求星座的方法来求生肖呢?

▲这是不是能治疗颈椎病?

同时,也欢迎小伙伴在文末评论区留言,谈谈你对求星座和求生肖公式的新idea! 要是你苦恼于如何来寻找一些Dummy Data来进行操作学习,也欢迎点击相关文章中,火箭君给你带来的Dummy Data生成器!