¿Quiere obtener el recuento de palabras en Excel? Lo crea o no, Excel no tiene un contador de palabras incorporado.
Pero no se preocupe.
Un buen montón de funciones de Excel (o un poco de VBA si te sientes elegante) pueden hacer esto fácilmente por ti.
En este tutorial, mostraré un par de formas de contar palabras en Excel usando fórmulas simples. Y al final, también cubrirá una técnica para crear una fórmula personalizada usando VBA que le dará rápidamente el recuento de palabras de cualquier texto en cualquier celda.
Fórmula para obtener el recuento de palabras en Excel
Antes de darle la fórmula exacta, veamos rápidamente la lógica para obtener el recuento de palabras.
Supongamos que tengo una oración como se muestra a continuación para la que quiero obtener el recuento de palabras.
Si bien Excel no puede contar la cantidad de palabras, puede contar la cantidad de espacios en una oración.
Entonces, para obtener el recuento de palabras, podemos contar estos espacios en lugar de palabras y agregar 1 al total (ya que el número de espacios sería uno menos el número de palabras).
Ahora puede haber dos posibilidades:
- Hay un solo espacio entre cada palabra.
- Hay múltiples espacios entre palabras.
Así que veamos cómo contar el número total de palabras en cada caso.
Ejemplo 1: cuando hay un solo espacio entre palabras
Supongamos que tengo el siguiente texto en la celda A1: Deja que el gato salga de la bolsa
Para contar el número de palabras, aquí está la fórmula que usaría:
= LONG (A1) -LEN (SUSTITUTO (A1, "", "")) + 1
Esto devolvería "7" como resultado.
Así es como funciona esta fórmula:
- LEN (A1) - Esta parte de la fórmula devuelve 26, que es el número total de caracteres en el texto de la celda A1. Incluye los caracteres de texto y los espacios.
- SUSTITUIR (A1, ”“, ””): esta parte de la fórmula elimina todos los espacios del texto. Entonces, el resultado, en este caso, sería Dejar que el gato fuera de la bolsa.
- LEN (SUSTITUIR (A1, "",“”) - Esta parte de la fórmula cuenta el número total de caracteres en el texto que no tiene espacios. Entonces el resultado de esto sería 20.
- LEN (A1) -LEN (SUSTITUTO (A1, "",“”)) - Esto restaría la longitud del texto sin espacios de la longitud del texto con espacios. En el ejemplo anterior, sería 26-20 que es 6.
- = LONG (A1) -LEN (SUSTITUTO (A1, "",“”))+1 - Agregamos 1 al resultado general ya que el número total de espacios es uno menos que el número total de palabras. Por ejemplo, hay un espacio en dos palabras y dos espacios en tres palabras.
Ahora, esto funciona bien si solo tiene un carácter de espacio entre las palabras. Pero no funcionaría si tiene más de un espacio entre palabras.
En ese caso, use la fórmula del siguiente ejemplo.
Ejemplo 2: cuando hay varios espacios entre palabras
Supongamos que tiene el siguiente texto: Deje que el gato salga de la bolsa
En este caso, hay varios espacios entre palabras.
Para obtener el recuento de palabras, primero debemos eliminar todos los espacios adicionales (de modo que solo haya un carácter de espacio entre dos palabras) y luego contar el número total de espacios.
Aquí está la fórmula que nos dará el número correcto de palabras:
= LARGO (RECORTE (A1)) - LARGO (SUSTITUTO (A1, "", "")) + 1
Esta es una fórmula similar a la utilizada en el ejemplo anterior, con un ligero cambio; aquí también hemos utilizado la función TRIM.
La función TRIM de Excel elimina los espacios iniciales, finales y adicionales (excepto los espacios simples entre palabras).
El resto de la fórmula funciona igual (como se explica en el Ejemplo 1).
Nota: Si no hay espacios entre palabras, se considera como una sola palabra.
Uso de la función personalizada de VBA para contar palabras en Excel
Si bien las fórmulas anteriores funcionan muy bien, si necesita calcular el recuento de palabras con frecuencia, puede usar VBA para crear una función personalizada (también llamada función definida por el usuario).
El beneficio de usar una función personalizada es que puede crearla una vez y luego usarla como cualquier otra función normal de Excel. Entonces, en lugar de crear una fórmula larga y compleja como hicimos en los dos ejemplos anteriores, tiene una fórmula simple que toma la referencia de celda e instantáneamente le brinda el recuento de palabras.
Aquí está el código que creará esta función personalizada para obtener el recuento de palabras en Excel.
Función WordCount (CellRef como rango) Dim TextStrng Como cadena Dim Resultado () Como cadena Resultado = Dividir (WorksheetFunction.Trim (CellRef.Text), "") WordCount = UBound (Result ()) + 1 función de fin
Una vez creada, puede utilizar la función WordCount como cualquier otra función normal de Excel.
En el código anterior para la función personalizada, he usado la función TRIM de la hoja de trabajo para eliminar los espacios iniciales, finales y dobles entre las palabras. Esto asegura que las tres celdas den el mismo resultado, ya que solo se cuentan las palabras y no los espacios dobles.
Cómo funciona esta fórmula:
El código VBA anterior primero usa la función TRIM para eliminar todos los espacios iniciales, finales y dobles de la cadena de texto en la celda referenciada.
Una vez que tiene la cadena limpia, usa la función SPLIT en VBA para dividir la cadena de texto según el delimitador, que hemos especificado que es el carácter de espacio. Por lo tanto, cada palabra se separa y se almacena como un elemento separado en la variable Resultado.
Luego usamos la función UBOUND para contar el número total de elementos que se almacenaron en las variables de resultado. Dado que VBA tiene una base de 0, debemos sumar 1 para obtener el número total de palabras.
Esto significa que Result (0) almacena la primera palabra, Result (1) almacena la segunda palabra, y así sucesivamente. Dado que este recuento comienza desde 0, debemos sumar 1 para obtener el recuento real de palabras.
¿Dónde poner este código?
Al crear una función personalizada, debe colocar el código en el editor de VB del libro de trabajo (que es la parte posterior del libro de trabajo donde puede escribir código para automatizar tareas y crear funciones personalizadas).
A continuación se muestran los pasos para colocar el código de la función "GetNumeric" en el libro de trabajo.
- Vaya a la pestaña Desarrollador.
- Haga clic en la opción Visual Basic. Esto abrirá el editor de VB en el backend.
- En el panel Explorador de proyectos en el Editor de VB, haga clic con el botón derecho en cualquier objeto del libro en el que desea insertar el código. Si no ve el Explorador de proyectos, vaya a la pestaña Ver y haga clic en Explorador de proyectos.
- Vaya a Insertar y haga clic en Módulo. Esto insertará un objeto de módulo para su libro de trabajo.
- Copie y pegue el código en la ventana del módulo.
Una vez que haya copiado el código en la ventana de código, puede volver a su hoja de trabajo y usar esta función como cualquier otra función normal de Excel.
Sólo tipo = Palabra y le mostrará la fórmula en la lista.
Toma un argumento, que es la referencia de celda e instantáneamente le da el recuento de palabras en él.