TOP

VLOOKUP para combinação de acordo com duas condições (VLOOKUP3)

Descrição

Vamos considerar uma versão melhorada da função VLOOKUP - VLOOKUP3, que nos dá a oportunidade de substituir valores quando duas condições correspondem. Esta função pode ser útil nos casos em que não temos valores únicos no campo sobre o qual precisamos realizar uma combinação.


Um exemplo de problema

Suponha que precisemos unir duas tabelas, mas não temos valores únicos:

Como você pode ver, temos mutuários com os mesmos sobrenomes e contratos de empréstimo com os mesmos números. Combine com uma função normal VLOOKUP será problemático porque corresponde apenas a uma condição por vez e apenas ao primeiro valor encontrado.

Vamos refazer o que estamos acostumados VLOOKUP para substituir valores de acordo com duas condições.

VBA código para função VLOOKUP3

Abra o cardápio Serviço - Macro - Editor Visual Basic , insira o novo módulo (cardápio Insert - Module ) e copie o texto deste aí funções:

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 

Feche o editor Visual Basic e retorne para Excel.

Usando a função

Agora em Assistentes de função na categoria Usuário definido você pode encontrar nossa função VLOOKUP3 e usá-la. A sintaxe da função é a seguinte:

=VLOOKUP3(intervalo1 ; valor_pesquisado1 ; intervalo2 ; valor_pesquisado2 ; o intervalo a partir do qual substituímos valores )

Ou seja, para substituir corretamente o valor do empréstimo pelo sobrenome e número do contrato, será necessário inserir o seguinte na célula E15:

=VLOOKUP3($A$2:$A$11 ; A15 ; $B$2:$B$11 ; B15 ; $C$2:$C$11 )

Além disso, não se esqueça de fixar os intervalos com o cifrão ($), para que não percamos os intervalos ao copiar a fórmula (para correção rápida, você também pode usar a tecla F4).

Artigos sobre o tema: