ВГОРУ

VLOOKUP для поєднання по двом умовам (VLOOKUP3)

Опис

Розглянемо вдосконалений варіант функції VLOOKUP - VLOOKUP3, яка дає нам можливість підставляти значення при співпадінні двох умов. Дана функція може бути корисною у випадках, коли у нас немає унікальних значень у полі, по якому нам потрібно здійснити поєднання.


Приклад задачі

Припустимо, що нам потрібно поєднати дві таблиці, але у нас немає унікальних значень:

Як бачимо, в нас є позичальники з однаковими прізвищами та кредитні угоди з однаковими номерами. Поєднати звичайною функцією VLOOKUP буде проблематично, оскільки вона поєднує лише по одній умові та лише перше знайдене значення.

Переробимо звичний нам VLOOKUP для підстановки значень по двом умовам.

VBA код для функції VLOOKUP3

Відкрийте меню Сервіс - Макрос - Редактор Visual Basic, вставте новий модуль (меню Insert - Module) и скопіюйте туди текст цієї функції:

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 

Закрийте редактор Visual Basic і поверніться в Excel.

Використання функції

Тепер в Майстері функцій в категорії Визначені користувачем можна знайти нашу функцію VLOOKUP3 і скористатися нею. Синтаксис функції наступний:

=VLOOKUP3(діапазон1; шукане_значення1; діапазон2; шукане_значення2; діапазон з якого підставляємо значення)

Тобто, для того, щоб правильно підставити суму кредиту по прізвищу та номеру угоди, в клітинку E15 потрібно буде ввести:

=VLOOKUP3($A$2:$A$11; A15; $B$2:$B$11; B15; $C$2:$C$11)

Також, не забуваємо фіксувати діапазони знаком долара ($), для того щоб нам не з'їжджали діапазони при копіюванні формули (для швидкого фіксування можна також скористатися клавішою F4).

Статті по темі: