Consideremos una versión mejorada de la función VLOOKUP - VLOOKUP3, que nos brinda la oportunidad de sustituir valores cuando dos condiciones coinciden. Esta función puede resultar útil en los casos en los que no tengamos valores únicos en el campo sobre el que necesitamos realizar una combinación.
Supongamos que necesitamos unir dos tablas, pero no tenemos valores únicos:
Como puedes ver, tenemos prestatarios con los mismos apellidos y contratos de crédito con los mismos números. Combinar con una función normal VLOOKUP Será problemático porque coincide solo con una condición a la vez y solo con el primer valor encontrado.
Rehagamos nuestro VLOOKUP habitual para sustituir valores según dos condiciones.
abre el menú Servicio - Macro - Editor Visual Basic , inserte el nuevo módulo (menú Insert - Module ) y copie el texto de este allí funciones:
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
Cerrar el editor Visual Basic y regrese a Excel.
Ahora en Asistentes de funciones en la categoría Usuario definido puede encontrar nuestra función VLOOKUP3 y utilizarla. La sintaxis de la función es la siguiente:
=VLOOKUP3( rango1 ; valor_buscado1 ; rango2 ; valor_buscado2 ; el rango desde el cual sustituimos valores )
Es decir, para sustituir correctamente el monto del préstamo por apellido y número de contrato en la celda E15 deberás ingresar:
=VLOOKUP3($A$2:$A$11; A15; $B$2:$B$11; B15; $C$2:$C$11)
Además, no olvides fijar los rangos con el signo del dólar. ($) , para que no nos perdamos los rangos al copiar la fórmula (para una corrección rápida, también puedes usar la tecla F4).