viernes, 12 de junio de 2020

EXCEL: BUSCARX con lógica O booleana

Excel formula: XLOOKUP with boolean OR logic

Fórmula genérica

=BUSCARX(1,boolean_expression,data)

Explicación

Para configurar BUSCARX con lógica O booleana, use un valor de búsqueda de 1 con una expresión lógica basada en la suma. En el ejemplo que se muestra, la fórmula en G5 es:

=BUSCARX(1,(data[Color]="red")+(data[Color]="pink"),data)

donde "datos" es el nombre de la tabla de Excel a la izquierda.

Cómo funciona esta fórmula

El valor de búsqueda se proporciona como 1, por razones que quedan claras a continuación. Para la matriz de búsqueda, utilizamos una expresión basada en la lógica booleana:

(data[Color]="red")+(data[Color]="pink")

En el mundo del álgebra booleana, la lógica Y corresponde a la multiplicación (*), y la lógica O corresponde a la suma (+). Como queremos la lógica O, usamos la suma en este caso. Tenga en cuenta que Excel no distingue entre mayúsculas y minúsculas, por lo que no necesitamos poner en mayúscula los colores.

Después de evaluar la expresión, tenemos dos matrices de valores VERDADERO y FALSO como esta:

{FALSO;FALSO;VERDADERO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO}+
{FALSO;FALSO;FALSO;FALSO;VERDADERO;FALSO;FALSO;FALSO;FALSO;VERDADERO}

Observe que, en la primera matriz, los valores VERDADERO corresponden a "rojo". En la segunda matriz, los valores VERDADERO corresponden a "rosa".

La operación matemática de agregar estas matrices juntas convierte los valores VERDADERO y FALSO en 1s y 0s, y da como resultado una nueva matriz compuesta solo por 1s y 0s:

{0;0;1;0;1;0;0;0;0;1}

Observe que los 1 en esta matriz corresponden a filas donde el color es "rojo" o "rosa".

Ahora podemos reescribir la fórmula como:

=BUSCARX(1,{0;0;1;0;1;0;0;0;0;1},data)

El primer 1 en la matriz de búsqueda corresponde a la fila tres de los datos, donde el color es "rojo". Dado que BUSCARX devolverá por defecto la primera coincidencia, y dado que toda la tabla "datos" se proporciona como la matriz de retorno, BUSCARX devuelve la tercera fila como resultado final.


Comentarios en Facebook


0 comentarios:

Copyright © 2021 TRUJILLOSOFT