Excel根据身份证号提取信息

概览

本篇文章主要对根据身份证号码提取出生年月日、年龄、性别、退休年龄这三项进行讲解。

一. 提取出生年月日

公式:=TEXT(MID(B2,7,8),"0000-00-00")

  1. MID(B2,7,8):表示从单元格 B2 中的字符串(这里是身份证号),从第 7 个字符开始,提取长度为 8 个字符的子串。通常这 8 个字符就是包含出生年月日的信息;

  2. TEXT(..., "0000-00-00"):使用 TEXT 函数将提取出来的出生年月日信息按照指定的格式"0000-00-00"进行格式化显示。这样就可以把类似"19901010"这样的字符串转化为"1990-10-10"这种日期格式的外观。

二. 提取年龄

公式:=DATEDIF(C2,"2024-06-13","y")

  1. DATEDIF函数用于计算两个日期之间的差值;
  2. C2是起始日期所在的单元格;
  3. "2024-06-13"是结束日期;
  4. "y"表示要计算的是两个日期之间的整年数。

三. 性别

公式:=IF(MOD(MID(B2,17,1),2)=1,"男","女")

  1. MID(B2,17,1):从单元格 B2 所代表的内容(比如身份证号)中,提取从第 17 位开始的长度为 1 的字符。在身份证号中,第 17 位数字通常用于表示性别;
  2. MOD(MID(B2,17,1),2):对提取出来的第 17 位数字进行取模运算(即除以 2 后的余数);

IF(...):根据取模运算的结果进行判断,如果余数等于 1(说明第 17 位是奇数),则返回"男";如果余数为 0(说明第 17 位是偶数),则返回"女"。通过这种方式就可以根据身份证号的特定位置数字来判断对应的性别。

四. 提取计算退休年月日

公式:=EDATE(D2,IF(F2="男",720,IF(F2&C2="女干部",660,600)))

使用EDATE函数计算退休年月。EDATE函数的第一个参数是起始日期,第二个参数是间隔的月数。第一个参数加上第二个参数的值,比如起始是2024-06-13,第二个参数是120(10年),那么最后得到的数据是2034-06-13,对应的,如果第二个参数是负数,则时间往前推。

  1. IF(F2="男",720,IF(F2&C2="女干部",660,600)):这部分是一个嵌套的IF函数,用于确定间隔的月数。它根据F2单元格中的性别和C2单元格中的职级来判断;
  2. 如果性别为"男",则返回 720,表示 60 岁退休(720 个月 = 60 年);
  3. 如果性别为"女"且职级为"女干部",则返回 660,表示 55 岁退休(660 个月 = 55 年);
  4. 如果性别为"女"且职级不是"女干部",则返回 600,表示 50 岁退休(600 个月 = 50 年)。

五. 拓展

公式:=COUNTIFS($A:$A,$G2,$C:$C,H$1)/COUNTIF($A:$A,$G2)

COUNTIFS($A:$A,$G2,$C:$C,H$1):这部分使用 COUNTIFS 函数进行多条件计数。它统计在列 A 中满足等于 G2 这个条件,同时在列 C 中满足等于 H1 这个条件的单元格数量。

/:表示除法运算。

COUNTIF($A:$A,$G2):这里使用 COUNTIF 函数统计在列 A 中等于 $G2 的单元格数量。

疑问:公式中的$是什么?

在 Excel 中,$符号用于表示绝对引用。绝对引用是指在公式中使用单元格或单元格区域的地址时,无论将公式复制到哪个位置,引用的单元格地址都不会发生变化。

详细解释:

css 复制代码
例如,在公式=$A$1+$B$1中,$A$1和$B$1都是绝对引用,
无论将公式复制到哪个单元格,$A$1和$B$1始终指向
 A1 和 B1 单元格。
相对引用则是指在公式中使用单元格或单元格区域的地址时,
当将公式复制到其他位置时,引用的单元格地址会根据
相对位置自动调整。例如,在公式=A1+B1中,
A1 和 B1 是相对引用,当将公式复制到
 C2 单元格时,公式会自动调整为=C1+D1。
混合引用则是指在公式中同时使用绝对引用和相对引用。
例如,在公式=$A1+B$1中,$A1是绝对引用,B$1是相对引用,
当将公式复制到 C2 单元格时,公式会自动调整为=$A2+C$1。
在输入公式时,可以通过手动输入$符号来指定绝对引用,
也可以在选中单元格地址后按 F4 键来快速切换绝对引用、
相对引用和混合引用。

相关例子可参考 按部门统计男女比例,方法比拼

相关推荐
Evan芙8 小时前
用fping编写脚本扫描10.0.0.0/24网段在线主机
linux·运维·网络·excel
SamDeepThinking13 小时前
基于CompletableFuture的主子任务并行处理架构实战:多渠道账单并发导入性能提升5倍的技术方案
java·后端·excel
SamDeepThinking13 小时前
88MB Excel文件导致系统崩溃?看我如何将内存占用降低
java·excel
ChrisitineTX14 小时前
警惕数据“陷阱”:Python 如何自动发现并清洗 Excel 中的异常值?
开发语言·python·excel
wtsolutions15 小时前
Excel to JSON by WTSolutions 4.0.0 版本更新公告
json·excel·wps·插件·转换·加载项·wtsolutions
wtsolutions15 小时前
Excel to JSON by WTSolutions 4.0.0 Update Announcement
json·excel·wps·addin·wtsolutions·conversion
癫狂的兔子1 天前
【Office】【Excel】常用函数公式总结
excel
毛飞龙2 天前
Excel迷你图:在单元格中嵌入趋势洞察
excel·迷你图·sparklines
Tatalaluola2 天前
Unity使用EPPlus读取写入表格
unity·c#·游戏引擎·excel
缺点内向2 天前
如何在 C# 中将 Excel 工作表拆分为多个窗格
开发语言·c#·.net·excel