
Generisk formel
=SUMPRODUCT(--ISNUMBER(SEARCH(keywords,A1)))
Resumé
For at tælle antallet af specifikke ord eller nøgleord, der vises i en given celle, kan du bruge en formel baseret på funktionerne SØG, ISNUMBER og SUMPRODUKT. I det viste eksempel er formlen i C5:
=SUMPRODUCT(--ISNUMBER(SEARCH(keywords,B5)))
hvor "nøgleord" er det navngivne interval E5: E9.
Forklaring
Bemærk: hvis et nøgleord vises mere end én gang i en given celle, tælles det kun en gang. Med andre ord tæller formlen kun forekomster af forskellige nøgleord.
Kernen i denne formel er ISNUMBER + SEARCH-tilgangen til at finde tekst i en celle, hvilket forklares mere detaljeret her. I dette tilfælde ser vi i hver celle efter alle ord i det navngivne interval "nøgleord" (E5: E9). Vi gør dette ved at overføre intervallet til SEARCH som find_text-argumentet. Fordi vi videregiver i en vifte af 5 emner:
("green";"orange";"white";"blue";"pink")
vi får en række på 5 varer tilbage som et resultat:
(#VALUE!;#VALUE!;1;#VALUE!;14)
Tal svarer til tændstikker, og #VÆRDI! fejl betyder, at der ikke blev fundet noget match. I dette tilfælde, fordi vi ikke er ligeglade med, hvor teksten blev fundet i cellen, bruger vi ISNUMBER til at konvertere matrixen til SAND og FALSK værdi:
(FALSE;FALSE;TRUE;FALSE;TRUE)
Og det dobbelte negative (-) for at ændre disse til 1'er og nuller:
(0;0;1;0;1)
SUMPRODUCT-funktionen returnerer derefter simpelthen summen af arrayet, 2 i dette tilfælde.
Håndtering af tomme søgeord
Hvis nøgleordsområdet indeholder tomme celler, fungerer formlen ikke korrekt, fordi SEARCH-funktionen returnerer nul, når du leder efter en tom streng (""). For at filtrere eventuelle tomme celler i søgeordsområdet kan du bruge nedenstående variant:
(=SUMPRODUCT(--ISNUMBER(SEARCH(IF(keywords"",keywords),B5))))
Bemærk: denne version er en matrixformel og skal indtastes med kontrol + skift + enter.