
Generisk formel
=(SUMPRODUCT(--ISNUMBER(SEARCH(include,A1)))>0) *(SUMPRODUCT(--ISNUMBER(SEARCH(exclude,A1)))=0)
Resumé
For at teste en celle for en af mange strenge, mens du ekskluderer andre, kan du bruge en formel baseret på funktionerne SØG, ISNUMBER og SUMPRODUCT. I det viste eksempel er formlen i C5:
=(SUMPRODUCT(--ISNUMBER(SEARCH(include,B5)))>0) *(SUMPRODUCT(--ISNUMBER(SEARCH(exclude,B5)))=0)
hvor "inkludere" er det navngivne område E5: E9, og "ekskluder" er det navngivne område G5: G6.
Forklaring
I kernen bruger denne formel SEARCH-funktionen til at lede efter flere strenge inde i en celle. Inde i venstre SUMPRODUCT søger SEARCH efter alle strenge i det navngivne område "inkluderer".
I højre SUMPRODUCT søger SEARCH efter alle strenge i det navngivne område "ekskluder".
I begge dele af formlen returnerer SEARCH numeriske positioner, når der findes strenge, og fejl, når ikke. ISNUMBER-funktionen konverterer tallene til SAND og fejl til FALSK, og det dobbelte negative konverterer SAND FALSK-værdier til 1 og 0.
Resultatet på dette tidspunkt ser sådan ud:
=(SUMPRODUCT((1;0;0;0;0))>0)*(SUMPRODUCT((0;0))=0)
Derefter:
=(1>0)*(0=0) =TRUE*TRUE =1
Bemærk: denne formel returnerer enten 1 eller nul, som håndteres som SAND og FALSK i formler, betinget formatering eller datavalidering.