Fórmula de Excel: ubicación más cercana con XMATCH -

Tabla de contenido

Fórmula genérica

=INDEX(location,XMATCH(0,distance,1))

Resumen

Para ubicar la ubicación más cercana por distancia, puede usar una fórmula basada en la función XMATCH con la función INDICE. En el ejemplo que se muestra, la fórmula en la celda E5 es:

=INDEX(location,XMATCH(0,distance,1))

donde la ubicación (B5: B12) y la distancia (C5: C12) se denominan rangos.

Explicación

En esencia, esta fórmula es una fórmula básica de INDICE y COINCIDIR. Sin embargo, en lugar de usar la función MATCH anterior, estamos usando la función XMATCH, que proporciona una configuración de modo de coincidencia más potente:

=INDEX(location,XMATCH(0,distance,1))

Trabajando desde adentro hacia afuera, estamos usando la función XMATCH para encontrar la posición de la ubicación más cercana:

XMATCH(0,distance,1) // find row nearest zero

Lo hacemos estableciendo el valor de búsqueda en cero (0), la matriz de búsqueda en la distancia (C5: C12) y el modo de coincidencia en 1.

Un valor de modo de coincidencia de 1 le dice a XMATCH que encuentre una coincidencia exacta o el siguiente valor más grande. Dado que el valor de búsqueda se proporciona como cero (0), XMATCH encontrará la primera distancia mayor que cero. Un buen beneficio de XMATCH, lo que lo distingue de MATCH, es que no se ordena la matriz de búsqueda. Independientemente del orden, MATCH devolverá la primera coincidencia exacta o el siguiente valor más grande.

En el ejemplo, XMATCH devuelve 5, ya que la distancia más pequeña es 7 (ubicación G), que aparece en quinto lugar en la lista. La fórmula resuelve:

=INDEX(location,5) // returns "G"

e INDICE devuelve el quinto elemento de la ubicación del rango con nombre (B5: B12), que es "G".

Nota: en el par de un empate, XMATCH devolverá la primera coincidencia para los valores empatados.

Obtener distancia

La fórmula para devolver la distancia real de la ubicación más cercana es casi la misma. En lugar de dar a INDEX los nombres de las ubicaciones, le damos a INDEX las distancias. La fórmula en F5 es:

=INDEX(distance,XMATCH(0,distance,1)) // returns distance

XMATCH devuelve el mismo resultado que el anterior (5) e INDICE devuelve 7.

Articulos interesantes...