Programa
En este artículo, te mostraré lo que hace que la función MATCH()
de Excel sea única en comparación con las demás funciones de búsqueda de Excel.
Lo que hace único a MATCH()
es que, a diferencia de VLOOKUP()
o HLOOKUP()
, que devuelven valores reales, MATCH()
nos da la posición de un valorlo que puede ser muy útil en muchas situaciones.eamos cómo.
La respuesta rápida
Para encontrar la posición de un valor utilizando la función MATCH()
:
-
Haz clic en una celda vacía donde quieras el resultado
-
Tipo
=MATCH(
-
A continuación, escribe el valor de búsqueda entre comillas
-
Selecciona
lookup_array
. -
Introduce el tipo de coincidencia (
0
para coincidencia exacta) y pulsa Intro.
Por ejemplo, tengo una lista de frutas y sus ventas en el intervalo A2:B6, y quiero encontrar la posición de la Naranja en esta lista. Para ello, escribo la siguiente fórmula y pulso Intro:
=MATCH(“Orange”, A2:A6, 0)
Aparecerá 4 porque Naranja es la cuarta fruta de la lista.
Utiliza la función MATCH(). Imagen del autor.
Entender MATCH() de Excel
Hay más de una forma de utilizar MATCH()
y cómo lo utilicemos puede cambiar lo que obtengamos de él. Entendamos esto con más detalle para que puedas decidir qué te conviene más.
¿Qué es la función MATCH()?
La función MATCH()
de Excel devuelve la posición de un valor en una lista. En lugar de dar el valor real, nos dice dónde se encuentra ese valor. Esto funciona mejor cuando tenemos que conocer la posición y no el valor en sí, especialmente para búsquedas dinámicas.
Sintaxis de la función MATCH()
La sintaxis de MATCH()
es:
MATCH(lookup_value, lookup_array, [match_type])
Toma:
-
lookup_value
es el valor que buscamos enlookup_array
. -
lookup_array
es la lista que busca ese valor. -
match_type
(opcional) indica cómo buscar.1
(por defecto) devuelve el mayor valor menor o igual quelookup_value
(la lista debe estar ordenada de forma ascendente).0
devuelve una coincidencia exacta. Y-1
devuelve el valor más pequeño mayor o igual que lo que buscas (la lista debe estar ordenada de forma descendente).
Aspectos clave que debes saber sobre la función MATCH()
Antes de utilizar la función MATCH()
, conviene saber algunas cosillas. Te ayudarán a evitar errores y te facilitarán las cosas:
-
MATCH()
no le importan las mayúsculas ni las minúsculas, así que manzana, Apple y APPLE se tratan igual. -
Si trabajamos con texto y establecemos el
match_type
en0
, podemos utilizar comodines como un*
para representar varios caracteres y un?
para representar un solo carácter. -
Si
MATCH()
no encuentra nuestro valor deseado, devolverá unerror#N/A
.
Ejemplos básicos de uso de MATCH() en Excel
Ahora que sabemos qué es la función MATCH()
y cómo funciona, vamos a ver cómo podemos utilizarla con algunos ejemplos:
Ejemplo 1: Encontrar la posición de un número
Supongamos que tengo un rango de números en la celda A2:A7
y quiero encontrar la posición del número 40
dentro de una lista. Para ello, puedo utilizar la función MATCH()
de la siguiente manera:
=MATCH(40, A2:A7, 0)
O también puedo utilizar una referencia de celda para el valor de búsqueda.
=MATCH(D1, A2:A7, 0)
Si miras el encabezamiento izquierdo de Excel, verás que el número 40
está en la fila 6. Pero el resultado muestra 5. Eso es porque empezamos a contar desde A2
. Así, cuando Excel cuenta a partir de ahí, nos da 5en lugar de 6.
Encuentra la posición de un número utilizando la función MATCH(). Imagen del autor.
Ejemplo 2: Encontrar la posición de un valor de texto
Tengo una lista de Jugadores en la celda A2:A7
y sus Puntuaciones en la celda B2:B7
ordenadas de forma ascendente, y quiero encontrar la posición del jugador Emily. Para ello, mi fórmula es la siguiente
=MATCH(E1,A2:A6, 0)
Esta fórmula busca el valor de la celda D1
en el rango A2:A7
y devuelve 3
porque Emily es el tercer jugador de la lista.
Encuentra la posición de un texto utilizando la función MATCH(). Imagen del autor.
Coincidencia difusa y coincidencia con comodines en Excel
A veces, los datos con los que trabajamos no son perfectos: puede haber erratas, distintas grafías o formatos desordenados. En estos casos, la concordancia difusa y con comodines puede ayudar a ordenar las cosas.
Coincidencia difusa
La concordancia difusa encuentra registros de listas diferentes que son similares pero no exactamente iguales. Esto es útil cuando hay una ligera variación o erratas como Frank vs. Feank.
Tengo dos conjuntos de datos: Lista de Pedidos de Clientes y Miembros del Programa de Fidelización. Y quiero comprobar quéPedidos de clientesestán ya en el Programa de Fidelización, aunque haya algunas variaciones debidas a erratas, apodos o diferencias de formato. Un VLOOKUP()
no funcionará aquí porque los nombres no coinciden exactamente.
Paso 1: Convertir datos en tablas
-
Selecciona Pedidos de clientes, pulsa
Ctrl + T
. -
Selecciona Miembros del Programa de Fidelizaciónpulsa
Ctrl + T
.
Asegúrate de que haya espacio entre las dos mesas para mantenerlas separadas.
Paso 2: Cargar datos en Power Query
- Haz clic en cualquier lugar dentro de Pedidos de clientesy nómbrala Pedidos_Tabla.
- Ir a Datos > Obtener datos > De Tabla/Rango.
- Haz clic en Cerrar y cargar para cargarlo en Power Query.
- Repite los pasos 1-3 para Miembros del Programa de Fidelizacióny nómbrala Tabla_Lealtad pero esta vez selecciona Cerrar y Cargar en y cárgala en la misma hoja de Excel.
Ahora, ambas tablas están cargadas en Power Query.
Carga las tablas en Power Query. Imagen del autor.
Paso 3: Fusionar tablas mediante concordancia difusa
- Ir a Datos > Obtener datos > Combinar consultas > Combinar consultas.
- En la ventana Fusionar, selecciona la primera tabla (Tabla_pedidos) y la segunda tabla (Tabla_Lealtad)
- Selecciona Nombre del cliente en ambas tablas.
- Comprueba la Utilizar concordancia difusa casilla
- Haz clic en el desplegable y establece el umbral de similitud en 0.3 (Permite algunas variaciones como erratas o apodos).
Utiliza la concordancia difusa para fusionar las tablas. Imagen del autor.
Power Query ahora hará coincidir nombres similares en lugar de exactos.
Paso 4: Ampliar los datos emparejados
- Pulsa el icono icono de expansión junto a la columna coincidente.
- Selecciona Nombre del cliente de Tabla_Lealtad y pulsa OK.
- Cerrar y cargar los resultados en Excel.
Puedes ver en la imagen de abajo que la búsqueda difusa ha emparejado automáticamente a los clientes con variaciones de nombre.
Tablas fusionadas mediante la concordancia difusa. Imagen del autor.
Partido comodín
La concordancia con comodines nos ayuda a encontrar nombres o valores cuando sólo conocemos parte de lo que buscamos. Ayuda cuando trabajamos con entradas similares o recuerdos borrosos. Podemos utilizar dos comodines:
-
*
coincide con cualquier número de caracteres (Ej, Jo coincide con Juan y Jonathan). -
?
coincide con un solo carácter (Ej, J?ck coincide con Jack pero no con Jake).
Así es como funcionan:
-
A*
coincide con cualquier cosa que empiece por A. -
*A
coincide con cualquier cosa que termine en A. -
*A*
coincide con cualquier cosa que contenga A en cualquier parte de la celda.
Por ejemplo, para encontrar el nombre de la persona cuyo nombre termina en eutilizo
=MATCH("*e", A2:A11, 0)
Puedes ver en la imagen siguiente que la fórmula devuelve 3
porque el nombre Charlie termina en e.
Busca la posición utilizando comodines. Imagen del autor.
Combinar MATCH() con otras funciones de Excel
MATCH()
resulta aún más útil cuando la combinamos con otras funciones. Hace que nuestras fórmulas sean más flexibles y fáciles de actualizar. Veamos cómo.
Combinar MATCH() con INDEX()
MATCH()
suele combinarse con INDEX()
para realizar búsquedas potentes. Udiferencia de VLOOKUP(), que sólo puede buscar de izquierda a derecha, INDEX() y MATCH() trabajan juntos para buscar valores en cualquier dirección.
Por ejemplo, tengo una lista de jugadores y sus puntuaciones, y quiero encontrar la puntuación de Brian. Para ello, utilizo la siguiente fórmula:
=INDEX(B2:B11,MATCH("Brian",A2:A11,0))
Y con la referencia de la celda, parece
=INDEX(B2:B11, MATCH(E1, A2:A11, 0))
Combina INDEX() y MATCH(). Imagen del autor.
Utilizar MATCH() para la selección dinámica de columnas en VLOOKUP()
Sabemos que VLOOKUP()
requiere introducir manualmente el número de columna donde está el resultado. Si cambian las columnas, tenemos que actualizar la fórmula. Para evitarlo, podemos utilizar MATCH()
para encontrar automáticamente la columna de la derecha.
Por ejemplo, tengo un conjunto de datos y quiero averiguar el nombre del equipo de Emily
. Con VLOOKUP()
, la fórmula tiene este aspecto:
=VLOOKUP(F1, A2:C12, 3, FALSE)
Esta fórmula sólo puede buscar de izquierda a derecha, y el número de columna 3
es fijo, por lo que si las columnas cambian, tengo que actualizar la fórmula manualmente.
Así, en lugar de codificar el número de columna en VLOOKUP()
, podemos combinar MATCH()
de esta forma:
=VLOOKUP(F1, A2:C12, MATCH("Team", A1:C1, 0), FALSE)
En esta fórmula, MATCH("Team", A1:C1, 0)
busca qué columna contiene el Equipo y lo devuelve. A continuación, VLOOKUP(F1, A2:C4, 3, FALSE)
extrae los datos de la tercera columna en lugar de un número fijo.
Combina VLOOKUP() y MATCH(). Imagen del autor.
MATCH() sensible a mayúsculas y minúsculas utilizando EXACT()
Por defecto, MATCH()
ignora las mayúsculas y las minúsculas, por lo que Apple y apple se tratarán igual. Si necesitamos una búsqueda que distinga entre mayúsculas y minúsculas, tenemos que combinar MATCH()
con la función EXACT()
de la siguiente manera:
=MATCH(TRUE, EXACT(A2:A7, D2), 0)
Se trata de una fórmula de matriz, así que pulsa Ctrl + Shift + Enter
. En esta fórmula, EXACT(A2:A4, "Emily")
comprueba cada nombre y devuelve TRUE
sólo para la coincidencia exacta. MATCH(TRUE, ...)
encuentra entonces el primer TRUE
y devuelve la posición.
Combina EXACT() y MATCH(). Imagen del autor.
Reflexiones finales
MATCH()
los comodines y la concordancia difusa pueden parecer un poco complicados al principio, pero con algo de práctica pueden ahorrarnos mucho tiempo. Son especialmente útiles cuando trabajamos con datos desordenados o necesitamos formas más flexibles de encontrar cosas en una hoja de cálculo.
Si quieres explorar más, nuestro curso Análisis de datos en Excel es un gran paso siguiente. O consulta nuestro curso de Fundamentos de Excel para mejorar tus conocimientos básicos y sentirte más seguro utilizando funciones como éstas.
Puede que cometas errores al principio, pero no te estreses si tardas unos cuantos intentos. Todo forma parte de sentirse cómodo con Excel.
Avanza en tu carrera con Excel
Adquiere los conocimientos necesarios para sacar el máximo partido a Excel, sin necesidad de experiencia.
Soy una estratega de contenidos a la que le encanta simplificar temas complejos. He ayudado a empresas como Splunk, Hackernoon y Tiiny Host a crear contenidos atractivos e informativos para su público.
Preguntas frecuentes sobre Excel
¿Puedo comparar dos columnas por coincidencias y diferencias?
Puedes utilizar las funciones ISNA()
y MATCH()
para comprobar si los valores de una lista existen en otra.
=IF(ISNA(MATCH(B1,A1:A6,0)),"Not Present","Present")
Si un valor de la columna B no se encuentra en la columna A, la fórmula devuelve "No en la Lista 1".
¿Cómo tratar los errores al utilizar `MATCH()`?
Cuando la función MATCH()
no encuentra un valor, devuelve un error #N/A
. Para sustituirlo por un mensaje personalizado, envuelve tu fórmula alrededor de la función IFERROR()
de la siguiente manera:
=IFERROR(MATCH("Apple", A1:A5, 0), "Not Found")
Esta fórmula mostrará un mensaje personalizado en lugar de un error.