分享

Excel在学校中的应用37-提取教师个人信息

 甘苦人生2010 2013-01-12

        5.5 提取教师个人信息

案例背景
    2.3节中曾涉及到组织天津市中小学教师信息技术考核的问题,当时各区县报上来的汇总表的信息也不尽相同,但是都有参加考试的教师姓名和身份证号这两项信息,我们就根据教师的身份证号码,提取出该教师的出生年月日,性别和原户籍所在地,由此统计出全市参加中小学教师信息技术考核的整体情况。
    如何从身份证号码提取出生年月日、性别和户籍所在区呢?我国的公民身份证号码是按照《公民身份证号码》国家标准编制的,身份证号码由18位数字组成:前6位为行政区划分代码,第7位至14位为出生日期码,第15位至17位为顺序码,第18位为校验码。其中,男性的顺序码设为奇数,女性顺序码设为偶数。根据这些规则使用Excel函数设计公式就可以实现从身份证号码中提取上述信息了。鉴于可视界面区域的限制,我们选择部分参加天津市中小学教师信息技术考核的教师信息作为本案例样本原始信息。
关键技术点
    要实现本案例中的功能,学员应该掌握以下EXCEL技术点。
    ●基础知识
    ●函数应用 IF函数,MOD函数,MID函数,LEFT函数, VLOOKUP函数
    ●函数应用 ISODD函数,ISEVEN函数,DATE函数
最终效果展示

5.5.1创建教师个人信息表
Step1新建工作簿,重命名工作表
单击文件保持,将工作簿命名为教师个人信息.xls”。将“Sheet1”工作表重命名为信息表,将“Sheet2”工作表重命名为对照表

Step2输入教师个人原始信息
单击信息表工作表标签,在单元格区域A1G1,输入字段名称:序号姓名身份证号码性别出生年月日/直辖市/自治区/

在单元格区域B2:C27输入教师姓名和身份证号码,在单元格A1输入1”,单元格A2输入2”,选中单元格区域:A1A2,双击单元格A2右下角的填充柄即可完成A3A27单元格区域的自然数字的填充。

Step 3用不同的嵌套函数提取性别
选中单元格D2,在编辑栏输入以下公式,然后按键确认得到第1名教师的性别
=IF(MOD(MID(C2,17,1),2)=1,"","")

选中单元格D2,向下拖曳其右下角的填充柄至单元格D11,松开鼠标完成第2至第10个教师的性别提取。

选中单元格D12,在编辑栏输入以下公式,然后按键确认得到第11名教师的性别
=IF(ISODD(MID(C12,17,1)),"","")

选中单元格D12,向下拖曳其右下角的填充柄至单元格D21,松开鼠标完成第12至第20个教师的性别提取。

选中单元格D22,在编辑栏输入以下公式,然后按键确认得到第21名教师的性别
=IF(ISEVEN(MID(C22,17,1)),"","")

选中单元格D22,向下拖曳其右下角的填充柄至单元格D27,松开鼠标完成剩余教师的性别提取。

Step 4提取出生年月日
选中单元格E2,在编辑栏输入以下公式,然后按键确认即可得到第1名教师的出生年月日
=DATE(MID(C2,7,4),MID(C2,11,2),MID(C2,13,2))

双击单元格E2右下角的填充柄即可完成其余教师的出生年月日的提取工作。

Step 4建立全国省份地区代码索引对照表
切换到对照表工作表,在单元格区域A1:A4输入:身份证前两位/直辖市/自治区身份证前六位/
A2:D2308输入全国省份地区代码索引对照表,如图12所示

Step5提取教师原户籍所在/直辖市/自治区
切换到信息表工作表,选中单元格F2,在编辑栏输入以下公式,然后按键确认即可得到第1个教师的原户籍所在/直辖市/自治区
=VLOOKUP(LEFT(C2,2), 对照表!$A$2:$B$35,2,0)

双击单元格F2右下角的填充柄即可完成其余教师的原户籍所在/直辖市/自治区的提取工作。

Step6提取教师原户籍所在/
选中单元格G2,在编辑栏输入以下公式,然后按键确认即可得到第1个教师的原户籍所在/
= VLOOKUP(LEFT(C2,6),对照表!$C$2:$D$10000,2,0)

双击单元格G2右下角的填充柄即可完成其余教师的原户籍所在/的提取工作。

5.5.2美化修饰教师个人信息表
为表格设置边框,为字段名区域,教师原始信息区域和提取信息区域,分别设置不同颜色的底纹,以示区别。

至此教师个人信息提取工作全部完成。

关键知识点讲解:
1. ISODD函数
函数名称:ISODD
主要功能:如果参数 number 为奇数,返回 TRUE,否则返回 FALSE
    如果该函数不可用,并且返回错误值 #NAME?,请安装并加载分析工具库加载宏。
    操作方法
    1.工具菜单上,单击加载宏
    2.可用加载宏列表中,选中分析工具库框,再单击确定
    3.如果必要,请遵循安装程序中的指示。
使用格式:ISODD(number)
参数说明:
Number 待测试的数值。如果参数值不是整数,则截尾取整。
函数说明
如果参数 number 不是数值型,函数 ISODD 返回错误值 #VALUE!
应用示例

2. ISEVEN函数
函数名称:ISEVEN
主要功能:如果参数 number 为偶数,返回 TRUE,否则返回 FALSE
    如果该函数不可用,并返回错误值 #NAME?,请安装并加载分析工具库加载宏。
    操作方法
    1.工具菜单上,单击加载宏
    2.可用加载宏列表中,选中分析工具库框,再单击确定
    3.如果必要,请遵循安装程序中的指示。
