作者:绿色风
分类:
时间:2022-08-18
浏览:158
楼主 amulee |
Q:如何查询第N个匹配的值? A:如附件,要查询第二、三个匹配的值,如何做呢?
方法一:函数公式法,数组公式,下拉- =INDEX(B:B,SMALL(IF(A$1:A$9=A$12,ROW($1:$9),4^8),ROW(1:1)))&""
方法二:自定义函数法,按Alt+F11,插入一个模块,输入以下代码:- Public Function MyVlookup(Lookup_value As String, Table_Array As Range, Col_Index_Num As Integer, K As Integer)
- If K <= 0 Or Col_Index_Num <= 0 Then
- MyVlookup = "#REF!"
- Exit Function
- End If
- Dim i&, j&
- Dim Arr
- Arr = WorksheetFunction.Index(Table_Array, 0, 1)
- For j = 1 To UBound(Arr)
- If Arr(j, 1) = Lookup_value Then
- i = i + 1
- If i = K Then
- MyVlookup = WorksheetFunction.Index(Table_Array, j, Col_Index_Num)
- Exit Function
- End If
- End If
- Next
- If i = 0 Or K > i Then
- MyVlookup = ""
- End If
- End Function
调用时候输入以下公式,前三个参数与Vlookup参数一致,最后一个参数为查询第几个值。- =myvlookup(A$12,A$1:B$9,2,ROW(A1))
查询第N个匹配的值.rar |
2楼 滴水穿石 |
跟着学习函数思路~ |
3楼 海洋之星 |
这个学习一下,哈哈 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一