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