Excel VLOOKUP para encontrar el último valor de la columna (con alternativas)

  • Compartir Este
Hugh West

VLOOKUP es una función muy popular en Excel que se refiere a la búsqueda vertical. Podemos utilizar la función incorporada VLOOKUP o incluso podemos crear nuestras propias fórmulas que funcionarán como lookup vertical para devolver valores con criterios más dinámicos. En este artículo, voy a mostrar cómo encontrar el último valor de una columna con VLOOKUP en Excel.

Descargar el Libro de Prácticas

Descargue el libro de Excel que hemos utilizado para preparar este artículo.

VLOOKUP Ultimo Valor en Columna.xlsx

Uso de la función VLOOKUP para encontrar el último valor de una columna

Introduzcámonos primero en nuestro libro de trabajo. En esta hoja de datos, he utilizado 3 columnas y 10 filas presentar los importes de las ventas de algunos vendedores según las fechas correspondientes.

En este método, encontraremos la última aparición de un valor utilizando la función VLOOKUP . VLOOKUP significa ' Búsqueda vertical Es una función que hace que Excel busque un valor determinado en una columna. Aquí tenemos 3 importes de venta diferentes de Bill. Ahora encontraremos el importe de sus últimas ventas en Célula G5

Pasos :

➦ Activar Celda G5, escriba la fórmula que se indica a continuación:

=VLOOKUP(F5,C5:D13,2)

➦ Golpea el Entre en y obtendrá la última incidencia de sus ventas.

Pero VLOOKUP no dará la respuesta correcta para datos no ordenados en modo aproximado. Véase la imagen siguiente.

Y si utilizamos el coincidencia exacta para el cuarto argumento se mostrará la primera coincidencia como la imagen de abajo. Debido a vlookup utiliza la búsqueda binaria. Así que cuando se encuentra un valor mayor que el valor de búsqueda a continuación, se vuelve al valor anterior para mostrar, ver en la imagen de abajo.

Por lo tanto, para superar esta situación en el caso de los datos no ordenados y encontrar la última ocurrencia, tendremos que utilizar funciones de búsqueda u otras fórmulas combinadas. Discutiremos estos métodos en las siguientes secciones.

Alternativas a la función VLOOKUP para buscar el último valor de una columna

Ahora aplicaremos cuatro métodos alternativos para encontrar el último valor de una columna.

Método 1: Utilizar la función LOOKUP para encontrar el último valor de la columna

Aquí encontraremos el último valor de una columna con la función LOOKUP en Excel. El BUSCAR se utiliza para buscar a través de una sola columna o fila para encontrar un valor particular desde el mismo lugar en una segunda columna o fila. Voy a encontrar el último importe de las ventas aquí en Celda G4.

Pasos:

➦ Activar Celda G4.

➦ Escribe la fórmula dada a continuación:

=LOOKUP(2,1/(D:D""),D:D)

➦ A continuación, pulse la tecla Entre en y obtendrá el último valor.

👉 Desglose de fórmulas:

D:D""

Aquí se comprobará si las celdas de Columna D están vacías o no. Devolverá as-

{FALSO;FALSO;FALSO;VERDADERO;VERDADERO;VERDADERO;VERDADERO;VERDADERO;VERDADERO;VERDADERO;FALSO.....}

1/(D:D"")

Hemos dividido 1 por el resultado. Como FALSE significa 0 y TRUE significa 1 por lo que el resultado será el siguiente:

