Cómo buscar de derecha a izquierda en Excel con INDEX y MATCH en lugar de VLOOKUP
🔍 WiseChecker

Cómo buscar de derecha a izquierda en Excel con INDEX y MATCH en lugar de VLOOKUP

Necesitas encontrar un valor en una tabla de Excel, pero la columna de búsqueda está a la derecha de los datos que deseas recuperar. La función VLOOKUP no puede buscar de derecha a izquierda. Esta limitación requiere un enfoque de fórmula diferente. Este artículo explica cómo combinar las funciones INDEX y MATCH para realizar una búsqueda en cualquier dirección.

Puntos clave: búsqueda de derecha a izquierda con INDEX y MATCH

  • INDEX(array, row_num, [column_num]): Devuelve el valor en la intersección de una fila y una columna específicas dentro de un rango definido.
  • MATCH(lookup_value, lookup_array, [match_type]): Encuentra la posición de un valor de búsqueda dentro de una sola fila o columna.
  • Combinación INDEX-MATCH: Usa MATCH para encontrar el número de fila, que INDEX luego utiliza para recuperar el valor correcto de cualquier columna.

ADVERTISEMENT

Por qué VLOOKUP falla en las búsquedas de derecha a izquierda

La función VLOOKUP está diseñada para buscar un valor en la primera columna de una tabla. Luego devuelve un valor de una columna a la derecha de esa primera columna. La sintaxis de la función es VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup]). El argumento col_index_num es un número estático que cuenta las columnas desde la columna más a la izquierda del table_array. Debido a que siempre busca en la primera columna, no puedes usar VLOOKUP para buscar un valor en la columna C y devolver un resultado de la columna A. Reorganizar los datos a menudo no es práctico. Las funciones INDEX y MATCH funcionan independientemente del orden de las columnas, lo que proporciona una solución flexible.

Pasos para crear una fórmula de búsqueda de derecha a izquierda

El método utiliza la función MATCH para encontrar la fila correcta y la función INDEX para extraer el valor de esa fila. Crearás una sola fórmula que anida MATCH dentro de INDEX.

  1. Identifica tus rangos de datos
    Determina el valor de búsqueda, la columna de búsqueda donde buscarás y la columna de retorno que contiene los datos que deseas recuperar. Estas columnas pueden estar en cualquier orden.
  2. Inicia la función INDEX
    Haz clic en la celda donde deseas el resultado. Escribe =INDEX(. El primer argumento de INDEX es el array, que es toda la columna que contiene tus valores de retorno. Por ejemplo, si deseas devolver un nombre de la columna A, tu array es A:A o A2:A100.
  3. Agrega la función MATCH para el número de fila
    Para el argumento row_num en INDEX, escribe MATCH(. La función MATCH necesita tu valor de búsqueda, el array de búsqueda donde buscarlo y el tipo de coincidencia. Usa 0 para una coincidencia exacta. La fórmula ahora se ve así: =INDEX(A:A, MATCH(F2, C:C, 0)).
  4. Completa y prueba la fórmula
    Cierra los paréntesis: =INDEX(A:A, MATCH(F2, C:C, 0)). Presiona Enter. La fórmula busca el valor de la celda F2 en la columna C. Cuando encuentra una coincidencia, devuelve el valor correspondiente de la misma fila en la columna A.

Uso de INDEX y MATCH con un rango de tabla definido

Para obtener un mejor rendimiento y claridad, usa un rango de tabla específico en lugar de referencias de columna completa.

  1. Define tu tabla
    Supón que tus datos están en las celdas A2:D100. La columna D contiene tus valores de búsqueda y la columna B contiene tus valores de retorno.
  2. Escribe la fórmula con referencias de rango
    En tu celda de resultado, ingresa: =INDEX(B2:B100, MATCH(F2, D2:D100, 0)). Esta fórmula es más eficiente que usar referencias de columna completa.

ADVERTISEMENT

Errores comunes y errores de fórmula

Error #N/A de MATCH

El error #N/A significa que MATCH no puede encontrar el valor de búsqueda. Verifica si hay espacios finales en tus datos. Usa la función TRIM para limpiar las celdas. Verifica que el valor de búsqueda exista en el array de búsqueda. Asegúrate de que el argumento match_type sea 0 para una coincidencia exacta.

Error #REF! de INDEX

Se produce un error #REF! si el número de fila proporcionado por MATCH es mayor que el número de filas del array de INDEX. Esto sucede si tus rangos de INDEX y MATCH tienen tamaños diferentes. Asegúrate de que ambos rangos, como B2:B100 y D2:D100, cubran exactamente el mismo número de filas.

Resultados incorrectos con coincidencia aproximada

Si omites el argumento match_type o usas 1, MATCH realiza una búsqueda aproximada. Esto requiere que la columna de búsqueda esté ordenada de forma ascendente y puede devolver datos incorrectos. Usa siempre 0 como último argumento en MATCH para búsquedas exactas, a menos que necesites específicamente una coincidencia aproximada.

VLOOKUP vs INDEX-MATCH: diferencias clave

Elemento VLOOKUP INDEX y MATCH
Dirección de búsqueda Solo de izquierda a derecha Cualquier dirección (izquierda, derecha, arriba, abajo)
Efecto de insertar columnas Se rompe si col_index_num es incorrecto No se ve afectado por la inserción o eliminación de columnas
Velocidad de procesamiento Más lenta con datos grandes y no ordenados Generalmente más rápida, especialmente con coincidencia exacta
Complejidad de la fórmula Sintaxis más simple para tareas básicas Más flexible, pero requiere dos funciones
Ubicación del valor de búsqueda Debe estar en la primera columna del table_array El array de búsqueda puede ser cualquier columna o fila única

Ahora puedes buscar valores en cualquier columna y recuperar datos de cualquier otra columna de tu hoja de cálculo. La combinación de INDEX y MATCH elimina la limitación direccional de VLOOKUP. Para búsquedas bidireccionales más complejas, intenta usar MATCH dos veces dentro de INDEX para encontrar tanto la fila como la columna. Recuerda usar referencias absolutas como $A$2:$A$100 cuando copies tu fórmula a otras celdas.

ADVERTISEMENT