使用格式:ISEVEN(number)
参数说明:
Number    待测试的数值。如果参数值不是整数,则截尾取整。
函数说明
如果参数 number 为非数值型,函数 ISEVEN 返回错误值 #VALUE!
应用示例

3.DATE函数
函数名称:DATE
主要功能:返回代表特定日期的序列号。如果在输入函数前,单元格格式为常规,则结果将设为日期格式。
使用格式:DATE(year,month,day)
参数说明:
Year    参数 year 可以为一到四位数字。Microsoft Excel 将根据所使用的日期系统来解释 year 参数。默认情况下,Microsoft Excel for Windows 将使用 1900 日期系统,而 Microsoft Excel for Macintosh 将使用 1904 日期系统。
    对于 1900 年日期系统
    ●如果 year 位于 0(零)到 1899(包含)之间,则 Excel 会将该值加上 1900,再计算年份。例如:DATE(108,1,2) 将返回 2008 年 1 2 (1900+108)
    ●如果 year 位于 1900 9999(包含)之间,则 Excel 将使用该数值作为年份。例如:DATE(2008,1,2) 将返回 2008 年 1 2 日。
    ●如果 year 小于 0 或大于等于 10000,则 Excel 将返回错误值 #NUM!
    对于 1904 年日期系统
    ●如果 year 位于 4 1899(含)之间,则 Excel 会将该值加上 1900,再计算年份。例如:DATE(108,1,2) 将返回 2008 年 1 2 (1900+108)
    ●如果 year 位于 1904 9999(含)之间,则 Excel 将使用该数值作为年份。例如:DATE(2008,1,2) 将返回 2008 年 1 2 日。
    ●如果 year 小于 4 或大于等于 10000,或者位于 1900 1903(含)之间,则 Excel 将返回错误值 #NUM!
    Month    代表每年中月份的数字。如果所输入的月份大于 12,将从指定年份的一月份开始往上加算。例如:DATE(2008,14,2) 返回代表 2009 年 2 2 日的序列号。
    Day    代表在该月份中第几天的数字。如果 day 大于该月份的最大天数,则将从指定月份的第一天开始往上累加。例如,DATE(2008,1,35) 返回代表 2008 年 2 4 日的序列号。
函数说明
    ●Microsoft Excel 可将日期存储为可用于计算的序列号。默认情况下,1900 1 1 日的序列号是 1 2008 年 1 1 日的序列号是 39448,这是因为它距 1900 年 1 1 日有 39448 天。Microsoft Excel for the Macintosh 使用另外一个默认日期系统。
    ●函数 DATE 在年、月、日为变量的公式中非常有用。
应用示例

注释    若要将数字转换为日期形式,请选中单元格,在格式菜单上单击单元格,再单击数字选项卡,然后单击分类框中的日期,在单击分类框中的任意一种您想要的日期形式即可将数字转换为日期形式。
案例公式解析:
    Step 3
的单元格D2中的公式为     “
=IF(MOD(MID(C2,17,1),2)=1,"","")
    
其中MID(C2,17,1)=2,公式可化简为     “=IF(MOD(2,2)=1,"","")
    MOD(2,2)=1
返回FALSE所以公式继续化简为     “=IF(FALSE,"","")
    
最后单元格D2中的公式返回
    Step 3
的单元格D12中的公式为     “
=IF(ISODD(MID(C12,17,1)),"","")
    
其中MID(C12,17,1)=2,公式可化简为    =IF(ISODD(2),"","")
    
公式可化简为    =IF(ISODD(2),"","")
    
因为2不是奇数,所以ISODD(2)返回FALSE,公式继续化简为    =IF(FALSE,"","")
    
最后单元格D12中的公式返回
    Step 3
的单元格D22中的公式为     “
=IF(ISEVEN(MID(C22,17,1)),"","")
    
其中MID(C12,17,1)=6,公式可化简为     “=IF(ISEVEN(6),"","")”
    
因为6是偶数,ISEVEN(6) 返回TRUE,公式继续化简为     “=IF(TRUE,"","")
    
最后单元格D22中的公式返回
    Step 4
的单元格E2中的公式为     “
=DATE(MID(C2,7,4),MID(C2,11,2),MID(C2,13,2))
    
因为MID(C2,7,4)=1980MID(C2,11,2)=09,MID(C2,13,2)=19
    
公式可化简为     “
=DATE(1980,09,19)
    
最后单元格E2中的公式返回第一个教师的出生年月日:1980-9-19
    Step 5
的单元格F2中的公式为
     “
= VLOOKUP(LEFT(C2,2),对照表!A2:B35,2,0)
    
其中公式LEFT(C2,2)=12,公式可化简为
     “
=VLOOKUP(12,对照表!A2:B35,2,0)
    
对照表中的单元格区域A2:B35中是省/直辖市/自治区索引表,而12”对应着天津市所以最后单元格F2中的公式返回天津市
    Step 6
的单元格G2中的公式为
    
= VLOOKUP(LEFT(C2,6),对照表!$C$2:$D$10000,2,0)
    
其中LEFT(C2,6)=120221,公式可化简为
    
= VLOOKUP(120221,对照表!$C$2:$D$2308,2,0)
    
对照表中的单元格区域C2:D2308中是区/县索引表,而122021”对应着宁河县所以最后单元格G2中的公式返回宁河县

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多