{#DIV/0!;#DIV/0!;#DIV/0!;1;1;1;1;1;1;1;#DIV/0!;#DIV/0!}

LOOKUP(2,1/(D:D""),D:D)

He establecido el valor de búsqueda 2 porque la función de búsqueda encontrará 2 a través de la columna, cuando se llega a un error, entonces volverá a su valor más cercano 1 y mostrará el resultado.

367

Método 2: Utilizar las funciones INDEX y MATCH para encontrar el último valor de la columna

En este caso utilizaremos la combinación ÍNDICE y MATCH funciones. La función INDEX devuelve un valor o la referencia a un valor dentro de una tabla o rango. Y la función MATCH se utiliza para buscar un elemento especificado en un rango y, a continuación, devuelve la posición relativa de dicho elemento en el rango.

Pasos:

➦ Escriba la fórmula dada a continuación en Célula G5

=INDEX(D5:D13,MATCH(F5,C5:C13,1))

➦ Golpe Entre en botón.

👉 Cómo funciona la fórmula:

MATCH(F5,C5:C13,1)

Aquí la función MATCH se utiliza para encontrar el valor de Celda F5 para los elementos ordenados en orden ascendente de la matriz C5:C13. El tercer argumento '1' indica la coincidencia aproximada. Ahora la función devolverá como-

6

En realidad muestra el número de fila contado desde la primera entrada.

INDEX(D5:D13,MATCH(F5,C5:C13,1))

Y la función INDEX dará las ventas correspondientes ( D5:D13) según la coincidencia anterior de la matriz ( C5:C13) que devolverá como-

367

En realidad, es la última vez que Celda F5

Método 3: Combinación de las funciones INDEX, MAX, SUMPRODUCT y ROW para encontrar el último valor de la columna

Ahora haremos la tarea con la combinación de INDEX, MAX, SUMPRODUCT y ROW funciones. La función ROW encontrará los números de fila. SUMPRODUCTO es una función que multiplica un rango de celdas o matrices y devuelve la suma de los productos. La función MAX encontrará el número máximo. Y el ÍNDICE devuelve un valor o la referencia a un valor dentro de una tabla o rango.

Pasos:

➦ Permitir la edición en Celda F7

➦ Copia y pega la fórmula dada a continuación:

=INDEX($C$5:$C$13,SUMPRODUCTO(MAX(FILA($B$5:$B$13)*($E$7=$B$5:$B$13))-4))

➦ Y pulse la tecla Entre en botón.

👉 Cómo funciona la fórmula:

FILA($B$5:$B$13)

La función ROW mostrará el número de fila de la matriz que devolverá como-

{5;6;7;8;9;10;11;12;13}

($E$7=$B$5:$B$13)

Aquí Célula E7 es nuestro valor de búsqueda y esta fórmula lo comparará a través de la matriz B5:B13 Entonces volverá como...

{FALSO;FALSO;FALSO;FALSO;VERDADERO;FALSO;FALSO;FALSO;VERDADERO}

FILA($B$5:$B$13)*($E$7=$B$5:$B$13)

Es la multiplicación de las dos fórmulas anteriores la que multiplicará realmente los números de fila correspondientes. FALSO significa 0 y TRUE significa 1 Así que después de la multiplicación, volverá como...

{0;0;0;0;9;0;0;0;13}

MAX(FILA($B$5:$B$13)*($E$7=$B$5:$B$13))

En MAX encontrará el valor máximo del resultado anterior que devolverá como

13

SUMPRODUCTO(MAX(FILA($B$5:$B$13)*($E$7=$B$5:$B$13))-4)

Ahora el SUMPRODUCTO se utiliza para encontrar el número de fila en la matriz . Como nuestra lista empieza por el Quinto fila en adelante, 4 por lo que la posición de la última aparición de Bill es 9 en nuestra lista para que la fórmula devuelva como-

9 .

INDEX($C$5:$C$13,SUMPRODUCTO(MAX(FILA($B$5:$B$13)*($E$7=$B$5:$B$13))-4))

El ÍNDICE se utiliza para encontrar las ventas para el último nombre coincidente. Y devolverá como-

563

Esta es nuestra última ocurrencia para Bill.

Método 4: Usar Excel VBA para Encontrar la Última Ocurrencia de un Valor en una Columna

Si te gusta codificar en Excel, entonces este método es adecuado para ti. Podemos realizar la operación anterior utilizando el método VBA también. Vamos a ir a través de los siguientes pasos cómo podemos hacerlo fácilmente.

Para ello, en primer lugar, crearé una barra desplegable para los nombres únicos. A continuación, crearé una nueva función definida por el usuario " LastItemLookup " utilizando VBA que usaremos para encontrar la última ocurrencia.

Primer paso:

➦ En primer lugar, copia los nombres únicos de la hoja principal en una hoja nueva.

Segundo paso:

➦ A continuación, vaya a la hoja principal.Activar cualquier celda nueva.Elegí E5.

➦ Clic Datos> Herramientas de datos> Validación de datos.

A cuadro de diálogo aparecerá.

Tercer paso:

➦ Seleccionar Lista del Permitir bar.

➦ A continuación, pulse la tecla abra del icono Fuente bar.

Paso 4:

➦ Después ve a tu nueva hoja y selecciona los nombres únicos.

➦ Prensa OK

Ver a flecha hacia abajo en la parte derecha de la celda. Haciendo clic aquí puedes seleccionar cualquier nombre, lo que nos ahorrará tiempo porque no tendremos que escribir los nombres cada vez.

Ahora haremos una nueva función llamada LastItemLookup con Excel VBA.

Paso 5:

➦ R Haga clic con el botón derecho del ratón en el ratón sobre el nombre de la hoja.

➦ Seleccionar Ver Código del menú contextual .

A VBA se abrirá una ventana.

Paso 6:

➦ Escriba los códigos que se indican a continuación:

 Option Explicit Sub vlookup_last() End Sub Function LastItemLookup(Lookupvalue As String, LookupRange As Range, ColumnNumber As Integer) Dim x As Long For x = LookupRange.Columns(1).Cells.Count To 1 Step -1 If Lookupvalue = LookupRange.Cells(x, 1) Then LastItemLookup = LookupRange.Cells(x, ColumnNumber) Exit Function End If Next x End Function 

Paso 7:

➦ A continuación, pulse el botón de reproducción para ejecutar los códigos. A cuadro de diálogo llamado Macros aparecerá.

➦ Clic Ejecutar .

Nuestra nueva función ya está lista.

Paso 8:

➦ Ahora vuelve a tu hoja de trabajo.

➦ Activar Celda F5

➦ Escribe la fórmula dada a continuación con la nueva función.

=LastItemLookup(E5,B5:C13,2)

➦ Prensa Entre en para obtener el resultado de la última ocurrencia de Ron .

Ahora, cuando elija el nombre de un vendedor, obtendrá el valor de su última aparición.

Conclusión

Espero que todos los métodos descritos anteriormente serán lo suficientemente bien como para vlookup el último valor de una columna. Siéntase libre de hacer cualquier pregunta en la sección de comentarios y por favor me dan retroalimentación

Hugh West es un capacitador y analista de Excel altamente experimentado con más de 10 años de experiencia en la industria. Tiene una Licenciatura en Contabilidad y Finanzas y una Maestría en Administración de Empresas. Hugh tiene una pasión por la enseñanza y ha desarrollado un enfoque de enseñanza único que es fácil de seguir y comprender. Su conocimiento experto de Excel ha ayudado a miles de estudiantes y profesionales en todo el mundo a mejorar sus habilidades y sobresalir en sus carreras. A través de su blog, Hugh comparte su conocimiento con el mundo, ofreciendo tutoriales gratuitos de Excel y capacitación en línea para ayudar a las personas y empresas a alcanzar su máximo potencial.