Hello,大家好,经常有网友进行留言说,Excel的数据查找功能不是非常完善,比如我们的大众情人Vlookup函数他就不是万能的,对于一对多查找就无能无力了。因为这个函数一旦他查找到第一个值以后,就不会在进行另外的查找了。

查找函数有哪几种(你还在为函数的一对多查找问题而烦恼吗)(1)

或许有熟悉函数嵌套的同学要说了,我们可以做辅助列啊,来完成一对多的查找,但是呢,构造辅助函数也是非常麻烦的一件事情。今天要和大家介绍的是使用自定义函数完成一对多查找,让你数据查找再无烦恼。

举一个例子哈,如下所示,我们的大诗人有很多的诗集作品,但是我们需要使用函数将他们的所有诗集汇总到一个单元格中间,在这个时候我们的Vkooup就无能为力啦!

查找函数有哪几种(你还在为函数的一对多查找问题而烦恼吗)(2)

VLOOKUP函数只能查找到第一个值,并不是我们想要的结果。

查找函数有哪几种(你还在为函数的一对多查找问题而烦恼吗)(3)

如下是我们自动定义的一对多查询函数,是不是使用起来非常简单呢?这个的使用方法和我们正常函数的使用的方法一致。

查找函数有哪几种(你还在为函数的一对多查找问题而烦恼吗)(4)

查找函数有哪几种(你还在为函数的一对多查找问题而烦恼吗)(5)

最后附上自定义函数一对多查询的代码:

查找函数有哪几种(你还在为函数的一对多查找问题而烦恼吗)(6)

怎么样,小伙伴们,您学会使用使用Excel自定义函数一对多查询的函数了吗?

如果小伙伴还有其他的想知道或者想了解的,都可以直接先关注我然后在私信我,告诉我们您想知道什么,或者想了解什么,我们会根据你的需要进行扩展的,谢谢大家的支持!

查找函数有哪几种(你还在为函数的一对多查找问题而烦恼吗)(7)

如果有不明白的或者不懂的可以在下方留言,我们会一一解答的。

我是Excel教案,关注我持续分享更多的Excel技巧!

Public Function SVLOOKUP(svlookup_value, table_array, col_index_num) Dim arr, i As Long, x As Long, xx As String arr = table_array x = UBound(arr) xx = "" For i = 1 To x If arr(i, 1) = svlookup_value And arr(i, col_index_num) <> "" Then SVLOOKUP = SVLOOKUP & xx & arr(i, col_index_num) xx = "," End If Next Select Case SVLOOKUP Case "" SVLOOKUP = "#N/A" Case Else End Select End Function

,