Excel中如何从两个区域中用函数寻找匹配的数据?

如图,以A2:E2为区域进行查找,搜索匹配H2:H5的内容,找到后填充在F2,F2可下拉无限填充。试过vlookup的数组函数,只能先向右填充才能查找到对应的数据,能否自动找到匹配的然后填进单元格内?

你要的公式:

=INDEX($A:$E,ROW(),SMALL(IFERROR(MATCH(H:H,$A2:$E2,),""),1))

数组公式,F2填入上面公式,然后同时按下Ctrl+Shift+Enter结束输入,向下填充即可。

如果数据量过大,那么把MATCH(H:H中的H:H只选择有效数据部分。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-08-10

这个拿去用

Sub 查找()

Dim i, k

On Error Resume Next

  For i = 2 To Range("a65536").End(xlUp).Row

  For k = 2 To 5

   x = WorksheetFunction.Match(Cells(i, k), Range("h:H"), 0)

   If x > 0 Then

   Cells(i, "F") = Cells(x, "h")

   End If

   Next

   Next

End Sub

数组公式

=IF(SUMPRODUCT((A2:E2=H$2:H$5)*COLUMN($A$1:$E$1))=0,"",INDEX(A2:E2,SUMPRODUCT((A2:E2=H$2:H$5)*COLUMN($A$1:$E$1))))

同时按CTRL SHIFT 回车键,出现结果,下拉公式,不符合条件的,返回为 空

第2个回答  2021-08-10

数组公式 Ctrl+Shift+Enter结束

=IFERROR(INDEX($A:$E,ROW(),FIND(1,CONCAT(IFERROR(IF(MATCH(A1:E1,$H$1:H6,0)>0,1),0)))),"")

第3个回答  2021-08-10
F2用公式:
=INDEX(A2:E2,MAX((A2:E2=H$2:H$5)*COLUMN(A:E)))
数组公式,按组合键(CTRL+SHIFT+回车)完成公式,下拉。
相似回答