信息提取法创建数据在Excel中的应用
摘要:excel已成为日常工作中最为普遍、通用的一种数据表格形式,本文就excel中从已有信息中提取新数据的方法进行介绍,并以图文方式给予说明。
关键词:excel;数据;提取
中图分类号:tp317.3文献标识码:a文章编号:1007-9599 (2013) 07-0000-02
在数据处理工作中,最费时费力的就是数据的录入。如果能够使用合理方法巧妙的对已有数据进行提取产生对应新数据,那么工作效率会大大提高,而且数据的准确性、有效性也能够得到保证。现就常见的几种数据提取类型介绍一下方法,希望能为从事此项工作的朋友带来方便。
1提取文本中部分字符
excel中要在已有文本数据中提取部分字符作为新数据时,我们通常会使用到字符串截取函数。在使用前,首先分析被提取部分在原文本中位置的规律,再确定要使用哪一个函数可以满足要求,然后再编写函数公式进行提取,最后检查是否都按要求被提取出来了,如果还需要进
行再连接可使用“&”字符连接运算符进行连接。下面就left()、right()、mid()三个函数在实际中的应用作图文介绍。
从左边截取字符用left(),例如=left(a1,3),提取了a1中的前三个字符;从右边截取的字符用right(),例如=right(a1,5),提取了a1中的后五个字符;提取中间的字符用mid(),例如=mid(a1,3,1),提取第三个开始的一个字符。在实际应用中如图1所示要在d列、e列、f列创建新的对应信息,年级信息可在c列的班级项提取前两位字符创建,即使用左截函数公式为=left(c2,2),回车后进行公式复制即可创建完成。专业信息可在专业班项提取,使用左截函数对a列截取“字符总长度减一”个字符即可,公式为=left(a2,len(a2)-1)
班级全称由年级、层次、专业、班号信息共同组成,可使用字符连接运算符“&”连接完成,公式为=d2&&left(b2,2)&e2&right(c2,2)&
2提取字符串中的数字或字符
如果在工作中碰到要在文本与数字混合的数据中获取其中的数字或字符时,我们可以使用自定义提取数字函数或提取字符函数来解决这样的问题。下面,我们就来自定义提取数字的函数:
1)执行“工具→宏→visual basic编辑器”菜单命令(或按“alt+f11”快捷键),打开visualbasic编辑窗口。
2)在窗口中,执行“插入→模块”菜单命令,插入一个新的模块。
3)在右边的“代码窗口”中输入以下代码:
function getnum(b)
dim i as integer
dim al as string
for i = 1 to len(b)
al = mid(b, i, 1)
if isnumeric(al) or al = . then
getnum = getnum & al
字符串截取中间几位
end if
next
end function
4)关闭窗口,自定义提取数字函数完成。
如果要自定义提取字符函数,就再插入一个新的模块,输入以下代码:
function getstr(b)
dim i as integer
dim al as string
for i = 1 to len(b)
al = mid(b, i, 1)
if not isnumeric(al) then
getstr= getstr & al
end if
next
end function
以后就可以像使用内置函数一样使用自定义getnum()函数和getstr()函数。如图2所示来提取数字和字符了。
3从规律的编码中提取可用信息
在工作中经常会遇到各种各样的编号,如身份证号、教工号、学生证号等等类似的号码。这些号码在起初进行编码时一定是按照特定的规律进行分配的。只要我们掌握了这个规律就能从这些号码中提取到我们想要的对应信息,创建出对应的新数据。在这里我们就以最常见的身份证号码为例,来提取其中隐藏着的信息。如图3所示,要根据证件号码来创建对应的性别、出生日期信息。首先我们要知道二代身份证号码编码的一些基本规律,比如号码长度为
18个字符;出生日期出现在第7至第12个数字;性别代码是第17个数字,奇数代表男,偶数代表女。我们掌握了这些规律后就可以利用函数公式来创建对应数据了。在提取性别信息时输入公式=if(len(c2)=18,if(mod(mid(c2,17,1),2)=1,,),非二代身份证),即可准确的提取到性别信息并能检查身份证位数是否正确。在提取出生日期时输入公式=if(len(c2)=15,19&mid(c2,7,2)&&mid(c2,9,2)&&mid(c2,11,2)&,if(len(c2)=18,mid(c2,7,4)&&mid(c2,11,2)&&mid(c2,13,2)&,号码有错)),同时也可检查身份证位数的正确性。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。