TOP

VLOOKUP dla kombinacji według dwóch warunków (VLOOKUP3)

Opis

Rozważmy ulepszoną wersję funkcji VLOOKUP - VLOOKUP3, która daje nam możliwość podstawienia wartości, gdy pasują dwa warunki. Funkcja ta może być przydatna w przypadkach, gdy nie mamy unikalnych wartości w polu, na którym musimy wykonać kombinację.


Przykład problemu

Załóżmy, że musimy połączyć dwie tabele, ale nie mamy unikalnych wartości:

Jak widać mamy pożyczkobiorców o tych samych nazwiskach i umowach kredytowych o tych samych numerach. Połącz z normalną funkcją WYSZUKAJ będzie problematyczne, ponieważ pasuje tylko do jednego warunku na raz i tylko do pierwszej znalezionej wartości.

Powtórzmy to, do czego jesteśmy przyzwyczajeni WYSZUKAJ do podstawienia wartości zgodnie z dwoma warunkami.

VBA kod funkcji VLOOKUP3

Otwórz menu Usługa - Makro - Edytor Visual Basic , włóż nowy moduł (menu Insert - Module ) i skopiuj tam tekst tego Funkcje:

Function VLOOKUP3(Table1       As Range, _
                  SearchValue1 As Variant, _
                  Table2       As Range, _
                  SearchValue2 As Variant,_
				  ResultColumn As Range)
  'moonexcel.com.ua
  Dim i As Integer
               
  For i = 1 To Table1.Rows.Count
    If Table1.Cells(i, 1) = SearchValue1 Then
      If Table2.Cells(i, 1) = SearchValue2 Then
        VLOOKUP3 = ResultColumn.Cells(i, 1)
        Exit For
      End If
    End If
  Next i
                
End Function 

Zamknij edytor Visual Basic i wróć do Excel.

Korzystanie z funkcji

Teraz w Kreatorzy funkcji w kategorii Określony przez użytkownika możesz znaleźć naszą funkcję VLOOKUP3 i użyć jej. Składnia funkcji jest następująca:

=WYSZUKAJ3(zakres1 ; przeszukiwana wartość1 ; zasięg2 ; przeszukiwana wartość2 ; zakres, z którego podstawiamy wartości )

Oznacza to, że aby poprawnie zastąpić kwotę pożyczki nazwiskiem i numerem umowy, w komórce E15 należy wpisać:

=WYSZUKAJ3(2 $A$: 11 $A$ ; A15 ; 2 miliardy dolarów: 11 dolarów miliardów dolarów ; B15 ; $C$2: $C$11 )

Nie zapomnij także o naprawieniu zakresów znakiem dolara ($), abyśmy nie pominęli zakresów podczas kopiowania formuły (w celu szybkiego skorygowania możesz także użyć klawisza F4).

Artykuły na ten temat: