
Generisk formel
=XLOOKUP(1,--EXACT(range1,"RED"),range2)
Sammendrag
For å lage en saksfølsom eksakt samsvar, kan du bruke XLOOKUP-funksjonen med EXACT-funksjonen. I eksemplet vist er formelen i F5:
=XLOOKUP(1,--EXACT(B5:B15,"RED"),B5:D15)
som samsvarer med "RØD" (store og små bokstaver) og returnerer hele raden.
Forklaring
I seg selv er ikke XLOOKUP-funksjonen ikke mellom store og små bokstaver. En oppslagsverdi på "RØD" vil samsvare med "rød", "RØD" eller "Rød". Vi kan omgå denne begrensningen ved å konstruere en passende oppslagsmatrise for XLOOKUP med et logisk uttrykk.
Når vi arbeider fra innsiden og ut for å gi XLOOKUP muligheten til å matche saken, bruker vi den NØYAKTIGE funksjonen slik:
EXACT(B5:B15,"RED") // test for "RED"
Siden det er 11 verdier i området E5: D15, returnerer EXACT en matrise med 11 TRUE FALSE-resultater slik:
(FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE)
Legg merke til at posisjonen til SANT tilsvarer raden der fargen er "RØD".
For kortfattethet (og for å la logikken enkelt utvides med boolsk logikk), tvinger vi de SANNE FALSKE verdiene til 1s og 0s med det dobbelte negative:
--EXACT(B5:B15,"RED") // convert to 1s and 0s
som gir en matrise som dette:
(0;0;0;0;1;0;0;0;0;0;0)
Legg merke til at posisjonen 1 tilsvarer raden der fargen er "RØD". Denne matrisen returneres direkte til XLOOKUP-funksjonen som argument for oppslagsmatrise.
Vi kan nå bare formelen til:
=XLOOKUP(1,(0;0;0;0;1;0;0;0;0;0;0),B5:D15)
Med en oppslagsverdi på 1, finner XLOOKUP 1 i 5. posisjon, og returnerer 5. rad i returoppstillingen, B9: D9.
Utvide logikken
Logikkens struktur kan lett utvides. Hvis du for eksempel vil begrense kampen til "RØD" i april måned, kan du bruke en formel som denne:
=XLOOKUP(1,EXACT(B5:B15,"RED")*(MONTH(C5:C15)=4),B5:D15)
Her, fordi hvert av de to uttrykkene returnerer en matrise med SANNE FALSE-verdier, og fordi disse matriser multipliseres sammen, tvinger matematikkoperasjonen de SANNE og FALSE-verdiene til 1s og 0s. Det er ikke nødvendig å bruke det dobbelte negative.
Siden oppslagsverdien forblir 1, som i formelen ovenfor.
Første og siste kamp
Begge formlene ovenfor vil returnere den første kampen av "RØD" i et datasett. Hvis du trenger den siste kampen, kan du utføre en omvendt oppslag ved å sette søkemodusargumentet for XLOOKUP til -1:
=XLOOKUP(1,--EXACT(B5:B15,"RED"),B5:D15,,,-1) // last match
Hvis du trenger å returnere resultater fra flere kamper, se FILTER-funksjonen.