EXCEL 数据多条件比对函数

如图!上午有个牛人(zhouli_0908)给出一个公式B3=IF(ISNA(VLOOKUP(A3,D:D,1,0)),"漏掉",VLOOKUP(A3,D:D,1,0))
但是在实际运用中,发现同名同姓的会被直接过掉,为了能够更准确的筛选出需要的数据,能否再加判定条件?

方法1、把两表数据粘贴到一起,然后以某一列比对,在最右边的空列输入函数公式:=if(countif($a$1:$a$1000,a1)>1,"重复","")然后往下自动填充这个公式。这个公式的含义是:在a1:a1000的范围内,依次从a1往下比对,如果有两个以上重复项,就标志为"重复",如果没有重复就标志为空。如果需要同时比对两列数据相同,可以增加一个辅助列,把两列数据合并一起,公式是:=a1&b1方法2:刚才这个方法所有的重复项都会做出标志,删除之后只剩下没有重复的。如果还想两个保留一个,只标志第二项以后的重复,可以用下面的方法:先自动排序,然后在空列输入公式:=if(a1=a2,"重复","")然后自动填充。这个公式的含义是:如果第二项等于第一项,就把第一项标志为"重复",否则为空。这样的所有的重复项都会标志出来,删除这些带"重复"的行即可。剩下的就是没有重复的。这个方法很简单。方法3、也可以用下面的方法达到这个效果:不需要先自动排序,直接在右边的空列里输入公式:=IF(COUNTIF(A$1:A1,A1)>1,"重复","")然后往下自动填充。方法4、如果要以多列为条件判断重复,也可以用下面方法:=IF(SUMPRODUCT(($A$:1:$A$1000=A1)*($B$1:$B$1000=B1)*($C$1:$C$1000=C1))>1,"重复","")向下填充公式。 再删除多余行。这个方法所有的重复项都会删除掉,只剩下没有重复的。如果想保留一个,参考方法3.方法5、也可以把两表数据粘贴在不同的列(假设第一表从a到c列,第二表从d到f列),然后在e空列里输入公式:=if(iserror(match(a1,$d$1:$d$1000,0)),"","重复")然后自动填空公式。这个公式的含义是:把a列的数据依次与d列进行比对,如果有重复的就标志为"重复",否则为空。这个公式很复杂,三个函数嵌套。match函数如果返回值为错误值(没有找到重复项),那么iserror函数就会被赋予真值;然后if函数再做判断,如果iserror函数值为真,就标志为空,否则为"重复"。macth函数的返回值(参数为0的情况)本来是重复的那一项在数列中的位置,这里利用这个函数,只要它的返回值为真值就可以了,不需要知道它的位置。第二项任务:两表的某列内容合并方法6、刚才那个公式也可以换成下面的公式,效果是一样的:=if(iserror(vlookup(a1,$d$1:$d$1000,1,false)),"","重复")在这个公式中vlookup函数输出的值本来是重复项在第1列中的数据(针对从d到e而言是第一列)。这里也不需要它的具体返回值,只需要知道有重复项即可。但这个函数有个重要的作用,找到重复项后,可以返回指定列的值。公式是:=vlookup(a1,$d$1:$f$1000,3,false)这样可以返回第3列(f列)的数据。这样就可以把两表中的某列数据合并。这个方法用于合并表格很方便。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-10-30
给你一个比较笨但很好懂的办法:
1、复制A表改为B表名。
2、在B表中增加一列。此列中合并所有条件内容。
3、再增加一列,对合并后的内容,筛选不重复的内容。EXCEL2010版本中有这个功能:在数据-筛选-高级 里面。
后面的你应该知道怎么做了吧!
第2个回答  2012-10-30
=INDEX(A:A,SMALL(IF(A2=SHEETA!A$2:B$1000,ROW($2:$1000)),COUNTIF(A$2:A2,A2)))

数组公式 CTRL+SHIFT+ENTER结束追问

大哥,你这公式我看不懂啊,都不知道怎么修改!
A表快两万行数据……,B表也是差不多,数组公式啥意思?感觉要一行行的按键才计算?

追答

HI我

本回答被网友采纳
第3个回答  2012-10-30
多条件比对能否解释的详细些 ,是说比如姓名和村都相同的删除掉吗?追问

上午的提问:
excel 两表数据对比 对比A表中B表上没有的数据进行显示。如B表中人名是否在A表中出现,出现的不显示,没出现的显示。(人名可能存在有多列)
注:A表是总表,B表是上报表格,根据A表为基准,查找B表上的数据是否有错误或者漏掉,主要是人名!急切!

追答

1.显示出A表有的 B表没有的?
2.B表有的A表没有的以错误数据显示?