Consideriamo una versione migliorata della funzione VLOOKUP - VLOOKUP3, che ci dà l'opportunità di sostituire i valori quando due condizioni corrispondono. Questa funzione può essere utile nei casi in cui non abbiamo valori univoci nel campo su cui dobbiamo eseguire una combinazione.
Supponiamo di dover unire due tabelle, ma di non avere valori univoci:
Come puoi vedere, abbiamo mutuatari con gli stessi cognomi e contratti di credito con gli stessi numeri. Combinalo con una funzione normale VLOOKUP sarà problematico perché soddisfa solo una condizione alla volta e solo il primo valore trovato.
Ripetiamo il nostro solito VLOOKUP per sostituire i valori in base a due condizioni.
Apri il menù Servizio - Macro - Editor Visual Basic , inserire il nuovo modulo (menù Insert - Module ) e copia lì il testo di questo funzioni:
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
Chiudi l'editor Visual Basic e torna a Excel.
Ora in Procedure guidate delle funzioni nella categoria Definito dall'utente puoi trovare la nostra funzione VLOOKUP3 e usarla. La sintassi della funzione è la seguente:
=VLOOKUP3( intervallo1 ; valore_cercato1 ; intervallo2 ; valore_cercato2 ; l'intervallo da cui sostituiamo i valori )
Cioè, per sostituire correttamente l'importo del prestito con il cognome e il numero del contratto nella cella E15 dovrai inserire:
=VLOOKUP3($A$2:$A$11; A15; $B$2:$B$11; B15; $C$2:$C$11)
Inoltre, non dimenticare di fissare gli intervalli con il simbolo del dollaro ($) , in modo da non perdere gli intervalli durante la copia della formula (per una correzione rapida è possibile utilizzare anche il tasto F4).