Formula Excel: XLOOKUP con logica OR booleana -

Formula generica

=XLOOKUP(1,boolean_expression,data)

Sommario

Per configurare XLOOKUP con logica OR booleana, utilizzare un valore di ricerca 1 con un'espressione logica basata sull'addizione. Nell'esempio mostrato, la formula in G5 è:

=XLOOKUP(1,(data(Color)="red")+(data(Color)="pink"),data)

dove "dati" è il nome della tabella Excel a sinistra.

Spiegazione

Il valore di ricerca viene fornito come 1, per ragioni che diventano chiare di seguito. Per l'array di ricerca, utilizziamo un'espressione basata sulla logica booleana:

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

Nel mondo dell'algebra booleana, la logica AND corrisponde alla moltiplicazione (*) e la logica OR corrisponde all'addizione (+). Poiché vogliamo la logica OR, in questo caso usiamo l'addizione. Si noti che Excel non distingue tra maiuscole e minuscole, quindi non è necessario utilizzare le maiuscole per i colori.

Dopo che l'espressione è stata valutata, abbiamo due array di valori TRUE e FALSE come questo:

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

Notare, nel primo array, i valori TRUE corrispondono a "red". Nella seconda matrice, i valori TRUE corrispondono a "pink".

L'operazione matematica di aggiunta di questi array converte i valori TRUE e FALSE in 1 e 0 e risulta in un nuovo array composto solo da 1 e 0:

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

Notare che gli 1 in questa matrice corrispondono alle righe in cui il colore è "rosso" o "rosa".

Ora possiamo riscrivere la formula come:

=XLOOKUP(1,(0;0;1;0;1;0;0;0;0;1),data)

Il primo 1 nella matrice di ricerca corrisponde alla riga tre dei dati, dove il colore è "rosso". Poiché XLOOKUP restituirà per impostazione predefinita la prima corrispondenza e poiché l'intera tabella "dati" viene fornita come matrice di ritorno, XLOOKUP restituisce la terza riga come risultato finale.

Articoli interessanti...