范文EXCEL身份证核对公式.docx

上传人:b****5 文档编号:3566873 上传时间:2022-11-23 格式:DOCX 页数:6 大小:18.10KB
下载 相关 举报
范文EXCEL身份证核对公式.docx_第1页
第1页 / 共6页
范文EXCEL身份证核对公式.docx_第2页
第2页 / 共6页
范文EXCEL身份证核对公式.docx_第3页
第3页 / 共6页
范文EXCEL身份证核对公式.docx_第4页
第4页 / 共6页
范文EXCEL身份证核对公式.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

范文EXCEL身份证核对公式.docx

《范文EXCEL身份证核对公式.docx》由会员分享,可在线阅读,更多相关《范文EXCEL身份证核对公式.docx(6页珍藏版)》请在冰豆网上搜索。

范文EXCEL身份证核对公式.docx

范文EXCEL身份证核对公式

EXCEL身份证核对公式

EXCEL中你输入的公民身份号码正确吗?

目录:

1、输入错误自动红色显示提示

2、15位身份证号码升位为18位公民身份号码

3、自动生成出生日期和性别

4、中华人民共和国国家标准GB11643-1999公民身份号码

一、输入错误自动红色显示提示

在企业报送的EXCEL电子表格中,经常遇到公民身份号码输入错误而给工作带来不必要的麻烦,降低了工作效率。

有没有办法在公民身份号码录入错误时进行自动提示呢?

其实【中华人民共和国国家标准GB11643-1999】对公民身份号码第18位校验码已作了详细的规定,只是我们在电算工作中很少用到而已。

可用以下方法在EXCEL中录入公民身份号码错误时自动红字显示:

选择需要录入公民身份号码的单元格(如A1),选择菜单:

格式/条件格式。

①点击条件1左边的下拉箭头,选择公式,在右边的公式栏中输入以下公式:

=AND(LEN(D4)<>0,LEN(D4)<>15,LEN(D4)<>18)

接着单击格式,点击字体,颜色选择红色,确定。

②在条件格式中点添加,点击条件2左边的下拉箭头,选择公式,在右边的公式栏中输入以下公式:

=MID("10X98765432",MOD(SUMPRODUCT(MID(D4,ROW($1:

$17),1)*MOD(2^(18-ROW($1:

$17)),11)),11)+1,1)<>MID(D4,18,1)

接着单击条件2中的格式,点击字体,颜色选择红色,确定,确定。

右键按住A1单元格右下角的小黑点,向下拖至所需要录入公民身份号码的所有单元格,松开右键,选择仅填充格式。

在接着的录入中,凡是输入不是15位或18位,或者输入18位错误的公民身份号码都会红色显示。

身份证重复显蓝色的公式:

COUNTIF($D$4:

$D$65536,D4)>1二、15位身份证号码升位为18位公民身份号码

要使单元格中A1中的15位身份证号码升位为18位公民身份号码,只需在单元格A2中输入以下公式即可:

=REPLACE(A1,7,,19)&MID("10X98765432",MOD(SUMPRODUCT(MID(REPLACE(A1,7,,19),ROW($1:

$17),1)*MOD(2^(18-ROW($1:

$17)),11)),11)+1,1)或

=REPLACE(A1,7,,19)&LOOKUP(MOD(SUMPRODUCT(MID(REPLACE(A1,7,,19),ROW($1:

$17),1)*MOD(2

^(18-ROW($1:

$17)),11)),11),{0,1,2,3,4,5,6,7,8,9,10},{1,0,"X",9,8,7,6,5,4,3,2})

三、自动生成出生日期和性别

如果单元格A1为身份证号码或公民身份号码,单元格A2为性别,单元格A3为出生日期,则操

作如下:

在单元格A2中输入以下公式,则会自动生成性别:

=IF(LEN(A1)=18,IF(INT(MID(A1,17,1)/2)=MID(A1,17,1)/2,"女","男"),IF(LEN(A1)=15,IF(INT(MID(A1,15,1)/2)=MID(A1,15,1)/2,"女","男"),""))

在单元格A3中输入以下公式,则会自动生成出生日期:

