miércoles, 10 de junio de 2020

EXCEL: Unir tablas con INDICE y COINCIDIR

Excel formula: Join tables with INDEX and MATCH

Fórmula genérica

=INDICE(data,COINCIDIR(lookup,ids,0),2)

Explicación

Para unir o fusionar tablas que tienen una identificación común, puede usar las funciones INDICE y COINCIDIR. En el ejemplo que se muestra, la fórmula en E5 es:
=INDICE(data,COINCIDIR($C5,ids,0),2)
donde "datos" es el rango nombrado H5: J8 y "ids" es el rango nombrado H5: H8.

Cómo funciona esta fórmula

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 usa para localizar al cliente correcto y la función INDICE se usa para recuperar los datos.

Recuperando nombre de cliente

Trabajando de adentro hacia afuera, la función COINCIDIR se usa para obtener un número de fila como este:
COINCIDIR($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 INDICE como el número de fila:
=INDICE(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 de "datos" con nombre (H5: J8) INDICE 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 de estado aparece en la tercera columna:
=INDICE(data,COINCIDIR($C5,ids,0),2) // get name
=INDICE(data,COINCIDIR($C5,ids,0),3) // get state

Partido dinámico de dos vías

Al agregar otra función COINCIDIR a la fórmula, puede configurar una coincidencia dinámica de dos vías. Por ejemplo, con los "encabezados" de rango con nombre para H4: J4, puede usar una fórmula como esta:
=INDICE(data,COINCIDIR($C5,ids,0),COINCIDIR(E$4,headers,0))
Aquí, se ha agregado una segunda función COINCIDIR para obtener el número de columna correcto. COINCIDIR utiliza 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.

Comentarios en Facebook


0 comentarios:

Copyright © 2021 TRUJILLOSOFT