在 excel 中的两个选项卡中使用 VLookup 或 Index/Match

Using VLookup or Index/Match from two tabs in excel

我想使用 VLOOKUP 执行以下操作:

这是一个视觉示例:

这是我目前的 VLOOKUP 函数(在 MMA 上传器选项卡的单元格 D2 中测试它):

=IFERROR(VLOOKUP("*"&E2&"*",'MMA Product List'!$A:$B,1,FALSE), "N/A")

这是我目前使用的 INDEX MATCH 函数(在 MMA 上传器选项卡的单元格 D2 中测试它):

=IFERROR(INDEX('MMA Product List'!$A:$A,MATCH("*"&E3&"*", 'MMA Product List'!$B:$B,0)), "N/A")

我上面写的函数都没有产生值,它们都return#N/A.

一如既往,感谢您的帮助!

如果您使用 VBA,您可以使用 Range.Find 并直接使用 sheet 对象,而不是通过公式来检索值。

这里是一个简单循环遍历 E 列的示例,使用 Range.Find 查看另一个 sheet 的 B 列并复制值:

Dim wsUp As Worksheet
Set wsUp = Sheets("MMA Uploader")

Dim wsPL As Worksheet
Set wsPL = Sheets("MMA Product List")

'Finding the last non-blank cell in Uploader Column E
Dim LastRow As Long
LastRow = wsUp.Cells(wsUp.Rows.Count, 5).End(xlUp).Row

'Loop though Uploader Column E from row 2 till the last non-blank cell
Dim i As Long
For i = 2 To LastRow
  Dim rFind As Range
  'Looking in Product List column B for each value of Uploader column E
  Set rFind = wsPL.Columns(2).Find(what:=wsUp.Cells(i, 5), LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=True)
  
  'If a value is found, then copy from column A into Uploader column D
  If Not rFind Is Nothing Then
    wsUp.Cells(i, 4).Value = rFind.Offset(0, -1).Value
  End If
Next i