Fórmula de Excel: unir tablas con INDICE y MATCH -

Tabla de contenido

Fórmula genérica

=INDEX(data,MATCH(lookup,ids,0),2)

Resumen

Para unir o fusionar tablas que tienen un ID común, puede usar las funciones INDICE y COINCIDIR. En el ejemplo que se muestra, la fórmula en E5 es:

=INDEX(data,MATCH($C5,ids,0),2)

donde "datos" es el rango con nombre H5: J8 e "ids" es el rango con nombre H5: H8.

Explicación

Esta fórmula extrae el nombre y el estado del cliente de la tabla de clientes a la tabla de pedidos. La función COINCIDIR se utiliza para localizar al cliente correcto y la función INDICE se utiliza para recuperar los datos.

Recuperando el nombre del cliente

Trabajando de adentro hacia afuera, la función COINCIDIR se usa para obtener un número de fila como este:

MATCH($C5,ids,0)

  • El valor de búsqueda viene con la identificación del cliente en C5, que es una referencia mixta, con la columna bloqueada, por lo que la fórmula se puede copiar fácilmente.
  • La matriz de búsqueda son los identificadores de rango con nombre (H5: H8), la primera columna de la tabla de clientes.
  • El tipo de coincidencia se establece en cero para forzar una coincidencia exacta.

La función COINCIDIR devuelve 2 en este caso, que entra en ÍNDICE como número de fila:

=INDEX(data,2,2)

Con el número de columna codificado como 2 (los nombres de los clientes están en la columna 2) y la matriz establecida en el rango con nombre "datos" (H5: J8) INDEX devuelve: Amy Chang.

Recuperando el estado del cliente

La fórmula para recuperar el estado del cliente es casi idéntica. La única diferencia es que el número de columna está codificado como 3, ya que la información del estado aparece en la tercera columna:

=INDEX(data,MATCH($C5,ids,0),2) // get name =INDEX(data,MATCH($C5,ids,0),3) // get state

Coincidencia bidireccional dinámica

Al agregar otra función COINCIDIR a la fórmula, puede configurar una coincidencia bidireccional dinámica. Por ejemplo, con los "encabezados" de rango con nombre para H4: J4, puede usar una fórmula como esta:

=INDEX(data,MATCH($C5,ids,0),MATCH(E$4,headers,0))

Aquí, se ha agregado una segunda función COINCIDIR para obtener el número de columna correcto. COINCIDIR usa el encabezado de columna actual en la primera tabla para ubicar el número de columna correcto en la segunda tabla y automáticamente devuelve este número a INDICE.

Articulos interesantes...