Combinando las fórmulas disponibles para nosotros en Google Sheets relacionadas al manejo de cadenas de texto, podemos ahorrarnos mucho trabajo para obtener información valiosa sobre textos o frases de los cuales necesitemos saber cosas básicas, tales como contar palabras en una celda y activar alguna condición o contar letras para saber si el texto cabe en algo limitado como un tweet o un título de video. Vamos a aprender a usar algunas de estas funciones para resolver estos problemas relacionados con análisis de datos.
Contar letras
Comencemos por lo más sencillo y práctico. Para contar letras de un texto en una celda, simplemente usamos la fórmula LEN
o LARGO
si tu configuración está en español.
=LEN( texto )
Con esto podemos hacer algo muy útil, si aplicamos lo que ya aprendimos para crear formatos condicionales. Vamos a ver si es apto el texto para un título en YouTube, cuya longitud máxima es de 100 caracteres:
NOTA: Toma en cuenta que en este caso al decir “conteo de letras” nos referimos en realidad al “conteo de caracteres”. Es decir, un punto, un guión y un espacio sí están siendo contados por LEN
Contar palabras
Ahora, vamos a combinar algunas otras fórmulas para manejar texto con el propósito de contar cuántas palabras completas hay en un texto contenido en una celda. Las fórmulas que usaremos serán =COUNTA() y =SPLIT() de esta manera:
=COUNTA(SPLIT( texto ," "))
Como puedes ver, primero dividimos el texto en varias partes usando SPLIT
, usando el caracter de espacio como delimitador. Esto parte, por ejemplo, “El Cuervo” en dos elementos:
- El
- Cuervo
Y después utilizamos =COUNTA() para contar estos elementos. Usamos COUNTA
y no COUNT
porque COUNT
solamente puede contar elementos numéricos, y como el resultado de SPLIT
es un conjunto de datos (es decir, un arreglo), necesitamos COUNTA
, que cuenta los elementos dentro de un arreglo (por eso la A), y este arreglo puede contener tanto números como letras y otros caracteres.
Contar palabras en textos con saltos de línea
Hasta aquí todo ha funcionado bien, pero fíjate en lo que pasa si introduzco un texto que contiene saltos del línea:
Por alguna razón el resultado es de 57 palabras, ¡cuando deberían ser 66! No te preocupes, vamos a arreglar fácilmente esto, usando la fórmula SUBSTITUTE
para temporalmente reemplazar todos los saltos de línea por espacios y así el conteo sea adecuado:
=COUNTA(SPLIT(SUBSTITUTE( texto ,CHAR(10)," ")," "))
CHAR(10)
es equivalente a un salto de línea, que es lo que buscamos para arreglar temporalmente nuestro textoSUBSTITUTE(A6,CHAR(10), " ")
reemplaza todos los saltos de línea por un espacio
Una vez entendido esto, ahora sí, SPLIT
nos permite hacer el mismo proceso que antes, y así tenemos el conteo correcto:
Contar palabras específicas en un texto
Ahora vamos a pasar a algo más útil todavía: contaremos cuántas veces aparece una palabra específica en un texto determinado en una celda. Para lograrlo usaremos la función COUNTIF
de esta manera:
=COUNTIF(SPLIT( texto ," "), palabra )
Contar palabras sin que estorben otros caracteres
Este caso fue sencillo, pero mira lo que pasa cuando en este ejemplo intentamos buscar la palabra Poe, la cual en el texto va acompañada de una coma (,):
Claramente vemos la palabra una vez, pero marca 0. ¿Por qué? Es un problema parecido a lo que veíamos antes con los saltos de línea. Al delimitar por espacios, realmente la palabra completa a consideración de Google Sheets, es
Poe,
Con todo y la coma (,
). Entonces, vamos a usar algo rápido y poderoso para solucionarlo: expresiones regulares. Si reemplazamos todos los caracteres que no nos sirven al conteo por un espacio, podemos seguir haciendo nuestros conteos sin problema. Para esto vamos a utilizar la fórmula REGEXREPLACE
de esta manera:
=REGEXREPLACE( texto ,"[,\.—“”\n]"," ")
Dentro de los corchetes ponemos todos los caracteres que estamos buscando:
- coma:
,
- punto:
\.
(lleva \ por ser un caracter especial) - guión largo:
—
- comillas de apertura:
“
- comillas de cierre:
”
- salto de línea:
\n
NOTA: Sí, podríamos usar SUBSTITUTE
como antes, pero la fórmula se haría demasiado larga y complicada. Este método es mucho más limpio, rápido y legible para darle mantenimiento.
Si combinamos todo lo que acabamos de aprender en una sola fórmula, nos queda así:
=COUNTIF(SPLIT(REGEXREPLACE( texto ,"[,.—“”\n]"," ")," "), palabra )
Un tip extra para cuando uses muchas fórmulas anidadas es usar saltos de línea para que sea más fácil de leer:
=COUNTIF(
SPLIT(
REGEXREPLACE( texto ,"[,.—“”\n]"," "),
" "),
palabra)
Lenguaje del código: JavaScript (javascript)
Y listo, así puedes ir combinando fórmulas de manejo de cadenas de texto para cualquier necesidad que tengas, por ejemplo en el análisis de tweets o posts de Facebook.
Plantilla terminada para descargar
Guía en video
Si tienes dudas puedes ver esta misma guía explicada en video:
¡Espero que te haya sido útil esta guía! No olvides seguirnos en YouTube para más tips, trucos y guías de productividad.
Si tienes dudas, deja un comentario y con gusto te ayudaremos a resolverlas.
Alekz es un apasionado de la tecnología y los videojuegos. Además de ser locutor comercial, disfruta de la expresión artística más sastisfactoria y técnica que existe: programar (y pintar algo de pixel art). Fundó Tesel para ayudar a empoderar a las empresas a desarrollar su máximo potencial mediante la tecnología. Es un absoluto nerd de Star Trek.
Alekz es un apasionado de la tecnología y los videojuegos. Además de ser locutor comercial, disfruta de la expresión artística más sastisfactoria y técnica que existe: programar (y pintar algo de pixel art). Fundó Tesel para ayudar a empoderar a las empresas a desarrollar su máximo potencial mediante la tecnología. Es un absoluto nerd de Star Trek.
Muy buen contenido, muchas gracias
Gracias por el comentario Andrés, con mucho gusto. En nuestro canal de YouTube tenemos más guías parecidas, espero que te sirvan también: https://www.youtube.com/c/Tesel . Un saludo.
Gracias!! excelente contenido, utilicé =CONTARA(SPLIT(K2;” “)) para contar palabras con separacion de espacios, pero cuando la celda esta vacia, me arroga un valor igual a 1. como podria dejar la celda vacia o con 0?
Saludos y gracias!