excelmatch函数的两种经典用法_核对两列数据、筛选重复值
excel的match函数和index函数形影不离,但其实单独使用match函数,也能实现让人意想不到的效果,今天讲解两个案例,使用match函数核对两列数据的差异,以及如何使用match函数提取重复的数据。
1.核对两列数据
如上图所示,我们要查看A列中姓名在C列中是否存在。或者查询C列中的数据在A列中是否存在,可按照如下的方法操作。
A.查询A列在C中是否存在
查询A列在C中是否存在
函数解读:=IF(ISNA(MATCH(A1,$C$1:$C$4,0)),"","存在")
MATCH(A1,$C$1:$C$4,0) ,查询A1,在$C$1:$C$4中是否存在。$C$1:$C$4为什么使用绝对引用,那是因为,我们的查询范围始终是$C$1:$C$4,如果是相对引用,B列中的公式向下拖拽的时候,查询的范围就会变成C2:C4,所以区域是绝对引用。
当查询不到值的时候,返回错误值#N/A,而ISNA()函数就是判断这个值是否为#N/A值,外面又嵌套了if语句,如果为为true,则返回空(也就是A列这个值在C列中不存在),否则就显示存在。
B.查询C列中的数据在A列是否存在
查询C列中的数据在A列是否存在
函数说明同上。
2. 提取重复的唯一数据
删除重复数据
函数解读:=MATCH(A2,$A$2:$A$8,0)=ROW(A1)
=MATCH(A2,$A$2:$A$8,0) 为返回当年值的行号,比如A2单元格它在查询范围的第一行,如果后面有重复,一次为2、3.。。。,而ROW(A1)则是返回A1单元格所在的行号,如果相等,则返回ture,证明为第一次出现,如果为2、3.。。。这些值,则不是第一次重现,则是重复的。
最后使用筛选,筛选为true的值,就获得了不重复的记录。