excel的vlookup只显示第一个结果,怎么让他显示所有结果啊?

如图,由于G行的数值是一样的,但是H行结果都不同,只取了第一列H2的结果,H3的没显示出来,怎么让他显示出H3所有当列的数值啊

Function 多项查询(a As Range, b As Range, c As String, Optional ByVal fgf As String = "|")
For i = 1 To a.Cells(1, 1).End(xlDown).Row Step 1
' If a.Cells(i, 1) = "" Then Exit For
' If a.Cells(i, 1) = c And InStr(多项查询, b.Cells(i, 1)) = 0 Then 多项查询 = 多项查询 & fgf & b.Cells(i, 1) '去重
If a.Cells(i, 1) = c Then 多项查询 = 多项查询 & fgf & b.Cells(i, 1)
Next
多项查询 = Mid(多项查询, 2)
If 多项查询 = "" Then 多项查询 = "不缺"
End Function

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-08-13
你要的公式:
=IFERROR(VLOOKUP(E2&ROW(),IF({1,0},$G$2:$G$20000&ROW($2:$20000),$H$2:$H$20000),2,0),"")
数组公式,同时按下Ctrl+Shift+Enter结束输入。
第2个回答  2021-08-14
=INDEX(H:H,SMALL(IF($G$2:$G$1000=E2,ROW($H$2:$H$1000),65536),COUNTIF($E$2:E2,E2)))
数组公式,同时按CTRL SHIFT 回车键
出现结果,下拉填充公式本回答被提问者采纳