2024年Excel数据查找终极指南!

职场   2024-09-24 07:16   江苏  
你是不是,一说到查询数据,就想到VLOOKUP函数,站在2024年,这个时间节点,查询的方法要比过去多了很多,这得益于这两年WPS和微软的快速更新迭代,今天我们总结一下常见的查询方案!

▍基础数据

我们简单模拟一个数据源,A列是姓名、B列是对应的数值数据,部分姓名出现多次,这里模拟了A出现了3次,后面1对多查询演示!


▼ 模拟数据源



▍常规查询


① VLOOKUP函数

第一种,我们还是使用大家熟悉的VLOOKUP函数!
=VLOOKUP(D2,A:B,2,0)

VLOOKUP函数基本已经老生常谈了,再熟悉不过,这里也不再啰嗦!



②XLOOKUP函数

相对VLOOKUP函数,XLOOKUP属于升级版本,使用更加便捷,解决了VLOOKUP不想实现从右往左查询的烦恼!

如下图,查询列和结果列分离作为两个参数,使用更加灵活!当然他还有很多其他参数,比如查询方向和容错等,属于更新后最强查询函数无疑!



③INDEX+MATCH组合

这个应该是低版本中,比较通用的组合方案!

INDEX函数,第一参数一般是一列,第二参数对应的是行,结果是返回第一参数中对应行的数据,具体哪一行,通过MATCH去匹配即可!
=INDEX(B:B,MATCH(D2,A:A,))

以上是常规查询,如果我们想实现1对多的数据查询,也不是不可以~

▍1对多查询

①FILTER函数

所谓查询,其实本质就是筛选满足条件的数据,WPS和office365版本,都可以使用FILTER函数,非常推荐,第一参数是要返回的区域,第二参数是一个筛选条件,我们用条件区域=条件即可!
=FILTER(B:B,A:A=D2)


如果你的版本非常低,没有办法使用FILTER函数,是否能实现呢?也不是不可以,只是稍微难一丢丢!

② 古老的解法

老版本通用公式,只是古老的解法,非常复杂,现在非必要不推荐再深入研究了!
=IFERROR(INDEX(B:B,SMALL(IF($A$2:$A$8=$D$2,ROW($A$2:$A$8)),ROW(A1))),"")


当然还有其他一些解法,我们随便大概写一下!

③其他解法

利用TOCOL忽略错误的特性,配合IF函数+数组思维实现,这里的"\",很多同学好奇,我们简单说一下,ta其实就是单独的是文本,只是没有添加双引号,导致错误,Excel中文本都需要双引号包裹!



▍结果合并

1对多的结果,有时候,我们需要合并处理,下面我们大概也讲解一下!
由于老版本,没有文本合并函数,所以处理起来非常麻烦,这里暂不推荐!

下面是目前使用比较多的,相对简单的写法!
=TEXTJOIN(",",,IF(A2:A8=D2,B2:B8,""))
第一参数是合并的间隔符,第二参数是否忽略空值,从第三参数开始就是需要合并的文本,可以是数组!



上面的写法,其实还可以简化,只是一般大家很少见到,在字符竞赛中常用,可以了解一下!

REPT代替IF函数,要节约1个字符,公式的字符竞赛,往往就是一两个字符之差!



这还没完,如果仅仅是逗号合并,我们还可以使用ARRAYTOTEXT函数处理!


当然,还可以玩玩正则函数,也不是不可以处理!

未必简洁,提供一种处理思路!
=TEXTJOIN(",",,REGEXEXTRACT(CONCAT(A2:B8),"(?<="&D2&")\d+",1))


今天就先到这里吧!以上你会一两种就足够解决日常数据查询问题了!

关于数据查询,我们录制了查询专题,感兴趣的可以了解一下!



Excel办公实战
分享Excel及WPS函数、技巧、VBA、PBI、JSA等办公技能。助你轻松实现办公自动化!易办公◎早下班!
 最新文章