Розглянемо вдосконалений варіант функції VLOOKUP - VLOOKUP3, яка дає нам можливість підставляти значення при співпадінні двох умов. Дана функція може бути корисною у випадках, коли у нас немає унікальних значень у полі, по якому нам потрібно здійснити поєднання.
Припустимо, що нам потрібно поєднати дві таблиці, але у нас немає унікальних значень:
Як бачимо, в нас є позичальники з однаковими прізвищами та кредитні угоди з однаковими номерами. Поєднати звичайною функцією VLOOKUP буде проблематично, оскільки вона поєднує лише по одній умові та лише перше знайдене значення.
Переробимо звичний нам VLOOKUP для підстановки значень по двом умовам.
Відкрийте меню Сервіс - Макрос - Редактор 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).