工作流提取身份证信息,让信息录入事半功倍

工作中小伙伴们可能会遇到需要从身份证号中来提取出生日期,性别等情况,例如下面这样的场景:

1.企业员工入职时,需要记录员工的姓名、身份证号码、出生日期、性别等。

2.会员信息记录时,需要记录客户的姓名、身份证号码、出生日期、性别等。

本期就为大家介绍如何巧妙运用工作流——从身份证号码中提取出生日期和性别,顺便还可以提取年龄。

第一步:创建表格

设置姓名(文本字段)、身份证号(号码字段)、出生日期(日期字段)、年龄(号码字段)、性别(选项字段),如下图:

第二步:创建触发器

先给触发器命名,方便后期的维护和调整。通常情况下,我们是在员工入职的时候的时候创建数据,但考虑到如果录入错误时可以进行修改,所以触发方式我们选择“创建数据”和“修改数据”,如下图:

第三步:配置条件

这里因为不需要其他的附加条件。所以这里直接留空,点击下一步,如下图:

第四步:选择要执行的后续操作

由于数据在创建后,会启用触发器去修改本条数据的出生日期、年龄和性别字段。所以选择修改已有数据,如下图:

第五步:编写函数赋值

因为我们要去员工表里的修改信息,所以目标表格选择员工表,在“修改哪些数据”里选择当前数据,要修改的字段选择出生日期、年龄和性别,如下图:

我把工作流的函数附在这里:

1)出生日期字段函数:MID({当前数据.身份证号}, 6, 8)

MID函数:

用法:MID(文本, 指定位置, 截取字符数)

作用:从文本指定位置之后开始,返回指定字符数的文字。

例子:MID('伙伴云', 2, 1) =云。

理解了上面的函数,我们来顺理一下思路:

MID函数是从指定的文本位置之后,返回指定字符数的文字,因为出生日期是身份证号的第7~14位,所以我们指定位置选择6,截取字符数填写8。

2)年龄字段的函数:DATEDIF(MID({当前数据.身份证号}, 6, 8), TODAY(), 'Y')。

大家对这个函数是不是不好理解,这里给大家逐一解析一下:

DATEDIF函数:

用法:DATEDIF(日期1, 日期2, ['单位'])

作用:根据指定的单位,返回日期2减去日期1的差值。当日期2小于日期1时,差值为负值。单位默认为日,可选单位:年Y、月M、日D、时H、分I、秒S。

例子:DATEDIF('2016-12-21', '2016-12-24') =3。

TODAY函数:

用法:TODAY()

作用:提取当天日期。

理解了上面的函数,我们来梳理一下思路:

DATEDIF函数返回的是日期2与日期1之间的差值,我们先用MID函数获取身份证号码中的出生日期信息,用TODAY函数获取当天日期,单位选用年 'Y'。

3)性别字段的函数:IF(MOD(VALUE(MID({当前数据.身份证号}, 16, 1)), 2) = 1, {C:员工表.性别.男}, {C:员工表.性别.女})。

大家对这个函数是不是不好理解,这里给大家逐一解析一下:

IF函数:

用法:IF(条件, 表达式1, 表达式2)

作用:如果条件为真,则执行表达式1,为假则执行表达式2。

MOD函数:

用法:MOD(数值, 除数)

作用:用数值除以除数后,返回整除后的余数。

例子:MOD(10, 3) =1

VLAUE函数:

用法:VALUE(文本)

作用:将文本转为数字。

例子:VALUE('23元') =23

理解了上面的函数,我们来梳理一下思路:

实际上身份证号码的第17位,奇数为男,偶数为女,所以我们利用MID函数,获取身份证号码的第17位,因为MID函数截取的是文本,所以我们通过VALUE函数,将MID函数截取的结果,转化为数值。然后我们利用MOD函数取余,通过判断余数是否为1,就可以判断它的奇偶性。最后我们用IF函数进行判断,如果余数为奇数,则为男,偶数则为女。

第六步:创建数据,检验触发器结果

通过上面的讲解,我们在运用工作流当中用到了MID函数、DATEDIF函数、MOD函数、VALUE函数、IF函数,从身份证号码自动提取出生日期、性别和年龄。

2023-07-24 更新
1118 次查看
1