TOP

VLOOKUP para combinación según dos condiciones (VLOOKUP3)

Descripción

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.


Un ejemplo de un problema

Supongamos que necesitamos unir dos tablas, pero no tenemos valores únicos:

Como puede ver, tenemos prestatarios con los mismos apellidos y contratos de préstamo 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 lo que estamos acostumbrados VLOOKUP para sustituir valores según dos condiciones.

VBA código para la función VLOOKUP3

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 

Cierre el editor Visual Basic y regrese a Excel.

Usando la función

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 poder sustituir correctamente el monto del préstamo por apellido y número de contrato, deberá ingresar lo siguiente en la celda E15:

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

Artículos sobre el tema: