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.
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 crédito 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 nosso VLOOKUP usual para substituir valores de acordo com duas condições.
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.
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 na célula E15 você precisará inserir:
=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 um 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).