EXCEL表中有A,B两列名单,A列200多个名字,B列几十个名字。找出B列中A列没有的名字

EXCEL表中有A,B两列名单,A列200多个名字,B列几十个名字。B列中存在一些A列没有的姓名,其他大部分都在A列中。怎么才能找出B列中A列不存在的名字,列到C中?

用公式解决吧,如果A、B列的数值从第1行开始,即A1、B1开始,在C1输入
=IF(ISERROR(VLOOKUP(B1,$A:$A,1,FALSE)),B1,"")
拖动公式至B列对应的最后一个单元格,如B80为B列最后一行,则将复制公式至C80。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-08-31
假设A列有200个名字。
方法一:
加辅助列,在辅助列中使用COUNTIF函数找出B列在A列没有重复的名字并标记出来
比如在C1输入
=COUNTIF($A$1:$A$200,B1)
下拉后返回0的就是B列中有,而A列中没有的名字。

方法二:
也可以直接用公式且不添加辅助列,在C1输入
=IF(ROW()<=SUM((COUNTIF($A$1:$A$200,$B$1:$B$200)=0)*1),INDEX($B$1:$B$200,SMALL(IF(ISERROR(MATCH($B$1:$B$200,$A$1:$A$200,0)),ROW($A$1:$A$200)),ROW(A1))),"")
按CTRL+SHIFT+ENTER结束
然后下拉到C200,如果显示的结果不是你想要的,按F9刷新一下,再看看C列,是不是你要的结果?下面返回0和空值的单元格内可以把公式再删除掉。
第2个回答  2012-08-31
请在C列中输入如下公式:
=IF(COUNTIF(A:A,B1)>=1,"原有","新增")
然后把鼠标放在C1单元格的右下角,显示拖动标示后向下拖动,直到B列最后一个单元格。
然后然后全部区域,按照C列排序,显示原有的,就是A列中有的数据,显示新增的就是原来A列中没有的数据。

满意给个赞同。
第3个回答  2012-08-31
循环读取B,循环读取A,对比B是否不等于A,如果是,写入C
相似回答