=IF(LEN(A1)=18,DATE(MID(A1,7,4),MID(A1,11,2),MID(A1,13,2)),IF(LEN(A1)=15,DATE(MID(A

1,7,2),MID(A1,9,2),MID(A1,11,2)),""))

[顶]EXCEL中多条件求和、计数的4种方法

EXCEL中多条件求和、计数的方法大致可归纳为4种:

⒈自动筛选法

⒉合并条件法

⒊数组公式法

⒋调用函数法

先打开上面的工作表,分别用这4种方法对同时满足“A2:

A15区域为A,B2:

B15区域为10,C2:

C15区域为Ⅰ”条件的E2:

E15区域进行求和、计数。

一、自动筛选法

利用EXCEL的自动筛选功能和分类汇总函数对工作表数据进行求和、计数。

①选中数据区域A1:

E15,执行“数据→筛选→自动筛选”命令,进入“自动筛选”状态。

②选中E16单元格,输入分类汇总公式:

=SUBTOTAL(9,E2:

E15),用于对求和列进行统计。

③点击“条件1”右侧的下拉按钮,在随后弹出的下拉列表中选择“A”;再点击“条件2”右

侧的下拉按钮,在随后弹出的下拉列表中选择“10”;再点击“条件3”右侧的下拉按钮,在随后弹出的下拉列表中选择“Ⅰ”。

④符合条件的数据被筛选出来,合计自动出现在E16单元格中。

将SUBTOTAL(9,E2:

E15)中的参数9改为2或3,可对符合条件的记录进行计数。

