TOP

VLOOKUP per combinazione secondo due condizioni (VLOOKUP3)

Descrizione

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.


Un esempio di problema

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.

VBA codice per la funzione VLOOKUP3

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.

Utilizzando la funzione

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).

Articoli sull'argomento: