站长说
两列数据对比的问题,是使用Excel经常会遇到的问题。今天,汪站长就把自己常用的方法分享给你!
【案例】
1月和2月两列城市名称顺序不同,需要找出1月和2月各自独有的城市和共有城市,如下图。
解决方法有很多,下面介绍5种方法,方便大家工作中使用。
计数法是使用函数COUNTIF, 在C2单元格中输入公式:
=COUNTIF($B$2:$B$15,A2)
公式结果为1,说明大连在2月中出现了一次,向下复制公式,结果为0时说明未在B列中出现。数字0就标记了1月独有的城市。
D2单元格输入公式:
=COUNTIF($A$1:$A$15,B2)
公式结果数字0标记2月独有的城市。
E列只要和C列或D列结果相反即可。这样都是用数字1和0来进行标记的,如果想列出城市名称,可以用IF函数判断计数结果。
查询法是利用公式VLOOKUP或MATCH来查询。此处以VLOOKUP函数为例,在1月和2月城市之间互相查询,当出现错误时说明数据有差异。
C2单元格输入公式:
=VLOOKUP(A2,$B$2:$B$15,1,0)
D2单元格输入公式:
=VLOOKUP(B2,$A$2:$A$15,1,0)
要列出城市名称,需要对公式结果进行错误判断。这里的错误判断用IFERROR函数不能解决了,要用IF+ISERROR的函数组合判断查询结果。
ISERROR函数判断公式运行结果是否出错,如果出错返回结果1,否则是0。IF+ISERROR的函数组合可以自由处理错误值和非错误值的显示,而IFERROR函数只能处理错误值的显示。
首先看下C2单元格公式:
=IF(OR(A2=$B$2:$B$15),””,A2)
公式含义是在2月城市中只要出现了1月的城市名称,就显示空值,否则显示1月的城市名称,结果就是1月独有的城市了。因为是数组函数,最后需要按组合键【Ctrl+Shift+Enter】,自动在公式外添加了大括号({ }),D列和E列同理,如图。
标色法是使用条件格式,结合前面3种公式均可以标记颜色。
就以数组公式为例,选择1月城市列表,在条件格式的规则中设置格式并输入公式:
=NOT(OR(A2=$B$2:$B$15))
含义是1月的城市列表在2月中没有出现的,标记橙色,即1月独有城市,效果如图。
选择2月城市列表,在条件格式的规则中设置格式并输入公式:
=OR(B2=$A$2:$A$15)
含义是1月的城市列表在2月中出现的,标记绿色,即1月与2月共有城市。
如果1月数据没有重复,2月数据也没有重复,可以用条件格式快速标记,不需要使用公式。
当然,如果每月内部有重复的数据,本方法就不适用了。
这是我常用的核对方法,实际工作中根据数据特点和不同要求选择对应的方法。
微信扫一扫加关注,Office自学网官方微信公众号,
专注分享软件安装和视频教程,让你一号在手,办公无忧!