Fórmula genérica
=SUMPRODUCT(--ISNUMBER(SEARCH(keywords,A1)))
Resumen
Para contar la cantidad de palabras o palabras clave específicas que aparecen en una celda determinada, puede usar una fórmula basada en las funciones BÚSQUEDA, ESNÚMERO y SUMPRODUCTO. En el ejemplo que se muestra, la fórmula en C5 es:
=SUMPRODUCT(--ISNUMBER(SEARCH(keywords,B5)))
donde "palabras clave" es el rango con nombre E5: E9.
Explicación
Nota: si una palabra clave aparece más de una vez en una celda determinada, solo se contará una vez. En otras palabras, la fórmula solo cuenta instancias de diferentes palabras clave.
El núcleo de esta fórmula es el enfoque ISNUMBER + SEARCH para buscar texto en una celda, que se explica con más detalle aquí. En este caso, buscamos en cada celda todas las palabras del rango denominado "palabras clave" (E5: E9). Hacemos esto pasando el rango a SEARCH como el argumento find_text. Porque pasamos una matriz de 5 elementos:
("green";"orange";"white";"blue";"pink")
obtenemos una matriz de 5 elementos como resultado:
(#VALUE!;#VALUE!;1;#VALUE!;14)
Los números corresponden a coincidencias y el # ¡VALOR! error significa que no se encontró ninguna coincidencia. En este caso, como no nos importa dónde se encontró el texto en la celda, usamos ISNUMBER para convertir la matriz en valores VERDADERO y FALSO:
(FALSE;FALSE;TRUE;FALSE;TRUE)
Y el doble negativo (-) para convertirlos en unos y ceros:
(0;0;1;0;1)
La función SUMPRODUCTO simplemente devuelve la suma de la matriz, 2 en este caso.
Manejo de palabras clave vacías
Si el rango de palabras clave contiene celdas vacías, la fórmula no funcionará correctamente, porque la función BUSCAR devuelve cero cuando busca una cadena vacía (""). Para filtrar las celdas vacías en el rango de palabras clave, puede usar la siguiente variación:
(=SUMPRODUCT(--ISNUMBER(SEARCH(IF(keywords"",keywords),B5))))
Nota: esta versión es una fórmula de matriz y debe ingresarse con control + shift + enter.