Fórmula de Excel: XLOOKUP distingue entre mayúsculas y minúsculas -

Tabla de contenido

Fórmula genérica

=XLOOKUP(1,--EXACT(range1,"RED"),range2)

Resumen

Para crear una coincidencia exacta que distinga entre mayúsculas y minúsculas, puede utilizar la función XLOOKUP con la función EXACT. En el ejemplo que se muestra, la fórmula en F5 es:

=XLOOKUP(1,--EXACT(B5:B15,"RED"),B5:D15)

que coincide con "RED" (distingue entre mayúsculas y minúsculas) y devuelve la fila completa.

Explicación

Por sí misma, la función XLOOKUP no distingue entre mayúsculas y minúsculas. Un valor de búsqueda de "ROJO" coincidirá con "rojo", "ROJO" o "Rojo". Podemos solucionar esta limitación construyendo una matriz de búsqueda adecuada para XLOOKUP con una expresión lógica.

Trabajando desde adentro hacia afuera, para darle a XLOOKUP la capacidad de hacer coincidir el caso, usamos la función EXACTA como esta:

EXACT(B5:B15,"RED") // test for "RED"

Dado que hay 11 valores en el rango E5: D15, EXACT devuelve una matriz con 11 resultados VERDADEROS FALSOS como este:

(FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE)

Observe que la posición de VERDADERO corresponde a la fila donde el color es "ROJO".

Por brevedad (y para permitir que la lógica se extienda fácilmente con la lógica booleana), forzamos los valores VERDADERO FALSO a 1 y 0 con el doble negativo:

--EXACT(B5:B15,"RED") // convert to 1s and 0s

que produce una matriz como esta:

(0;0;0;0;1;0;0;0;0;0;0)

Observe que la posición de 1 corresponde a la fila donde el color es "ROJO". Esta matriz se devuelve directamente a la función XLOOKUP como argumento de matriz de búsqueda.

Ahora podemos simplemente la fórmula para:

=XLOOKUP(1,(0;0;0;0;1;0;0;0;0;0;0),B5:D15)

Con un valor de búsqueda de 1, XLOOKUP encuentra el 1 en la quinta posición y devuelve la quinta fila en la matriz de retorno, B9: D9.

Extendiendo la lógica

La estructura de la lógica se puede ampliar fácilmente. Por ejemplo, para reducir la coincidencia a "ROJO" en el mes de abril, puede utilizar una fórmula como esta:

=XLOOKUP(1,EXACT(B5:B15,"RED")*(MONTH(C5:C15)=4),B5:D15)

Aquí, debido a que cada una de las dos expresiones devuelve una matriz de valores VERDADERO FALSO, y debido a que estas matrices se multiplican juntas, la operación matemática convierte los valores VERDADERO y FALSO en 1 y 0. No es necesario utilizar el doble negativo.

Como el valor de búsqueda sigue siendo 1, como en la fórmula anterior.

Primer y último partido

Ambas fórmulas anteriores devolverán la primera coincidencia de "ROJO" en un conjunto de datos. Si necesita la última coincidencia, puede realizar una búsqueda inversa configurando el argumento del modo de búsqueda para XLOOKUP en -1:

=XLOOKUP(1,--EXACT(B5:B15,"RED"),B5:D15,,,-1) // last match

Si necesita devolver resultados de varias coincidencias, consulte la función FILTRO.

Articulos interesantes...