
Generisk formel
=XLOOKUP(1,boolean_expression,data)
Sammanfattning
För att konfigurera XLOOKUP med boolsk ELLER-logik, använd ett uppslagsvärde 1 med ett logiskt uttryck baserat på tillägg. I exemplet som visas är formeln i G5:
=XLOOKUP(1,(data(Color)="red")+(data(Color)="pink"),data)
där "data" är namnet på Excel-tabellen till vänster.
Förklaring
Sökningsvärdet anges som 1, av skäl som blir tydliga nedan. För uppslagsmatrisen använder vi ett uttryck baserat på boolesk logik:
(data(Color)="red")+(data(Color)="pink")
I världen av boolesk algebra motsvarar AND-logiken multiplikation (*) och OR-logiken motsvarar addition (+). Eftersom vi vill ha ELLER-logik använder vi addition i det här fallet. Observera att Excel inte är skiftlägeskänsligt, så vi behöver inte använda stora färger.
Efter att uttrycket har utvärderats har vi två matriser med SANT och FALSKA värden så här:
(FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE)+ (FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE)
Observera, i den första matrisen motsvarar SANT värden "rött". I den andra matrisen motsvarar Sanna värden "rosa".
Den matematiska operationen för att lägga till dessa matriser omvandlar SANT och FALSKA värden till 1s och 0s, och resulterar i en ny array som endast består av 1s och 0s:
(0;0;1;0;1;0;0;0;0;1)
Observera att 1s i denna matris motsvarar rader där färgen är antingen "röd" eller "rosa".
Vi kan nu skriva om formeln som:
=XLOOKUP(1,(0;0;1;0;1;0;0;0;0;1),data)
Den första 1 i uppslagsmatrisen motsvarar rad tre av data, där färgen är "röd". Eftersom XLOOKUP som standard returnerar den första matchningen, och eftersom hela tabellen "data" tillhandahålls som returmatris, returnerar XLOOKUP den tredje raden som ett slutresultat.