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 中满足等于 H$1 这个条件的单元格数量。
/:表示除法运算。

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

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

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

详细解释:

例如,在公式=$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 键来快速切换绝对引用、
相对引用和混合引用。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/705688.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Day 43 keepalived高可用集群

keepalived高可用集群 负载均衡 lb集群 load balance ​ 流量分发 高可用 ha集群 high availability ​ 主要是给服务器做冗余 keepalive 持久连接 保持存活 keepalived 高可用软件名称 红帽有自己的高可用集群套件:RHCS keepalived介绍 ​ keepalived是集…

世优波塔AI数字人多模态交互系统,让智慧教育多维度落地应用

“你是谁,你能做什么?”、“降落伞应该包含哪些部分?”、“制作降落伞需要什么流程?”在北京四中雄安校区的实践课堂上,一个数字人AI一体机在教室中央引人注目,老师和学生们争相向名叫“小优”的“数字老师…

git如果将多次提交压缩成一次

将N个提交压缩到单个提交中有两种方式: git reset git reset的本意是版本回退,回退时可以选择保留commit提交。我们基于git reset的作用,结合新建分支,可以实现多次commit提交的合并。这个不需要vim编辑,很少有冲突。…

GTX的64B66B编码(高速收发器十九)

点击进入高速收发器系列文章导航界面 前文讲解了8B10B的原理,8B10B的开销比较大,每传输10位数据,就需要发送2位无效数据。为了减小8B10B编码的开销,同时保留编码方案的优点,提出了64B66B编码。 64B66B编码与8B10B编码方…

FRP 内网穿透 | 实现远程访问与安全管理

唠唠闲话 内网穿透简介 在互联网上,两个不同主机进行通信需要知道对方的 IP 地址。由于世界人口和设备众多,IPv4 资源相对紧缺,因此绝大部分情况下是通过路由器或交换机转换公网 IP 后才上网。 位于路由器或交换机后的设备通常是内网设备&…

node 中间件使用例子

NodeJS在中间件领域有着较为广泛的应用,他能做一些中间层事件,把服务端一部分的代码抽出来,减少处理冗余事情付出的代价,同时让服务真正做业务处理而不用关心页面的事情 常见的应用场景有: 跨域:解决跨域问…

C++ 实现HTTP的客户端、服务端demo和HTTP三方库介绍

本文使用C模拟实现http的客户端请求和http的服务端响应功能,并介绍几种封装HTTP协议的三方库。 1、实现简单HTTP的服务端功能 本程序使用C tcp服务端代码模拟HTTP的服务端,服务端返回给客户端的消息内容按照HTTP协议的消息响应格式进行了组装。 demo如…

15:HAL----ADC模数转化器

STM32C8T6有2个ADC,ADC1和ADC2 一:介绍 1:简历 ADC(Analog-Digital Converter)模拟-数字转换器 ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁 12位逐次逼近型ADC,1us转…

科技项目验收测试必须进行吗?软件测试公司推荐

科技项目验收测试是指在科技项目开发周期中,对项目完成后进行的一种测试和评估工作。它的目的是验证项目是否达到预期的要求,并确保项目交付给客户前达到预期的质量标准。 一、科技项目验收测试的必要性   科技项目验收测试是项目管理中不可或缺的一个…

Lua实现自定义函数面向对象编程

本文目录 1、引言2、原理3、实例4、层析验证 文章对应视频教程: 暂无,可以关注我的B站账号等待更新。 点击图片或链接访问我的B站主页~~~ 1、引言 在现代软件开发中,面向对象编程(OOP)已经成为一种广泛使用的编程范式…

k8s+pv+pvc+nas 数据持久化volumes使用

1 k8s pod申请持久化卷配置 apiVersion: v1 kind: Service metadata:name: $IMG_NAMEnamespace: rz-dtlabels:app: $IMG_NAME spec:type: NodePortports:- port: 8091nodePort: 31082 #service对外开放端口selector:app: $IMG_NAME --- apiVersion: apps/v1 kind: Deployment …

HarmonyOs修改应用名称和图标方法

最近在开发Harmony应用,发现修改app.json5下的lable:app_name和icon不生效 后来经过查找,原来还需要更改entry下的src/main/module.json5才行,具体操作路径是: 更改后生效:

线程池前置知识

并发和并行 并发是指在单核CPU上,多个线程占用不同的CPU时间片。线程在物理上还是串行执行的,但是由于每个线程占用的CPU时间片非常短(比如10ms),看起来就像是多个线程都在共同执行一样,这样的场景称作并发…

架构设计 - nginx 的核心机制与主要应用场景

一、nginx 的核心机制: 1. 事件驱动模型(epoll 多路复用) 事件循环: Nginx的核心组件是一个事件循环,它不断地监听事件(如新连接的到来、请求数据的可读性等)。 当有事件发生时,事…

『 Linux 』动态库的加载

文章目录 动静态库的区别动态库-共享库动态库的加载动态库的管理 总结 动静态库的区别 动态库(Dynamic Libraries) 链接方式 动态链接,程序在运行时(而不是在编译时)与动态库链接; 操作系统负责加载动态库文件; 文件大小 使用动态库的应用程序通常其可执行文件大小更小; 因…

missing authentication credentials for REST request

1、报错截图 2、解决办法 将elasticsearch的elasticsearch.yml的 xpack.security.enabled: true 改为 xpack.security.enabled: false

vba学习系列(5)--指定区域指定字符串计数

系列文章目录 文章目录 系列文章目录前言一、需求背景二、vba自定义函数1.引入库 总结 前言 一、需求背景 想知道所有客诉项目里面什么项目最多,出现过多少次。 二、vba自定义函数 1.引入库 引用: CountCharInRange(区域,“字符串”) Function CountCh…

光伏电站阵列式冲击波声压光伏驱鸟器

光伏电站内鸟群的聚集可不是一件好事,鸟类排泄物,因其粘度大、具有腐蚀性的特点,一旦堆积在太阳能板上,会严重影响光伏电站的发电效率。长期积累的鸟粪不仅难以清洗,还可能引发组件的热斑效应,严重时甚至可…

Bean基础配置

黑马程序员SSM 文章目录 一、Bean基础配置二、bean别名配置2.1 ban的别名配置2.2 注意事项 三、Bean作用范围配置3.1 Bean作用范围3.2 bean作用范围说明 一、Bean基础配置 二、bean别名配置 2.1 ban的别名配置 2.2 注意事项 获取bean无论是通过id还是name获取,如果…

.NET MAUI Sqlite程序应用-数据库配置(一)

项目名称:Ownership(权籍信息采集) 一、安装 NuGet 包 安装 sqlite-net-pcl 安装 SQLitePCLRawEx.bundle_green 二、创建多个表及相关字段 Models\OwnershipItem.cs using SQLite;namespace Ownership.Models {public class fa_rural_base//基础数据…