我需要能够在excel中返回数组中的查找值,并返回与此查找值的行关联的最后一列。
在此简化示例中,我正在数组B2:C5的第2列第3行中找到“ B-C-D”,我需要它来返回D列中与此值相关的值。
非常感谢
您可以使用=MAX((A8=A2:C5)*ROW(A2:C5))
查找与您的查找值匹配的元素的绝对行号。这样,您可以使用D列中的索引来找到答案:=INDEX(D:D,B8)
将以下代码粘贴到VB编辑器的ThisWorkbook模块中。这样,对查找单元格的任何更改都将触发宏以在d列中找到值并将其放在b7中。
Option Explicit
Public Sub Workbook_SheetChange(ByVal ws As Object, ByVal target As Range)
If (ws.Name) = Worksheets(1).Name Then
If Not Intersect(target, Range("a7")) Is Nothing Then
Dim rng As Range
Dim i As Variant
Set rng = Range("a1:d5")
For Each i In rng
If target.Value = i Then
Cells(7, "b").Value = Cells(i.Row, "d").Value
End If
Next i
End If
End If
End Sub