查找值基于使用Excel VBA或公式查找2行和1列

我期待了解如何使用Excel VBA或公式来查找具有2个特定行和1个特定列的值。 我附上了下表的示例截图供参考。

我想在行1中search2014,在行2中searchSally,在A列中search澳大利亚的国家。返回的值将是:2454.38

示例表

你可以使用这个数组公式:

=INDEX($A$1:$M$6,MATCH(P3,$A$1:$A$6,0),MATCH(P1&P2,$A$1:$M$1&$A$2:$M$2,0)) 

作为一个数组,当退出编辑模式而不是Enter时,需要使用Ctrl-Shift-Enter进行确认。 如果做得正确,Excel将在公式周围放置{}

在这里输入图像说明

这是VBA Excel版本。

  Sub MatchingYearNameCountry() Dim YearName, Country, Data Dim Year1 As Integer, Name1 As String, Country1 As String YearName = Range("B1:R2") Country = Application.Transpose(Range("A3:A12")) Data = Range("B3:R12") Year1 = 2014 Name1 = "Ari5" Country1 = "China4" For i = 1 To 10 For j = 1 To 17 If YearName(1, j) = Year1 And YearName(2, j) = Name1 And Country(i) = Country1 Then MsgBox "Data for " & Year1 & ", " & Name1 & ", and " _ & Country1 & " is " & Data(i, j) Exit Sub End If Next j Next i MsgBox "Data not found." End Sub 

我假设B1 = 2011,B2 = Joe,A3 =加拿大。