面向会计、数据分析与数据治理人员的函数级技术评估与应用研究
研究对象:灵析表格(Excel公式盒子)证件信息提取类函数共 11 个
文档依据:灵析表格官方函数文档(calcx.cn)
报告日期:2026-08-07
摘要
证件号码(以居民身份证为主)是会计核算、人力薪酬、客户管理与数据分析工作中出现频率最高的"结构化敏感字符串"之一。一段 18 位身份证号同时承载了行政区划、出生日期、性别、顺序与校验等多维信息,但传统 Excel/WPS 仅靠MID、LEN、MOD等基础函数手工拆解,存在公式冗长、易错、无法校验合法性、难以处理 15/18 位混存等突出痛点。
本报告以灵析表格(Excel公式盒子)官方文档为依据,对其"证件信息提取"类下 11 个函数进行逐个深度拆解,覆盖**信息提取类(6 个)、识别采集类(2 个)、格式转换与校验类(3 个)**三大类。报告从参数架构、技术原理、标准合规性(GB 11643-1999、个人信息保护法)、实操案例与业务价值等维度展开分析,并给出会计实务与数据分析两类典型场景的落地路径。研究表明,该函数族以"一个函数替代数十行嵌套公式"的方式,显著降低了证件信息处理的门槛与差错率,对会计、数据分析人员具有明确的提效价值。
关键词:灵析表格;身份证函数;GB 11643-1999;数据清洗;会计信息化;数据分析
一、研究背景与问题提出
1.1 证件信息处理在会计与数据分析中的普遍性
在会计实务中,员工档案建账、个税累计预扣申报、社保公积金增员、差旅与报销身份核验等环节,均需反复读取身份证号中的出生日期与性别;在数据分析领域,用户画像构建、人群年龄结构分析、生肖/星座维度的运营分群、客户实名信息核验等,同样高度依赖从证件号中稳定提取结构化字段。可以说,证件号是连接"业务台账"与"人口属性"的天然主键。
1.2 传统 Excel 处理方案的三大痛点
其一,公式冗长且脆弱。仅提取生日一项,18 位身份证需=TEXT(MID(A2,7,8),"0000-00-00"),15 位需另行补"19"前缀,混存时还需IF(LEN(A2)=18,...,IF(LEN(A2)=15,...))三层嵌套;性别、生肖、星座等更需结合MOD、CHOOSE、VLOOKUP等多函数堆叠,可读性与可维护性差。
其二,缺乏合法性校验。手工公式无法验证校验码,错误或伪造的身份证号会"安静地"通过计算并污染下游报表,造成个税申报退回、社保参保失败等连锁问题。
其三,合规风险。身份证号属于《个人信息保护法》界定的敏感个人信息,需遵循最小必要与脱敏处理原则。纯手工处理难以批量、规范地完成提取与脱敏,易留下合规隐患。
1.3 研究目的
本报告旨在系统评估灵析表格"证件信息提取"函数族(11 个函数)的技术能力与业务适配性,为会计、数据分析人员提供可落地的函数选型与组合方案,并客观呈现其在效率、准确性与合规性上的改进价值。
二、身份证号码编码体系与标准基础
函数族的全部"提取/转换/校验"逻辑均建立在国家标准之上,理解标准是评估函数正确性的前提。
2.1 GB 11643-1999《公民身份号码》
GB 11643-1999 规定了公民身份号码的编码对象、号码结构和表示形式,使每个编码对象获得唯一、不变的法定号码。18 位号码结构为:6 位地址码 + 8 位出生日期码(YYYYMMDD)+ 3 位顺序码 + 1 位校验码。其中顺序码奇数分配男性、偶数分配女性;校验码依据前 17 位按固定加权因子计算得出。
2.2 校验码算法(GB 11643-1999)
校验码计算流程为:将前 17 位数字分别乘以加权因子{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2},求和后对 11 取模,再按映射表{'1','0','X','9','8','7','6','5','4','3','2'}(对应余数 0~10)确定第 18 位校验码。该算法具备"防伪防错"能力——任意一位录入错误都会导致校验码不匹配。
2.3 15 位与 18 位的演进
旧版 15 位身份证采用 6 位地址码 + 6 位出生日期码(YYMMDD)+ 3 位顺序码,无校验码。由于 6 位出生日期码(如 891023)无法区分 1900/2000 年代,国标将其扩展为 8 位以彻底解决跨世纪歧义,并新增校验码升级为 18 位。这也是idc_15To18与idc_18To15两个互转函数存在的标准依据。
2.4 合规基线:个人信息保护法
2021 年实施的《中华人民共和国个人信息保护法》以专节形式对敏感信息作出系统规定,将生物识别、特定身份、医疗健康、金融账户、行踪轨迹及不满十四周岁未成年人信息等归类为"敏感个人信息",要求处理遵循单独同意、最小必要与严格保护原则。身份证号天然落入敏感个人信息范畴,因此函数族中的"提取"“脱敏”"校验"能力不仅是效率工具,更是合规治理的基础组件。
三、函数族总体架构与分类
灵析表格将 11 个函数按职责划分为三大类,构成"采集 → 转换/校验 → 提取"的完整链路。
| 类别 | 函数 | 函数名(中文/英文) | 版本 | 核心职责 |
|---|---|---|---|---|
| 信息提取类 | 取汇总信息 | idc_InfoSummary/sfz_信息汇总 | 🟢免费 | 一次返回性别/生日/生肖/年龄 |
| 信息提取类 | 取年龄 | idc_Age/sfz_年龄 | 🟢免费 | 计算年龄,可指定基准日 |
| 信息提取类 | 取生日 | idc_Birthday/sfz_生日 | 🟢免费 | 提取出生日期 YYYY-MM-DD |
| 信息提取类 | 取生肖 | idc_Zod/sfz_生肖 | 🟢免费 | 提取生肖 |
| 信息提取类 | 取星座 | idc_Zodiac/sfz_星座 | 🟢免费 | 提取星座,支持区域输入 |
| 信息提取类 | 取性别 | idc_Sex/sfz_性别 | 🟢免费 | 提取性别 |
| 识别采集类 | 身份证识别OCR | idc_OCR/sfz_OCR | 🔴企业 | 身份证图片 OCR 识别 |
| 识别采集类 | 提取证件号 | idc_ExtractID/sfz_提取身份证 | 🟢免费 | 从文本中正则提取 18 位号 |
| 转换校验类 | 证件号15升18位 | idc_15To18/sfz_15To18 | 🟢免费 | 15 位升 18 位并算校验码 |
| 转换校验类 | 证件号18转15位 | idc_18To15/sfz_18To15 | 🟢免费 | 18 位降 15 位(限 2000 年前) |
| 转换校验类 | 证件号校验 | idc_Check/sfz_校验身份证 | 🟢免费 | 18 位合法性五重校验 |
说明:11 个函数中 10 个为免费版,仅
idc_OCR(身份证图片识别)属企业版;其余提取/转换/校验能力对会计与数据分析人员完全免费开放。除idc_Check兼容至 WPS 2016+/Excel 2013+ 外,其余函数在 WPS 2019+/Excel 365 测试通过。
四、信息提取类函数深度分析
4.1 idc_InfoSummary(取汇总信息)
函数签名:idc_InfoSummary(idCard, [refDate])| 中文别名sfz_信息汇总
功能定位:从身份证号一次性提取性别、生日、生肖、年龄四项信息,支持 15/18 位,可指定基准日期计算年龄。
参数规范:
| 参数 | 类型 | 必填 | 示例 | 说明 |
|---|---|---|---|---|
idCard | String | 是 | "11010519491231002X" | 15 或 18 位身份证号 |
refDate | DateTime? | 否 | DATE(2020,1,1) | 年龄基准日,默认当天 |
技术原理深度解析:
- 预处理:自动清除身份证中的空格、横线、点号等非数字字符,规避录入格式不一致问题——这是手工
MID公式最常见的出错源头。 - 生日提取:18 位取第 7~14 位(
yyyyMMdd),15 位取第 7~12 位并自动补"19"前缀。 - 性别判定:取倒数第二位,奇数为男、偶数为女。
- 生肖计算:
(出生年 - 4) % 12映射固定顺序"鼠、牛、虎、兔、龙、蛇、马、羊、猴、鸡、狗、猪"。 - 年龄计算:基准年减出生年,若当年生日尚未到达则再减 1(即"周岁"口径)。
- 返回形态:以二维数组返回四项,是函数族中唯一"一次调用、多维产出"的聚合函数。
实操案例:
=idc_InfoSummary("11010519491231002X") → 性别:男 生日:1949-12-31 生肖:牛 年龄:75 =idc_InfoSummary("11010519491231002X", DATE(2020,1,1)) → 年龄按 2020-01-01 计为 70业务价值:对会计而言,员工花名册"一键补全"性别/生日/年龄,无需再写四组嵌套公式;对数据分析师而言,单函数即得四维特征,直接用于人群结构统计。refDate参数尤其实用——历史数据回溯分析时,可统一以"报告期末"为基准日计算口径一致的年龄。
注意事项:异常场景下会以性别字段承载错误信息(如"身份证号为空"“身份证号长度不正确”“生日信息无效”),批量处理时建议配合IFERROR或下游idc_Check预校验。
4.2 idc_Age(取年龄)
函数签名:idc_Age(idCard, [refDate])| 中文别名sfz_年龄
功能定位:根据身份证号计算年龄(周岁),支持自定义基准日,默认当天。
参数规范:
| 参数 | 类型 | 必填 | 示例 | 说明 |
|---|---|---|---|---|
idCard | String | 是 | "11010519491231002X" | 15 或 18 位 |
refDate | DateTime? | 否 | DATE(2030,1,1) | 默认今天 |
技术原理深度解析:
- 内部依赖
sfz_生日提取出生日期,确保生日有效后再计算年龄,形成"先校验、后计算"的稳健链路。 - 年龄 = 基准年份 − 出生年份;若基准日尚未到达当年生日,则年龄减 1。这与我国法定"周岁"定义一致,避免"虚岁/周岁"口径混淆。
- 异常分层返回:空号→
身份证号为空;长度错→身份证号长度不正确/生日信息无效;解析异常→错误: 错误信息。
实操案例:
=idc_Age("11010519491231002X") → 75(以今日为基准) =idc_Age("11010519491231002X", DATE(2030,1,1)) → 79业务价值:会计在个税专项附加扣除"赡养老人"判断、社保退休年龄测算、未成年人员工识别等场景,需要精确到日的周岁;数据分析师在做年龄分箱(18-25/26-35 等)时,统一基准日可消除"跨日采样口径不一"造成的统计偏差。可结合条件格式=idc_Age(A1)>=18快速标记成年/未成年。
4.3 idc_Birthday(取生日)
函数签名:idc_Birthday(idCard)| 中文别名sfz_生日
功能定位:从身份证号提取出生日期,输出标准YYYY-MM-DD格式。
参数规范:
| 参数 | 类型 | 必填 | 示例 | 说明 |
|---|---|---|---|---|
idCard | String | 是 | "11010519491231002X" | 15 或 18 位 |
技术原理深度解析:
- 清洗空格/横线/点号后,18 位取第 7~14 位(
yyyyMMdd),15 位取第 7~12 位(yyMMdd)并补"19"前缀。 - 采用严格日期格式解析校验:不仅取字符,更验证其确为合法日期(如月份 13、日期 31 与月份不匹配等会被判为
生日信息无效)。这一点优于手工MID——后者只截取字符、不校验合理性,会把19991331这类非法日期原样输出。 - 该函数是年龄、生肖、汇总等函数的"底层依赖",生日有效性直接决定上游计算正确性。
实操案例:
=idc_Birthday("11010519491231002X") → 1949-12-31 =idc_Birthday("11010519991331002X") → 生日信息无效(13月31日非法)业务价值:会计可据此批量生成员工生日台账,驱动生日福利/关怀自动化;数据分析中可直接作为时间维度参与 cohort(同期群)分析。严格校验特性使其天然胜任数据清洗的"脏数据拦截"。
4.4 idc_Zod(取生肖)
函数签名:idc_Zod(idCard)| 中文别名sfz_生肖
功能定位:从身份证号提取出生年份对应的生肖。
参数规范:
| 参数 | 类型 | 必填 | 示例 | 说明 |
|---|---|---|---|---|
idCard | String | 是 | "11010519491231002X" | 15 或 18 位 |
技术原理深度解析:
- 内部调用
sfz_生日取出生日期,再以(出生年 - 4) % 12计算生肖索引。 - 生肖顺序固定为"鼠、牛、虎、兔、龙、蛇、马、羊、猴、鸡、狗、猪"。以 1949 年为例:
(1949-4)%12=1→ 索引 1 → 牛,与示例输出一致。 - 该算法本质是公历年份与 12 生肖周期的同余映射,对于 1900 年后的公历出生年份均成立。
实操案例:
=idc_Zod("11010519491231002X") → 牛业务价值:生肖维度在会员营销、节日运营(本命年关怀、生肖主题活动)中是常用分群标签。传统做法需先提取年份再CHOOSE(MOD(...)),本函数一步到位。
4.5 idc_Zodiac(取星座)
函数签名:idc_Zodiac(身份证号)| 中文别名sfz_星座
功能定位:根据出生日期(月-日)计算对应的西方星座。
参数规范:
| 参数 | 类型 | 必填 | 示例 | 说明 |
|---|---|---|---|---|
身份证号 | String / Range | 是 | "110101199003151234" | 18 或 15 位,支持区域输入 |
技术原理深度解析:
- 按"月-日"边界划分 12 星座,划分规则为标准西方占星日期范围(如双鱼 2/19-3/20、白羊 3/21-4/19 等)。
- 区别于其他提取函数的单值返回,本函数支持区域输入(如
A1:A10),并返回二维数组,适配批量场景。 - 异常处理与其他提取函数一致:空号/长度错/生日无效分别返回对应提示。
星座划分规则:
| 星座 | 日期范围 | 星座 | 日期范围 |
|---|---|---|---|
| 白羊座 | 3.21 - 4.19 | 天秤座 | 9.23 - 10.22 |
| 金牛座 | 4.20 - 5.20 | 天蝎座 | 10.23 - 11.21 |
| 双子座 | 5.21 - 6.20 | 射手座 | 11.22 - 12.21 |
| 巨蟹座 | 6.21 - 7.22 | 摩羯座 | 12.22 - 1.19 |
| 狮子座 | 7.23 - 8.22 | 水瓶座 | 1.20 - 2.18 |
| 处女座 | 8.23 - 9.22 | 双鱼座 | 2.19 - 3.20 |
实操案例:
=sfz_星座("110101199003151234") → 双鱼座 =sfz_星座(A1:A10) → 批量返回区域中各身份证对应星座业务价值:星座是消费行业(美妆、电商、内容)高频使用的轻量画像标签,区域输入特性使其在十万级用户表上一次填充即可完成分群,显著优于逐行公式。
4.6 idc_Sex(取性别)
函数签名:idc_Sex(idCard)| 中文别名sfz_性别
功能定位:从身份证号提取性别,支持 15/18 位。
参数规范:
| 参数 | 类型 | 必填 | 示例 | 说明 |
|---|---|---|---|---|
idCard | String | 是 | "11010519491231002X" | 15 或 18 位 |
技术原理深度解析:
- 清洗后,15 位取倒数第二位、18 位同样取倒数第二位(第 17 位)判断奇偶——两种位数规则在此统一,调用方无需区分。
- 奇数=男、偶数=女,依据 GB 11643-1999 顺序码分配规则。
- 相比手工
IF(MOD(MID(A2,17,1),2)=1,"男","女"),本函数自动兼容 15/18 位,且带异常提示。
实操案例:
=idc_Sex("11010519491231002X") → 男 =idc_Sex(A2) → 批量识别业务价值:会计在社保性别申报、个税人员信息维护、工资条性别统计中频繁使用;数据分析用于性别结构占比分析。函数对 15/18 位的统一兼容,解决了历史档案新旧号混存的现实问题。
五、识别采集类函数深度分析
5.1 idc_OCR(身份证识别OCR)
函数签名:idc_OCR(imgPath, [displayMode])| 中文别名sfz_OCR| 版本:🔴企业版
功能定位:对身份证图片进行 OCR 识别,提取姓名、性别、民族、出生日期、住址、身份证号等字段,支持三种显示模式。
参数规范:
| 参数 | 类型 | 必填 | 示例 | 说明 |
|---|---|---|---|---|
imgPath | String | 是 | "C:\images\idcard.jpg" | 身份证图片完整本地路径 |
displayMode | Int | 否 | 1 | 1=横向(默认)/ 2=纵向 / 3=原始 JSON |
技术原理深度解析:
- 依赖底层 OCR 引擎,由
GetRawOCRResult完成图片识别并返回 JSON,再经FormatAsHorizontalTable/FormatAsVerticalTable转换为表格形态。这一"识别 + 结构化"两段式设计,使函数既能输出可直接落表的结构化数据,也能透出原始 JSON 供二次加工。 - 三种模式适配不同场景:模式 1 横向一行多列,适合横排录入花名册;模式 2 纵向多行(字段-值对照),适合单证核对;模式 3 原始 JSON,适合与
json_*函数族链式处理(如抽取指定字段)。 - 异常处理:空路径→
文件路径不能为空;文件不存在→文件不存在;其他→处理错误: 错误信息。
实操案例:
=idc_OCR("C:\images\idcard.jpg") → 姓名 性别 民族 出生日期 住址 身份证号(横向) =idc_OCR("C:\images\idcard.jpg", 2) → 字段-值纵向对照表 =idc_OCR("C:\images\idcard.jpg", 3) → {"name":"张三","sex":"男",...} 原始 JSON业务价值:这是函数族中唯一"从图片到结构化数据"的入口,打通了纸质/扫描件身份证进入 Excel 的最后一公里。会计在新员工入职材料归档、报销人身份核验中可批量识别;模式 3 输出 JSON 后可无缝衔接灵析表格的 JSON 函数族,实现"OCR → 提字段 → 校验 → 入库"全链路自动化。
注意事项:仅支持本地图片路径,需确保路径正确且文件可访问;属企业版功能。
5.2 idc_ExtractID(提取证件号)
函数签名:idc_ExtractID(input, [horizontalOutput])| 中文别名sfz_提取身份证
功能定位:从任意文本中正则提取符合中国大陆 18 位身份证格式的所有号码,支持横/纵向输出。
参数规范:
| 参数 | 类型 | 必填 | 示例 | 说明 |
|---|---|---|---|---|
input | String | 是 | "张三身份证号是110105199003071234" | 含身份证号的任意文本 |
horizontalOutput | Boolean | 否 | TRUE | 默认横向;FALSE纵向 |
技术原理深度解析:
- 采用正则表达式匹配 18 位身份证号,格式为:6 位地址码 + 4 位年份(不以 0 开头)+ 2 位月份 + 2 位日期 + 3 位顺序码 + 1 位校验码(数字或 X/x)。正则在年份、月份、日期段均设合法范围约束(如月份
0[1-9]|1[0-2]、日期[0-2][1-9]|3[0-1]),具备一定的格式级过滤能力。 - 内部调用通用正则提取函数
wb_正则提取完成匹配与格式化,复用平台正则引擎。 - 输出方向可控:横向一行多列便于横向铺开,纵向一列多行便于与原始文本逐行对照。
- 无匹配时返回空数组/空单元格,不报错,适合嵌入批量清洗流程。
实操案例:
=idc_ExtractID("张三身份证号是110105199003071234") → | 110105199003071234 |(横向) =idc_ExtractID("身份证A:110105199003071234;身份证B:320311198812120019", FALSE) → 纵向两行:110105199003071234 / 320311198812120019业务价值:会计常遇到从合同、邮件正文、备注字段中"捞"身份证号的需求;数据分析师需从非结构化日志中抽取证件号做去重与核验。本函数把"文本挖掘"降维成一次函数调用。建议与idc_Check组合:先提取、再校验,形成"采集—校验"闭环。
注意事项:正则只做格式匹配,不验证校验码与行政区划真实性,故务必联动idc_Check做合法性二次确认。
六、格式转换与校验类函数深度分析
6.1 idc_15To18(证件号15升18位)
函数签名:idc_15To18(idCard15)| 中文别名sfz_15To18
功能定位:将 15 位旧版身份证号转换为 18 位标准格式,自动补全年份并按国标计算校验码。
参数规范:
| 参数 | 类型 | 必填 | 示例 | 说明 |
|---|---|---|---|---|
idCard15 | String | 是 | "130503670401001" | 15 位身份证号 |
技术原理深度解析:
- 在第 7~8 位之间插入"19"补全出生年份(旧 15 位默认 19xx 年生),得到 17 位本体码。
- 依 GB 11643-1999 计算校验码:17 位分别乘以加权因子
{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2}求和,和对 11 取模,按映射表{'1','0','X','9','8','7','6','5','4','3','2'}取末位。 - 示例验证:
130503670401001→ 插入"19" →13050319670401001(17 位)→ 校验码 9 →130503196704010019,与文档输出一致。 - 异常:非 15 位输入返回
输入必须是15位身份证号码。
实操案例:
=idc_15To18("130503670401001") → 130503196704010019业务价值:历史人事/财务档案中大量存在 15 位旧号,升级为新系统要求的 18 位是数据迁移的必修课。本函数按国标精确重算校验码,避免了"仅补 19 不算校验码"的常见错误,是档案数字化的关键工具。
6.2 idc_18To15(证件号18转15位)
函数签名:idc_18To15(idCard18)| 中文别名sfz_18To15
功能定位:将 18 位身份证号转换为 15 位旧格式,移除年份中的"19"并剔除校验码。
参数规范:
| 参数 | 类型 | 必填 | 示例 | 说明 |
|---|---|---|---|---|
idCard18 | String | 是 | "130503196704010019" | 18 位身份证号 |
技术原理深度解析:
- 仅支持第 7~8 位为"19"(即 1900-1999 年出生)的身份证转换——因为 15 位旧格式无法表达 2000 年及以后出生者,强行转换会造成年份歧义。
- 操作为"去 19 + 去校验码":去除第 7~8 位的"19",并剔除末位校验码,保留前 15 位。
- 异常分层:非 18 位→
输入必须是18位身份证号码;非"19"开头年份→仅支持2000年前出生的身份证转换。
实操案例:
=idc_18To15("130503196704010019") → 130503670401001 =idc_18To15("130503200001010019") → 仅支持2000年前出生的身份证转换业务价值:用于向仍只接受 15 位的旧系统/旧接口回写数据时的格式兼容。与idc_15To18配对,可实现新旧格式双向互转与数据清洗。函数对"2000 年界限"的主动拦截,体现了对国标语义的正确理解,避免产生历史数据污染。
6.3 idc_Check(证件号校验)
函数签名:idc_Check(idCard)| 中文别名sfz_校验身份证
功能定位:对 18 位二代身份证号进行合法性校验,返回"合法/不合法"。
参数规范:
| 参数 | 类型 | 必填 | 示例 | 说明 |
|---|---|---|---|---|
idCard | String | 是 | "11010519900307283X" | 需严格 18 位 |
技术原理深度解析(五重校验):
- 长度校验:必须 18 位。
- 格式校验:前 17 位为数字,末位为数字或 X/x。
- 行政区划校验:前 6 位须为有效行政区代码。
- 出生日期校验:第 7~14 位须为有效日期。
- 校验码校验:按 GB 11643-1999 算法重算并比对末位。
这是函数族中校验最严格的一个,将"格式合法性"提升到"语义合法性"层面。空文本与非文本参数统一返回"不合法",无异常抛出,便于嵌入条件公式。
实操案例:
=idc_Check("11010519900307283X") → 合法 =idc_Check("123456789012345678") → 不合法 =IF(idc_Check(A2)="合法","√","×") → 批量标记 =IF(idc_Check(B5)="合法",TEXT(MID(B5,7,8),"0000-00-00"),"无效") → 校验通过才取生日业务价值:会计在个税申报、社保参保前对身份证号做批量预校验,可提前拦截录入错误,避免申报退回;数据分析师在数据清洗阶段以idc_Check作为质量门禁,确保下游统计基于合法数据。建议将idc_Check作为整个证件处理流程的"前置门禁"——先校验、再提取,可杜绝非法号污染所有下游字段。
注意事项:行政区划校验需自行维护代码表(地址码会随行政区划调整而变化);兼容性下探至 WPS 2016+/Excel 2013+,是函数族中对老版本支持最好的一个。
七、典型业务应用场景
7.1 会计实务:员工档案与个税申报自动化
场景:新员工入职,HR 递交一批身份证扫描件与花名册,会计需建立可申报的员工信息台账。
落地路径:
- 采集:
idc_OCR(图片路径, 3)识别扫描件得 JSON,再用 JSON 函数族抽取出身份证号文本。 - 提取:
idc_ExtractID从含噪文本中正则提取标准 18 位号。 - 校验:
idc_Check批量预校验合法性,标记"√/×",不合法者退回核实。 - 补全:
idc_InfoSummary一次性补全性别/生日/生肖/年龄;idc_Age(号, 报告期末)计算统一口径年龄用于个税专项扣除判断。 - 归一:历史档案中混存的 15 位号用
idc_15To18统一升级。
相比手工公式,该链路将"识别—校验—补全—归一"压缩为五个函数调用,且每步均有异常拦截,个税申报退回率显著降低。
7.2 数据分析:用户画像与人群结构分析
场景:电商/会员运营团队需对十万级实名会员做画像分群,支撑生肖主题营销与年龄分层投放。
落地路径:
- 以
idc_Check做数据门禁,仅保留合法号进入画像层。 idc_Age统一以"活动启动日"为基准日计算年龄,做 18-25/26-35/36-45 等分箱。idc_Zodiac(A1:A10)区域输入批量得星座;idc_Zod批量得生肖,作为营销标签。idc_Sex得性别,做性别结构占比。- 生肖/星座/年龄/性别四维交叉透视,输出分群报表。
区域输入与批量返回特性,使十万级数据的画像构建无需逐行写公式,效率与一致性同步提升。
7.3 数据治理:清洗、归一与合规脱敏
场景:数据中台需对存量证件字段做质量治理与合规处理。
落地路径:
- 清洗:
idc_ExtractID从备注/混合文本中捞取号;idc_Check标记非法号待人工复核。 - 归一:
idc_15To18将旧号统一升级为 18 位,消除历史格式差异。 - 脱敏前置:身份证号属敏感个人信息,处理须遵循最小必要原则。先用
idc_Check/idc_ExtractID等完成结构化,再按脱敏规则仅保留必要字段(如生日、性别),原始完整号按合规要求存储与访问控制。 - 可追溯:
idc_InfoSummary输出二维结构,便于审计回溯"由号派生字段"的完整链路。
八、与传统方案对比评估
| 维度 | 传统手工公式(MID/LEN/MOD 等) | 灵析表格证件函数族 |
|---|---|---|
| 生日提取 | 需区分 15/18 位三层 IF 嵌套 | idc_Birthday一个函数,自动兼容 |
| 性别提取 | IF(MOD(MID(...),2)=1,"男","女") | idc_Sex自动兼容 15/18 位 |
| 合法性校验 | 无法实现校验码验证 | idc_Check五重校验 |
| 15/18 位互转 | 无法实现 | idc_15To18/idc_18To15按国标互转 |
| 图片识别 | 完全无法 | idc_OCR三种模式 |
| 文本提取号 | 需自写复杂正则/不可用 | idc_ExtractID一键提取 |
| 生肖/星座 | 需 CHOOSE+MOD/查找表 | idc_Zod/idc_Zodiac直出 |
| 聚合输出 | 需多列多公式 | idc_InfoSummary一次四维 |
| 异常处理 | 公式报错或静默出错 | 统一中文错误提示 |
| 学习成本 | 高(需懂国标与嵌套) | 低(函数语义化) |
综合来看,函数族在"能力完备性"(补齐校验、互转、OCR、文本提取四类传统空白)、“准确性与合规性”(严格遵循 GB 11643-1999 与个保法口径)、“易用性”(语义化函数名 + 中文别名)三方面对传统方案形成代际优势。
九、综合评估与推广价值
9.1 技术评估结论
灵析表格证件信息提取函数族(11 个)以国家标准 GB 11643-1999 为算法基线,覆盖了从"图片识别 → 文本提取 → 合法性校验 → 格式互转 → 多维信息提取"的证件数据处理全链路。10 个函数免费开放,对会计与数据分析人员的核心诉求(提取、校验、归一)零门槛可用。函数间的依赖关系(如idc_Age/idc_Zod依赖idc_Birthday)与组合能力(如idc_ExtractID+idc_Check+idc_InfoSummary)体现了良好的工程化设计。
9.2 面向会计与数据分析人员的推广价值
- 对会计:把员工档案、个税申报、社保参保中"反复拆身份证"的高频低效劳动,压缩为语义化函数调用,配合
idc_Check前置校验可直接降低申报退回率,提升合规水平。 - 对数据分析师:区域输入与批量返回(
idc_Zodiac、idc_InfoSummary)适配大表画像构建,统一基准日的年龄计算消除统计口径偏差,生肖/星座标签即取即用。 - 对数据治理:
idc_Check作为质量门禁、idc_15To18作为归一工具、idc_ExtractID作为非结构化采集器,三者构成敏感数据治理的基础工具箱。
9.3 使用建议
- 校验先行:任何提取操作前先用
idc_Check过滤非法号,避免脏数据污染下游。 - 基准日统一:批量年龄计算统一指定
refDate,确保口径一致。 - 聚合优先:需多维信息时优先用
idc_InfoSummary,减少函数调用次数。 - 组合成链:复杂场景按"OCR/提取 → 校验 → 提取/转换"顺序组合,形成自动化流水线。
- 合规脱敏:身份证号属敏感个人信息,结构化处理完成后按最小必要原则脱敏与访问控制。
参考文献
- GB 11643-1999《公民身份号码》国家标准。该标准规定了公民身份号码的编码对象、号码结构和表示形式,是本函数族校验码与 15/18 位互转的算法依据。
- 《中华人民共和国个人信息保护法》(2021 年实施)。该法以专节形式对敏感个人信息作出系统规定,将特定身份、医疗健康、金融账户等归类为敏感个人信息,构成证件数据处理的合规基线。
- 灵析表格(Excel公式盒子)官方函数文档,calcx.cn。本报告全部函数的参数规范、技术说明与案例均依据该官方文档。
- GB 11643-1999 校验码算法实现资料(加权因子 {7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2}、对 11 取模映射表 {‘1’,‘0’,‘X’,‘9’,‘8’,‘7’,‘6’,‘5’,‘4’,‘3’,‘2’})。
本报告基于灵析表格官方函数文档编写,所有函数签名、参数与技术说明均与官方文档一致。函数的实际可用性以安装环境(WPS 2019+/Excel 365,
idc_Check兼容至 WPS 2016+/Excel 2013+)为准。