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 prestito 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.
Rifacciamo quello a cui siamo abituati VLOOKUP per sostituire i valori secondo 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 cognome e numero di contratto, dovrai inserire nella cella E15 quanto segue:
=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 quando copiamo la formula (per una correzione rapida, puoi anche utilizzare il tasto F4).