viernes, 12 de junio de 2020

EXCEL: BUSCARX con criterios lógicos

Excel formula: XLOOKUP with logical criteria

Fórmula genérica

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

Explicación

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

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

que devuelve 0347, el número de pedido del primer registro que cumple con los criterios suministrados.

Nota BUSCARX no distingue entre mayúsculas y minúsculas.

Cómo funciona esta fórmula

BUSCARX 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, estamos buscando el número de pedido del primer pedido a Chicago por más de $ 250. Estamos construyendo una matriz de búsqueda utilizando 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 esta:

{FALSO;FALSO;VERDADERO;FALSO;FALSO;FALSO;FALSO;VERDADERO;FALSO;FALSO}*
{FALSO;FALSO;FALSO;VERDADERO;VERDADERO;VERDADERO;FALSO;VERDADERO;FALSO;FALSO}

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

{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:

=BUSCARX(1,{0;0;0;0;0;0;0;1;0;0},B5:B14)

BUSCARX coincide con el 1 en la 8ª posición y devuelve el 8º 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 usan múltiples expresiones, un valor de búsqueda de 1 tiene sentido. En los casos en que solo tiene un criterio único, por ejemplo, "cantidad> 250", puede buscar VERDADERO en su lugar de esta manera:

=BUSCARX(VERDADERO,E5:E14>250,B5:B14)

Alternativamente, puede forzar los valores VERDADERO FALSO a 1 y 0, y usar 1 como este.

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

Comentarios en Facebook


0 comentarios:

Copyright © 2021 TRUJILLOSOFT