(更正:

应在第一行前面插入一行输入分类汇总公式SUBTOTAL,否则在筛选时会被筛选掉。

二、合并条件法

可将多个条件合并为一个条件,再利用条件求和函数、条件计数函数分别进行单条件求和、计数。

在D2单元格中输入合并公式:

=A2&B2&C2,选择D2:

D15,按Ctrl+D向下填充。

在E16单元格中输入条件求和公式:

=SUMIF(D2:

D15,"A10Ⅰ",E2:

E15)

在E17单元格中输入条件计数公式:

=COUNTIF(D2:

D15,"A10Ⅰ")

三、数组公式法

利用数组公式进行多条件求和。

数组公式输入完成后,不能直接用“Enter”键进行确认,需要用“Ctrl+Shift+Enter”组合键进行确认。

确认完成后,公式两端会出现一对数组公式标志(一对大括号)。

在E16单元格中输入数组公式:

=SUM((A2:

A15="A")*(B2:

B15=10)*(C2:

C15="Ⅰ")*E2:

E15)或:

=SUM(IF((A2:

A15="A")*(B2:

B15=10)*(C2:

C15="Ⅰ"),E2:

E15))

输入完成后,按下“Ctrl+Shift+Enter”组合键确认公式即可。

即确认后的公式:

{=SUM((A2:

A15="A")*(B2:

B15=10)*(C2:

C15="Ⅰ")*E2:

E15)}。

对于有“或”条件的,可用+来完成。

如同时满足条件1=C,条件2=30,条件3=Ⅱ或Ⅲ,数组公式如下:

=SUM((A2:

A15="C")*(B2:

B15=30)*((C2:

C15="Ⅱ")+(C2:

C15="Ⅲ"))*E2:

E15)或:

=SUM(IF((A2:

A15="C")*(B2:

B15=30)*((C2:

C15="Ⅱ")+(C2:

C15="Ⅲ")),E2:

E15))

输入完成后,同样要按下“Ctrl+Shift+Enter”组合键。

四、调用函数法

调用SUMPRODUCT函数对数据进行求和、计数。

SUMPRODUCT函数:

是在给定的几组数组中,将数组间对应的元素相乘,并返回乘积之和。

在E16单元格中输入函数公式:

=SUMPRODUCT((A2:

A15="A")*(B2:

B15=10)*(C2:

C15="Ⅰ")*E2:

E15)

对于有“或”条件的,也可用+来完成。

如同时满足条件1=C,条件2=30,条件3=Ⅱ或Ⅲ,该函数使用如下:

=SUMPRODUCT((A2:

A15="C")*(B2:

B15=30)*((C2:

C15="Ⅱ")+(C2:

C15="Ⅲ"))*E2:

E15)

也可用此函数来进行多条件计数:

=SUMPRODUCT((A2:

A15="A")*(B2:

B15=10)*(C2:

C15="Ⅰ"))

★SUMPRODUCT是“返回乘积之和”函数,为什么可用来计数呢?

我们现以=SUMPRODUCT((A2:

A4="A")*(B2:

B4=10)*(C2:

C4="Ⅰ"))为例来看他的计算过程:

先看每个单元格和三个条件的真假关系:

A2=A,条件为TRUE

A3=C,条件为FALSE(因为A3不等于A)

A4=B,条件为FALSE(因为A4不等于A)

B2=10,条件为TRUE

B3=30,条件为FALSE(因为B3不等于10)

B4=20,条件为FALSE(因为B4不等于10)

C2=Ⅰ,条件为TRUE

C3=Ⅲ,条件为FALSE(因为C3不等于Ⅰ)

C4=Ⅱ,条件为FALSE(因为C4不等于Ⅰ)

因此,原函数可变为:

=SUMPRODUCT((TRUE,FALSE,FALSE)*(TRUE,FALSE,FALSE)*(TRUE,FALSE,FALSE))

在EXCEL中,TRUE和FALSE分别用1和0表示。

所以函数又变为:

=SUMPRODUCT((1,0,0)*(1,0,0)*(1,0,0))

然后接下来就是SUMPRODUCT的计算过程了:

=1*1*1+0*0*0+0*0*0=1

所以最后的结果等于1。

通过计算过程可以看出,对应位(即工作表的同一行或列,这里是同一行)只要有一个条件为0(即假,不符合条件),其乘积后就为0。

也就是说在前三条记录中,同时满足三种条件的只有1条记录。

同理,用SUMPRODUCT求和的计算过程如下:

=SUMPRODUCT((A2:

A15="A")*(B2:

B15=10)*(C2:

C15="Ⅰ")*E2:

E15)

=SUNPRODUCT((1,0,0,1,1,1,0,0,0,1,0,0,0,0)*

(1,0,0,0,1,1,0,0,0,0,0,0,0,0)*

(1,0,0,1,1,1,0,0,0,0,0,0,1,0)*

×(1,2,3,4,5,6,7,8,9,10,11,12,13,14))

--------------------------------------------------------

1+0+0+0+5+6+0+0+0+0+0+0+0+0=12

即最后的求和结果等于12。

如何在EXCEL的A1中引用当前活动单元格的行号?

【问题】

如何在EXCEL的A1中引用当前活动单元格的行号?

也就是说,我鼠标点到哪个单元格,那这个单元格的行号就会出现在A1中。

【解决办法】

可通过编写VBA来完成,方法如下:

打开EXCEL,调用[工具/宏/visualbasic编辑器],将下面代码放到worksheet中即可。

PrivateSubWorksheet_SelectionChange(ByValTargetAsRange)

Range("A1")=ActiveCell.Row

EndSub

为什么重命名工作表之后EXCEL会自动在前面加上

文件名?

【问题】

最近编制了一个EXCEL电子表格,文件名称为“川劳社办[2008]185号超龄人员退休待遇计算”,把其中一个工作表名称命名为“待遇审批表”,可是EXCEL会自动在前面加上部分文件名,变成“185号超龄人员退休待遇计算.xls]待遇审批表”,重新命名该工作表则出现错误,提示“在重命名工作表或图表时输入的名称无效”。

试重命名其他EXCEL电子表格中的工作表名称,不会出现这种现象

【解决办法】

为什么会出现这种现象呢?

试图通过搜索网络得到解决,发现也有不少网友提出同样的问题,但是没有解决办法!

后通过观察发现:

为什么重命名后的工作表只自动在前面加上部分文件名呢?

而文件名“]”前面的内容没有?

是不是“]”在作怪?

于是把文件名中的“[]”改成“[]”(全角),重试问题解决了

原来EXCEL电子表格的文件名称中不能存在半角的“[]”,否则就会导致上述问题出现,如果文件名中确实需要“[]”,请用全角“[]”,或者使用没有这种BUG的更高级版本Office软件。

本问题在MicrosoftOfficeXP(即MicrosoftExcel2002(10.2614.2625))中存在。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1