Office中国论坛/Access中国论坛

标题: 表间数据对比问题。 [打印本页]

作者: 海孩    时间: 2008-1-8 18:04
标题: 表间数据对比问题。
以人员信息表的数据为准,1项目表的A、B列的人员编码和姓名与人员信息表的数据对比,
如果项目表输入有错,在d列提示错误性质(编号错、姓名错、编号姓名错。
如果人员编码和姓名都正确,则提示“正常“或不提示。
作者: pureshadow    时间: 2008-1-9 09:32
一定需要有一样作为KEY,楼主想编号姓名都提示很难的,除非用代码。
建议可以编号用有效性:
数据-有效性-序列
姓名用VLOOKUP
=vlookup(a3,人员信息!A:B,2,0)
这样,保证不会有错,不需要校验。
作者: 海孩    时间: 2008-1-9 23:55
函数公式1:
=IF(AND(ISNA(MATCH(A3,人员信息!A$6:A$1500,)),ISNA(MATCH(B3,人员信息!B$6:B$1500,))),"无此人",IF(ISNA(MATCH(A3,人员信息!A$6:A$1500,)),"编号错",IF(ISNA(MATCH(B3,人员信息!B$6:B$1500,)),"姓名错","")))

函数公式2:
=IF(AND(SUMPRODUCT(--(人员信息!$A$6A$1500=$A4))=0,SUMPRODUCT(--(人员信息!$B$6B$1500=$B4))=0),"无此人",IF(AND(SUMPRODUCT(--(人员信息!$A$6A$1500=$A4))=0,SUMPRODUCT(--(人员信息!$B$6:$B$1500=$B4))>0),"编号错",IF(VLOOKUP($A4,人员信息!$A$6:$B$1500,2,0)<>$B4,"姓名错","正确")))

第1种方法,存在一种错误提示,比如 人员信息库的 0000001 为丁1 ,0000002为丁2,录入时候却录入0000001  丁2  ,这种情况提示“正常”,显然不符合要求。

第2种方法,好像完全符合要求,但如果录入区域里有空行,在校验结果单元格又会出现“#NA”的字符,看了很不顺眼。

请教各位高手,还有其他办法吗?

具体见附件的第12月表

[ 本帖最后由 海孩 于 2008-1-9 23:57 编辑 ]




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3