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