Fórmula de Excel: XLOOKUP con criterios lógicos -

Tabla de contenido

Fórmula genérica

=XLOOKUP(1,(rng1="red")*(rng2>100),results)

Resumen

Para usar XLOOKUP con lógica múltiple, cree expresiones con lógica booleana y luego busque el número 1. En el ejemplo, XLOOKUP se usa para buscar la primera venta a Chicago de más de $ 250. La fórmula en G6 es:

=XLOOKUP(1,(D5:D14="chicago")*(E5:E14>250),B5:B14)

que devuelve 0347, el número de orden del primer registro que cumple los criterios proporcionados.

Tenga en cuenta que XLOOKUP no distingue entre mayúsculas y minúsculas.

Explicación

XLOOKUP puede manejar matrices de forma nativa, lo que lo convierte en una función muy útil al construir criterios basados ​​en múltiples expresiones lógicas.

En el ejemplo que se muestra, buscamos el número de pedido del primer pedido a Chicago superior a $ 250. Estamos construyendo una matriz de búsqueda usando la siguiente expresión y lógica booleana:

(D5:D14="chicago")*(E5:E14>250)

Cuando se evalúa esta expresión, primero obtenemos dos matrices de valores VERDADERO FALSO como este:

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

Cuando las dos matrices se multiplican entre sí, la operación matemática da como resultado una única matriz de unos y ceros como esta:

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

Ahora tenemos la siguiente fórmula, y puede ver por qué estamos usando 1 para el valor de búsqueda:

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

XLOOKUP coincide con el 1 en la octava posición y devuelve el octavo valor correspondiente de B5: B14, que es 0347.

Con un solo criterio

Como se vio anteriormente, las operaciones matemáticas coaccionan automáticamente los valores VERDADERO y FALSO a 1 y 0. Por lo tanto, cuando se utilizan varias expresiones, tiene sentido un valor de búsqueda de 1. En los casos en los que solo tenga un criterio único, por ejemplo, "cantidad> 250", puede buscar VERDADERO en su lugar de esta manera:

=XLOOKUP(TRUE,E5:E14>250,B5:B14)

Alternativamente, puede forzar los valores VERDADERO FALSO a 1 y 0, y usar 1 de esta manera.

=XLOOKUP(1,--(E5:E14>250),B5:B14)

Articulos interesantes...