
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.