
Generisk formel
=XLOOKUP(1,--EXACT(range1,"RED"),range2)
Resumé
For at oprette en nøjagtig matchning mellem store og små bogstaver kan du bruge funktionen XLOOKUP med funktionen EXAKT. I det viste eksempel er formlen i F5:
=XLOOKUP(1,--EXACT(B5:B15,"RED"),B5:D15)
der matcher på "RØD" (store og små bogstaver) og returnerer hele rækken.
Forklaring
I sig selv er XLOOKUP-funktionen ikke store og små bogstaver. En opslagsværdi på "RØD" svarer til "rød", "RØD" eller "Rød". Vi kan omgå denne begrænsning ved at konstruere et passende opslagsarray til XLOOKUP med et logisk udtryk.
Arbejder indefra og ud for at give XLOOKUP muligheden for at matche sag, bruger vi den PRÆCISE funktion som denne:
EXACT(B5:B15,"RED") // test for "RED"
Da der er 11 værdier i området E5: D15, returnerer EXACT en matrix med 11 TRUE FALSE-resultater som denne:
(FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE)
Bemærk placeringen af SAND svarer til rækken, hvor farven er "RØD".
For kortfattethed (og for at tillade, at logikken let kan udvides med boolsk logik), tvinger vi de SANDE FALSKE værdier til 1s og 0s med det dobbelte negative:
--EXACT(B5:B15,"RED") // convert to 1s and 0s
som giver en matrix som denne:
(0;0;0;0;1;0;0;0;0;0;0)
Bemærk, at positionen 1 svarer til rækken, hvor farven er "RØD". Denne matrix returneres direkte til XLOOKUP-funktionen som opslagsarrayargument.
Vi kan nu simpelthen formlen til:
=XLOOKUP(1,(0;0;0;0;1;0;0;0;0;0;0),B5:D15)
Med en opslagsværdi på 1 finder XLOOKUP den 1 i 5. position og returnerer 5. række i returarrayet, B9: D9.
Udvidelse af logikken
Logikens struktur kan let udvides. For eksempel for at indsnævre kampen til "RØD" i april måned kan du bruge en formel som denne:
=XLOOKUP(1,EXACT(B5:B15,"RED")*(MONTH(C5:C15)=4),B5:D15)
Her, fordi hvert af de to udtryk returnerer en matrix med SAND FALSKE værdier, og fordi disse matrixer multipliceres sammen, tvinger matematikoperationen de SANDE og FALSKE værdier til 1s og 0s. Det er ikke nødvendigt at bruge det dobbelte negative.
Da opslagsværdien forbliver 1, som i formlen ovenfor.
Første og sidste kamp
Begge formler ovenfor returnerer den første match af "RØD" i et datasæt. Hvis du har brug for det sidste match, kan du foretage en omvendt opslag ved at indstille argumentet for søgefunktion for XLOOKUP til -1:
=XLOOKUP(1,--EXACT(B5:B15,"RED"),B5:D15,,,-1) // last match
Hvis du har brug for at returnere resultater fra flere kampe, se FILTER-funktionen.