Să luăm în considerare o versiune îmbunătățită a funcției VLOOKUP - VLOOKUP3, care ne oferă posibilitatea de a înlocui valori atunci când se potrivesc două condiții. Această funcție poate fi utilă în cazurile în care nu avem valori unice în domeniul pe care trebuie să realizăm o combinație.
Să presupunem că trebuie să unim două tabele, dar nu avem valori unice:
După cum puteți vedea, avem debitori cu aceleași nume de familie și contracte de credit cu aceleași numere. Combinați cu o funcție normală VLOOKUP va fi problematică deoarece se potrivește doar cu o condiție la un moment dat și doar prima valoare găsită.
Să refacem VLOOKUP obișnuit pentru înlocuirea valorilor în funcție de două condiții.
Deschide meniul Serviciu - Macro - Editor Visual Basic , introduceți noul modul (meniul Insert - Module ) și copiați textul acestuia acolo functii:
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
Închide editorul Visual Basic și reveniți la Excel.
Acum in Vrăjitorii de funcții în categorie Definit de utilizator puteți găsi funcția noastră VLOOKUP3 și o puteți utiliza. Sintaxa funcției este următoarea:
=VLOOKUP3( interval 1 ; valoare_căută1 ; intervalul 2 ; valoare_căută2 ; intervalul din care substituim valorile )
Adică, pentru a înlocui corect suma împrumutului cu numele de familie și numărul de acord în celulă E15 va trebui să introduceți:
=VLOOKUP3($A$2:$A$11; A15; $B$2:$B$11; B15; $C$2:$C$11)
De asemenea, nu uitați să fixați intervalele cu semnul dolarului ($) , astfel încât să nu pierdem intervalele la copierea formulei (pentru o fixare rapidă, puteți folosi și tasta F4).