Давайте создадим следующую функцию в новом модуле Excel:
Function FindValue(rng1 As Range, rng2 As Range) As Variant
Dim varVal1 As Variant
Dim varVal2 As Variant
Dim rngTargetA As Range
Dim rngTargetB As Range
Dim lngRowCounter As Long
Dim ws As Worksheet
varVal1 = rng1.Value
varVal2 = rng2.Value
Set ws = ActiveSheet
lngRowCounter = 2
Set rngTargetA = ws.Range("A" & lngRowCounter)
Set rngTargetB = ws.Range("B" & lngRowCounter)
Do While Not IsEmpty(rngTargetA.Value)
If rngTargetA.Value = varVal1 And rngTargetB.Value = varVal2 Then
FindValue = ws.Range("C" & lngRowCounter).Value
Exit Function
End If
lngRowCounter = lngRowCounter + 1
Set rngTargetA = ws.Range("A" & lngRowCounter)
Set rngTargetB = ws.Range("B" & lngRowCounter)
Loop
' if we don't find anything, return an empty string '
FindValue = ""
End Function
Приведенная выше функция принимает два значения диапазона, поэтому вы можете использовать ее так же, как любую другую функцию в Excel.Используя приведенный выше пример, скопируйте эти ячейки в ячейки A2: C5.Далее в ячейку А1 положить A
.В ячейку B1 положить 1
.В С1 положить =FindValue(A1,B1)
.Это выполнит приведенный выше код и вернет совпадение, если оно его найдет.
Более того, если вы измените «входные значения» для ячеек A1 или B1, ваш ответ обновится соответствующим образом.