Buscar el último valor coincidente
Devuelva la coincidencia más reciente mediante técnicas de búsqueda inversa
Buscar el último valor coincidente es una lección gratuita de Excel Formulas Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Excel Formulas Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Excel Formulas Academy incluye 4 lecciones en total.
El problema de la última coincidencia
La mayoría de las búsquedas devuelve la primera coincidencia que encuentra. Sin embargo, a veces necesitará la última: el precio más reciente de un producto, la última actualización de estado o la entrada final de un cliente.
Cuando una lista crece con el tiempo y la misma clave aparece varias veces, la fila situada más abajo suele ser la más reciente. Un VLOOKUP estándar o un MATCH con coincidencia exacta devolverá obstinadamente la primera fila.
En esta lección se muestran varias formas fiables de obtener el valor de la última coincidencia.
Por qué MATCH exacto encuentra la primera coincidencia
MATCH(value, range, 0) recorre el rango de arriba abajo y se detiene en la primera coincidencia exacta. Si "Apple" aparece en las filas 2, 5 y 9, MATCH devuelve 2.
Esto es perfecto cuando las claves son únicas, pero ignora las filas más recientes. Para llegar a la última aparición, necesitamos una técnica que busque desde abajo o que devuelva la posición de la coincidencia final.
=MATCH("Apple", A2:A10, 0)XLOOKUP con búsqueda inversa
Si dispone de una versión moderna de Excel o Google Sheets, XLOOKUP lo simplifica. Sus argumentos quinto y sexto controlan el modo de coincidencia y la dirección de búsqueda.
Pase -1 como argumento del modo de búsqueda para buscar de la última a la primera. Entonces XLOOKUP devuelve el valor asociado a la clave coincidente situada más abajo.
Aquí busca el producto de G1 en A2:A10 y devuelve el precio correspondiente de B2:B10, comenzando la búsqueda desde abajo.
=XLOOKUP(G1, A2:A10, B2:B10, "Not found", 0, -1)El truco clásico de LOOKUP
En hojas de cálculo antiguas, un truco conocido utiliza LOOKUP con el número 2 y una división ingeniosa basada en una condición.
La expresión 1/(A2:A10=G1) produce 1 en las filas coincidentes y un error de división en las que no coinciden. LOOKUP busca el valor 2 (mayor que cualquier valor presente), ignora los errores y llega al último 1 válido, devolviendo el valor correspondiente de B2:B10.
=LOOKUP(2, 1/(A2:A10=G1), B2:B10)Cómo funciona el truco de LOOKUP
Desglosemos 1/(A2:A10=G1):
- Las filas cuya clave coincide producen
1/TRUE= 1. - Las filas que no coinciden producen
1/FALSE= un error #DIV/0!.
LOOKUP ignora los errores y, cuando no encuentra su objetivo (2), devuelve el resultado alineado con la última entrada que no contiene un error. Como todas las coincidencias son 1, gana el último 1 y obtiene el valor de la última fila coincidente.
=LOOKUP(2, 1/(A2:A10=G1), B2:B10)Última coincidencia con INDEX y MATCH
También puede seguir utilizando la familia INDEX-MATCH. La idea consiste en encontrar la posición de la última coincidencia y después pasarla a INDEX.
Con el mismo truco de la división dentro de MATCH, busque 2 en 1/(A2:A10=G1) para obtener la posición de la fila de la coincidencia final. Pase esa posición a INDEX sobre la columna de resultados.
=INDEX(B2:B10, MATCH(2, 1/(A2:A10=G1)))Por qué MATCH(2, ...) encuentra la última coincidencia
Cuando se omite el tercer argumento de MATCH, su valor predeterminado es 1, lo que significa coincidencia aproximada con datos ascendentes. MATCH busca entonces el valor más grande que sea menor o igual que 2.
La matriz 1/(A2:A10=G1) solo contiene valores 1 y errores. El valor más grande menor o igual que 2 es 1, y MATCH devuelve la posición del último 1 de ese tipo. Esa posición es exactamente la última fila coincidente.
=MATCH(2, 1/(A2:A10=G1))Un ejemplo concreto
Suponga que A2:A10 contiene los estados de pedidos de "Order-7" registrados a lo largo del tiempo y que B2:B10 contiene el texto del estado. "Order-7" aparece en las filas 3, 6 y 9.
- La matriz de coincidencia marca las filas 3, 6 y 9 con un 1, y el resto con errores.
- MATCH(2, ...) devuelve 9 como posición (contando desde el inicio del rango), es decir, la última coincidencia.
- INDEX devuelve el estado de esa última fila, que es el más reciente.
=INDEX(B2:B10, MATCH(2, 1/(A2:A10=G1)))Elegir el método adecuado
¿Qué método debería utilizar?
- XLOOKUP con -1: es la opción más clara y fácil de leer si su aplicación la admite.
- LOOKUP(2, 1/...): funciona prácticamente en cualquier lugar y no requiere una versión especial.
- INDEX-MATCH(2, 1/...): resulta útil cuando también necesita la posición o desea devolver datos de otra columna.
Los tres métodos proporcionan la misma respuesta; elija según las herramientas disponibles y el nivel de legibilidad que desee para la fórmula.
Errores frecuentes
Preste atención a estos problemas:
- Tamaños de rango diferentes: el rango de la condición y el rango de resultados deben tener la misma altura para que las filas no se desajusten.
- Duplicados ocultos: los espacios finales pueden hacer que "Apple " sea diferente de "Apple"; limpie primero el texto con TRIM.
- Ninguna coincidencia: el truco devuelve un error si no hay coincidencias. Envuélvalo en
IFERRORpara mostrar una alternativa más clara.
=IFERROR(LOOKUP(2, 1/(A2:A10=G1), B2:B10), "Not found")Última coincidencia con varios criterios
Puede combinar el truco de la última coincidencia con dos condiciones. Multiplique las pruebas de las condiciones dentro de la división, de modo que solo las filas que cumplan ambas claves produzcan un 1.
Por ejemplo, busque el precio más reciente cuyo producto sea igual a G1 y cuya región sea igual a G2. El truco LOOKUP(2, ...) seguirá llegando a la última fila que cumpla los criterios.
Resulta útil para registros con marcas de tiempo en los que el mismo producto aparece en varias regiones.
=LOOKUP(2, 1/((A2:A10=G1)*(B2:B10=G2)), C2:C10)Comprobación rápida
Compruebe si ha entendido las búsquedas de la última coincidencia.
Resumen de la lección
Para devolver el valor de la última coincidencia en lugar de la primera:
- Use
XLOOKUP(..., -1)para buscar de abajo arriba cuando esté disponible. - Use el truco clásico
LOOKUP(2, 1/(range=key), result)en cualquier versión. - Use
INDEX(result, MATCH(2, 1/(range=key)))cuando también necesite la posición.
Recuerde mantener los rangos del mismo tamaño, eliminar los espacios sobrantes y envolver la fórmula en IFERROR para mayor seguridad.
=XLOOKUP(G1, A2:A10, B2:B10, "Not found", 0, -1)Aprende Excel con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 30
- Lecciones
- 120
Preguntas frecuentes
¿La lección «Buscar el último valor coincidente» es gratis?
Sí — el texto completo de «Buscar el último valor coincidente» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Excel Formulas Academy, actualiza a CoddyKit PRO. El curso de Excel Formulas Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Buscar el último valor coincidente»?
Devuelva la coincidencia más reciente mediante técnicas de búsqueda inversa Practicas Excel Formulas Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Excel Formulas Academy?
No se requiere experiencia previa. Excel Formulas Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Buscar el último valor coincidente»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Excel Formulas Academy?
Sí. Cada lección de Excel Formulas Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Búsquedas bidireccionales con INDEX-MATCH-MATCH
- Buscar el último valor coincidente
- Búsquedas con varios criterios con INDEX-MATCH
- Coincidencias aproximadas para tablas por niveles