身份证号码一般由18位数字组成,包括地址码、出生日期码、顺序码和校验码。地址码:前6位表示具体地址信息,包括省、市、县(区)的代码;出生日期码:第7-14位表示出生日期;顺序码:第15-17位表示在同一地址码范围内同一天出生的人的顺序号(其中,第17位数字用于表示性别,奇数表示男性,偶数表示女性);校验码:第18位是校验码,用于校验前17位数字的正确性。
了解身份证号码的编码方式后,我们就可以根据身份证号码提取出生日期等信息。更进一步地,我们还能计算出身份证号码所属星座。
由于Excel本身没有内置的相关函数,我们可以利用VBA自定义函数GetConstellation(身份证号),用以计算出身份证号码所属星座。函数的实现逻辑如下:
1.截取身份证号码第11-12位,获取出生月份;
2.截取身份证号码第13-14位,获取出生日;
3.根据出生日期及对应的星座,判断身份证号码所属星座。(见下表)
星座
日期范围
白羊座
3 月 21 日 – 4 月 19 日
金牛座
4 月 20 日 – 5 月 20 日
双子座
5 月 21 日 – 6 月 21 日
巨蟹座
6 月 22 日 – 7 月 22 日
狮子座
7 月 23 日 – 8 月 22 日
处女座
8 月 23 日 – 9 月 22 日
天秤座
9 月 23 日 – 10 月 23 日
天蝎座
10 月 24 日 – 11 月 22 日
射手座
11 月 23 日 – 12 月 21 日
摩羯座
12 月 22 日 – 1 月 19 日
水瓶座
1 月 20 日 – 2 月 18 日
双鱼座
2 月 19 日 – 3 月 20 日
使用自定义函数GetConstellation