Tabla de contenido
Este tutorial explica cómo utilizar la función MATCH en Excel con ejemplos de fórmulas. También muestra cómo mejorar sus fórmulas de búsqueda haciendo una fórmula dinámica con VLOOKUP y MATCH.
En Microsoft Excel, hay muchas funciones de búsqueda/referencia diferentes que pueden ayudarte a encontrar un determinado valor en un rango de celdas, y MATCH es una de ellas. Básicamente, identifica una posición relativa de un elemento en un rango de celdas. Sin embargo, la función MATCH puede hacer mucho más que su pura esencia.
Función MATCH de Excel - sintaxis y usos
La función MATCH de Excel busca un valor especificado en un rango de celdas y devuelve la posición relativa de ese valor.
La sintaxis de la función MATCH es la siguiente:
MATCH(valor_consulta, matriz_consulta, [tipo_coincidencia])Valor_buscado (obligatorio) - el valor que desea buscar. Puede ser un valor numérico, de texto o lógico, así como una referencia de celda.
Matriz_de_busqueda (obligatorio) - el rango de celdas donde buscar.
Tipo_partido (opcional) - define el tipo de coincidencia. Puede ser uno de estos valores: 1, 0, -1. El argumento match_type establecido en 0 devuelve sólo la coincidencia exacta, mientras que los otros dos tipos permiten una coincidencia aproximada.
- 1 u omitido (por defecto) - encuentra el valor más alto en la matriz de búsqueda que sea menor o igual que el valor de búsqueda. Requiere ordenar la matriz de búsqueda en orden ascendente, de menor a mayor o de la A a la Z.
- 0 - encontrar el primer valor de la matriz que sea exactamente igual No es necesario ordenar.
- -1 - encontrar el valor mínimo en la matriz que sea mayor o igual que el valor de búsqueda. La matriz de búsqueda debe ordenarse en orden descendente, de mayor a menor o de Z a A.
Para comprender mejor la función MATCH, hagamos una fórmula sencilla basada en estos datos: los nombres de los alumnos en la columna A y sus notas de examen en la columna B, ordenadas de mayor a menor. Para averiguar dónde se encuentra un alumno concreto (digamos, Laura ), entre otros, utilizan esta sencilla fórmula:
=MATCH("Laura", A2:A8, 0)
Opcionalmente, puede poner el valor de búsqueda en alguna celda (E1 en este ejemplo) y hacer referencia a esa celda en su fórmula de Excel Match:
=MATCH(E1, A2:A8, 0)
Como puede ver en la captura de pantalla anterior, los nombres de los alumnos se introducen en un orden arbitrario, por lo que establecemos el parámetro tipo_partido a 0 (coincidencia exacta), porque sólo este tipo de coincidencia no requiere ordenar los valores en la matriz de búsqueda. Técnicamente, la fórmula Coincidencia devuelve la posición relativa de Laura en el rango, pero como las puntuaciones están ordenadas de mayor a menor, también nos dice que Laura tiene la 5ª mejor puntuación entre todos los estudiantes.
Consejo: En Excel 365 y Excel 2021, puede utilizar la función XMATCH, que es un sucesor moderno y más potente de MATCH.
4 cosas que debes saber sobre la función MATCH
Como acabas de ver, utilizar MATCH en Excel es fácil. Sin embargo, como ocurre con casi cualquier otra función, hay algunas especificidades que debes conocer:
- La función MATCH devuelve el posición relativa del valor de búsqueda en la matriz, no el valor en sí.
- MATCH es distingue entre mayúsculas y minúsculas es decir, no distingue entre minúsculas y mayúsculas cuando se trata de valores de texto.
- Si la matriz de búsqueda contiene varias apariciones del valor de búsqueda, se devuelve la posición del primer valor.
- Si el valor de búsqueda no se encuentra en la matriz de búsqueda, se devuelve el error #N/A.
Cómo utilizar MATCH en Excel - ejemplos de fórmulas
Ahora que ya conoces los usos básicos de la función MATCH de Excel, vamos a comentar algunos ejemplos más de fórmulas que van más allá de lo básico.
Coincidencia parcial con comodines
Como muchas otras funciones, MATCH entiende los siguientes caracteres comodín:
- Signo de interrogación (?) - sustituye a cualquier carácter simple
- Asterisco (*) - sustituye a cualquier secuencia de caracteres
Nota: Los comodines sólo se pueden utilizar en fórmulas Coincidir con tipo_partido a 0.
Una fórmula de coincidencia con comodines resulta útil en situaciones en las que no se desea que coincida toda la cadena de texto, sino sólo algunos caracteres o alguna parte de la cadena. Para ilustrar este punto, considere el siguiente ejemplo.
Supongamos que tiene una lista de revendedores regionales y sus cifras de ventas del mes pasado. Quiere encontrar la posición relativa de un determinado revendedor en la lista (ordenado por los importes de ventas en orden descendente), pero no recuerda su nombre con exactitud, aunque sí algunos primeros caracteres.
Suponiendo que los nombres de los revendedores se encuentran en el intervalo A2:A11, y que está buscando el nombre que empieza por "coche", la fórmula es la siguiente:
=MATCH("coche*", A2:A11,0)
Para que nuestra fórmula Match sea más versátil, puedes escribir el valor de búsqueda en alguna celda (E1 en este ejemplo), y concatenar esa celda con el carácter comodín, de esta manera:
=MATCH(E1& "*", A2:A11,0)
Como se muestra en la siguiente captura de pantalla, la fórmula devuelve 2, que es la posición de "Carter":
Para sustituir sólo un carácter en el valor de búsqueda, utilice el operador comodín "?", de la siguiente manera:
=MATCH("ba?er", A2:A11,0)
La fórmula anterior coincidirá con el nombre " Panadero " y vuelve a ejecutar su posición relativa, que es 5.
Fórmula MATCH que distingue mayúsculas de minúsculas
Como se mencionó al principio de este tutorial, la función MATCH no distingue entre mayúsculas y minúsculas. Para hacer una fórmula Match que distinga entre mayúsculas y minúsculas, usa MATCH en combinación con la función EXACT que compara celdas exactamente, incluyendo el caso de los caracteres.
Esta es la fórmula genérica que distingue entre mayúsculas y minúsculas para emparejar datos:
MATCH(TRUE, EXACT( matriz de búsqueda , valor de búsqueda ), 0)La fórmula funciona con la siguiente lógica:
- La función EXACT compara el valor de búsqueda con cada elemento de la matriz de búsqueda. Si las celdas comparadas son exactamente iguales, la función devuelve TRUE, FALSE en caso contrario.
- Y entonces, la función MATCH compara TRUE (que es su buscar_valor ) con cada valor de la matriz devuelta por EXACT, y devuelve la posición de la primera coincidencia.
Ten en cuenta que es una fórmula de matriz que requiere pulsar Ctrl + Mayús + Intro para completarse correctamente.
Suponiendo que su valor de búsqueda está en la celda E1 y la matriz de búsqueda es A2:A9, la fórmula es la siguiente:
=MATCH(TRUE, EXACT(A2:A9,E1),0)
La siguiente captura de pantalla muestra la fórmula Coincidir mayúsculas/minúsculas en Excel:
Comparar 2 columnas por coincidencias y diferencias (ISNA MATCH)
La comprobación de coincidencias y diferencias entre dos listas es una de las tareas más comunes en Excel, y puede realizarse de varias formas. Una de ellas es la fórmula ISNA/MATCH:
IF(ISNA(MATCH( 1er valor de la Lista1 , Lista2 , 0)), "No en la lista 1", "")Para cualquier valor de la Lista 2 que no esté presente en la Lista 1, la fórmula devuelve " No en la lista 1 "Y así es cómo:
- La función MATCH busca un valor de la Lista 1 dentro de la Lista 2. Si se encuentra un valor, devuelve su posición relativa, #N/A error en caso contrario.
- La función ISNA en Excel sólo hace una cosa: comprueba si hay errores #N/A (que significa "no disponible"). Si un valor dado es un error #N/A, la función devuelve TRUE, FALSE en caso contrario. En nuestro caso, TRUE significa que un valor de la Lista 1 no se encuentra dentro de la Lista 2 (es decir, MATCH devuelve un error #N/A).
- Como puede ser muy confuso para sus usuarios ver TRUE para valores que no aparecen en la Lista 1, usted envuelve la función IF alrededor de ISNA para mostrar " No en la lista 1 " en su lugar, o el texto que quieras.
Por ejemplo, para comparar valores de la columna B con valores de la columna A, la fórmula adopta la siguiente forma (donde B2 es la celda superior):
=IF(ISNA(MATCH(B2,A:A,0)), "No está en la lista 1", "")
Como recordará, la función MATCH de Excel no distingue mayúsculas de minúsculas. Para que distinga entre mayúsculas y minúsculas, inserte la función EXACT en el campo matriz_de_busqueda y recuerde pulsar Ctrl + Mayús + Intro para completar esta operación. fórmula de matriz :
=IF(ISNA(MATCH(TRUE, EXACT(A:A, B2),0)), "No en Lista 1", "")
La siguiente captura de pantalla muestra ambas fórmulas en acción:
Para aprender otras formas de comparar dos listas en Excel, consulte el siguiente tutorial: Cómo comparar 2 columnas en Excel.
Excel VLOOKUP y MATCH
Este ejemplo asume que usted ya tiene algunos conocimientos básicos de la función VLOOKUP de Excel. Y si los tiene, lo más probable es que se haya topado con sus numerosas limitaciones (cuya descripción detallada puede encontrarse en Por qué no funciona VLOOKUP de Excel) y esté buscando una alternativa más robusta.
Uno de los inconvenientes más molestos de VLOOKUP es que deja de funcionar después de insertar o eliminar una columna dentro de una tabla de consulta. Esto sucede porque VLOOKUP extrae un valor coincidente basado en el número de la columna de retorno que especifique (número de índice). Debido a que el número de índice está "codificada" en la fórmula, Excel no puede ajustarla cuando se añaden o eliminan nuevas columnas de la tabla.
La función MATCH de Excel trata un posición relativa de un valor de búsqueda, lo que hace que encaje perfectamente en el col_index_num En otras palabras, en lugar de especificar la columna de retorno como un número estático, se utiliza MATCH para obtener la posición actual de esa columna.
Para hacer las cosas más fáciles de entender, vamos a utilizar de nuevo la tabla con las puntuaciones de los exámenes de los alumnos (similar a la que utilizamos al principio de este tutorial), pero esta vez recuperaremos la puntuación real y no su posición relativa.
Asumiendo que el valor de búsqueda está en la celda F1, la matriz de la tabla es $A$1:$C$2 (es una buena práctica bloquearla usando referencias absolutas de celda si planeas copiar la fórmula a otras celdas), la fórmula es la siguiente:
=VLOOKUP(F1, $A$1:$C$8, 3, FALSE)
El tercer argumento ( col_index_num ) se fija en 3 porque el Puntuación en matemáticas que queremos extraer es la 3ª columna de la tabla. Como puede ver en la captura de pantalla siguiente, esta fórmula Vlookup normal funciona bien:
Pero sólo hasta que inserte o elimine una o varias columnas:
Entonces, ¿por qué el error #REF!? Porque col_index_num ajustado a 3 le dice a Excel que obtenga un valor de la tercera columna, mientras que ahora sólo hay 2 columnas en la matriz de la tabla.
Para evitar que esto ocurra, puede hacer que su fórmula Vlookup sea más dinámica incluyendo la siguiente función Coincidir:
MATCH(E2,A1:C1,0)
Dónde:
- E2 es el valor de búsqueda, que es exactamente igual al nombre de la columna de retorno, es decir, la columna de la que desea extraer un valor ( Puntuación en matemáticas en este ejemplo).
- A1:C1 es la matriz de búsqueda que contiene las cabeceras de la tabla.
Y ahora, incluya esta función Match en el archivo col_index_num de su fórmula Vlookup, así:
=VLOOKUP(F1,$A$1:$C$8, MATCH(E2,$A$1:$C$1, 0), FALSE)
Y asegúrese de que funciona impecablemente por muchas columnas que añada o elimine:
En la captura de pantalla anterior, he bloqueado todas las referencias de celda para que la fórmula funcione correctamente aunque mis usuarios la muevan a otro lugar de la hoja de cálculo. Como puedes ver en la captura de pantalla siguiente, la fórmula funciona perfectamente después de eliminar una columna; además, Excel es lo suficientemente inteligente como para ajustar correctamente las referencias absolutas en este caso:
Excel HLOOKUP y MATCH
De manera similar, puede utilizar la función MATCH de Excel para mejorar sus fórmulas HLOOKUP. El principio general es esencialmente el mismo que en el caso de Vlookup: se utiliza la función Match para obtener la posición relativa de la columna de retorno, y se suministra ese número a la función número_de_índice_de_fila de su fórmula Hlookup.
Suponiendo que el valor de búsqueda está en la celda B5, la matriz de la tabla es B1:H3, el nombre de la fila de retorno (valor de búsqueda para MATCH) está en la celda A6 y los encabezados de fila son A1:A3, la fórmula completa es la siguiente:
=HLOOKUP(B5, B1:H3, MATCH(A6, A1:A3, 0), FALSE)
Como acabas de ver, la combinación de Hlookup/Vlookup & Match es ciertamente una mejora sobre las fórmulas Hlookup y Vlookup normales. Sin embargo, la función MATCH no elimina todas sus limitaciones. En particular, una fórmula Vlookup Match sigue sin poder buscar a su izquierda, y Hlookup Match no puede buscar en ninguna fila que no sea la superior.
Para superar las limitaciones anteriores (y algunas otras), considere la posibilidad de utilizar una combinación de INDEX MATCH, que proporciona una forma realmente potente y versátil de realizar búsquedas en Excel, superior a Vlookup y Hlookup en muchos aspectos. La guía detallada y los ejemplos de fórmulas se pueden encontrar en INDEX & MATCH in Excel - a better alternative to VLOOKUP.
Así es como se utilizan las fórmulas MATCH en Excel. Espero que los ejemplos tratados en este tutorial te resulten útiles en tu trabajo. Te doy las gracias por leer y ¡espero verte en nuestro blog la semana que viene!
Cuaderno de prácticas para descargar
Ejemplos de fórmulas MATCH de Excel (archivo .xlsx)