jueves, 6 de febrero de 2020

Nueva función COINCIDIRX o XMATCH

Quizá una de mis funciones favoritas siempre ha sido COINCIDIR (hay en este mismo blog multitud de aplicaciones):
=COINCIDIR(valor_buscado; vector_donde_buscar; [tipo de coincidencia])
donde solo disponíamos de tres tipos de coincidencia exigida:
1 : menor que (predeterminado)
0 : coincidencia exacta
-1 : mayor que


Pues desde hace pocos días los usuarios de Office 365 canal mensual (pronto demás canales) disponemos de una función mejorada: COINCIDIRX o XMATCH:
= COINCIDIRX(valor_buscado; matriz_buscada; [modo_coincidencia]; [modo_búsqueda])

siendo:
Valor_buscado: El valor de búsqueda

Matriz_buscada: La matriz o rango para buscar... OJO, debe ser un vector!!

[modo_coincidencia]:El tipo de coincidencia:
0: coincidencia exacta (predeterminado)
-1: coincidencia exacta o el siguiente elemento menor
1: coincidencia exacta o el siguiente elemento de mayor tamaño
2: coincidencia de caracteres comodín (cuando *, ? y ~ tiene un significado especial).

[modo_búsqueda]: el tipo de búsqueda:
1: Búsqueda del primero al último (predeterminado).
-1: Búsqueda del último al primero (búsqueda inversa).
2: Búsqueda binaria en orden ascendente (si no está ordenado, se devolverán resultados no válidos).
-2: Búsqueda binaria en orden descendente (si no está ordenado, se devolverán resultados no válidos).


Se observa rápidamente que esta versión mejorada de COINCIDIR funciona en cualquier dirección y nos devuelve las coincidencias exactas de forma predeterminada, lo que hace que sea más fácil y conveniente de usar que su predecesora.

Veamos un cuadro aplicado sobre un ejemplo con todas las opciones mostradas.
En H4 para luego arrastrar al rango H4:J7:
=COINCIDIRX($G$3;$B$3:$B$16;H$3;$G4)

Nueva función COINCIDIRX o XMATCH



Y haciendo uso de comodines en la celda L4 para arrastrar a L4:L7:
=COINCIDIRX($K$3&"*";$B$3:$B$16;L$3;$G4)


Especial atención al emplear las opciones de búsquedas binarias, ya que se requiere la ordenación previa de los rangos para obtener resultados congruentes.

Igualmente interesante es la localización de la primera coincidencia (del primero al último) como la localización de la última coincidencia (del último al primero). Esto nos permite identificar fácilmente situaciones ocurridas en primer y último termino.

Veamos un ejemplo aplicado, combinando COINCIDIRX con su inseparable INDICE, pero además empleando las funciones desbordadas ORDENARPOR:

Nueva función COINCIDIRX o XMATCH


En la celda H11:
=COINCIDIRX(G11;ORDENARPOR(D3:D16;D3:D16;1);1;1)
obtenemos la posición que ocupa si buscamos 25 unidades vendidas, si estuvieran ordenadas de manera ASCENDENTE estas unidades, además buscamos la 'coincidencia exacta o el valor mayor'.

Mientras que en H14:
=COINCIDIRX(G11;ORDENARPOR(D3:D16;D3:D16;1);-1;1)
conseguimos la posición si la búsqueda fuera mediante la 'coincidencia exacta o el valor mayor'.

Lo vemos directamente sobre nuestro rango ordenado...

Nueva función COINCIDIRX o XMATCH



Con estas posiciones es fácil, mediante el uso de INDICE, conseguir el país correspondiente.
En I11
=INDICE(ORDENARPOR(B3:B16;D3:D16;1);H11)

Y en I14
=INDICE(ORDENARPOR(B6:B19;D6:D19;1);H14)

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.