Fórmulas y funciones UDF para contar palabras en Excel
En este artículo les comparto dos fórmulas que nos servirán para contar palabras de una celda, así como sus correspondientes funciones UDF en caso de que prefieran verse “cool” con el uso de macros.
Ver video Aprendamos UDF’s – Convertir fórmula a función personalizada
Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.
Contar palabras en una celda
La siguiente fórmula nos servirá para contar todas las palabras incluídas en una celda. Nótese que por palabra se tomará cada caracter o conjunto de caracteres separados por espacio.
El texto que tomaremos de ejemplo es el siguiente:
Las patentes de software son monopolios de 20 años que conceden algunas oficinas de patentes en el mundo sobre funcionalidades, algoritmos, representaciones y otras acciones que se pueden llevar a cabo con una computadora. En la jerga se suele sustituir dicho término por la expresión “invención implementada por computadora” que incluye tanto las polémicas patentes de software como las generalmente aceptadas “invenciones por computadora”, esto es, las invenciones físicas tradicionales que incluyen software en su funcionamiento. Así, la Oficina Europea de Patentes (OEP) define generalmente una invención implementada en computadora como “expresión destinada a cubrir solicitudes que involucren computadoras, redes informáticas u otros aparatos programables convencionales por las características novedosas de la invención apropiada se manifiesten a través de uno o varios programas”
La siguiente fórmula nos ayudará a contar palabras:
=SI(LARGO(ESPACIOS(A1))=0,0,LARGO(ESPACIOS(A1))-LARGO(SUSTITUIR(A1,” “,””))+1)
Para la fórmula anterior les comparto la función UDF que tendremos que incluir en un módulo normal y podemos usarla en nuestros archivos como si fuera una función propia de Excel.
La función se llama ContarPalabras y como parámetro será la celda en la cual está el texto que deseamos contar sus palabras.
Figura 1. Función UDF para contar palabras.
Contar ocurrencias de alguna palabra dentro una celda
Además de contar palabras también podremos necesitar el número de veces que una palabra se repite dentro de una celda.
La fórmula que podemos usar es:
=(LARGO(A6)-LARGO(SUSTITUIR(A6, B11, “”)))/LARGO(B11)
La función UDF correspondiente tiene como nombre ContarPalabrasEspecificas la cual tendrá como parámetros la celda donde está el texto y la palabra la cual deseamos saber sus repeticiones.
Figura 2. Uso de la función ContarPalabrasEspecificas.
En la figura 2 vemos el uso de la función y notamos que el primer parámetro del texto está en la celda A6 y en la celda B11 el texto que desamos saber sus repeticiones.´
Código vba de las funciones
El código que les comparto se deberá poner en un módulo normal. Se pueden guiar en estos artículos que he escrito sobre funciones UDF.
ContarPalabras
'--------------------------------------------------------------------------------------- ' Module : Módulo1 ' Author : MVP Excel, Sergio Alejandro Campos ' Date : 02/06/2014 ' Purpose : UDFs para conteo de texto '--------------------------------------------------------------------------------------- ' Function ContarPalabras(Celda As Range) ' Application.Volatile ' With Application.WorksheetFunction ' If Len(Trim(Celda)) = 0 Then ContarPalabras = 0 Else ContarPalabras = Len(Trim(Celda)) - Len(.Substitute(Celda, " ", "")) + 1 End If End With ' End Function
ContarPalabrasEspecificas
Function ContarPalabrasEspecificas(Celda As Range, Texto As Range) ' Application.Volatile ' With Application.WorksheetFunction ' ContarPalabrasEspecificas = (Len(Celda) - Len(.Substitute(Celda, Texto, ""))) / Len(Texto) ' End With End Function
Anexos
:: Descarga el ejemplo Fórmulas y funciones UDF para conteo de palabras.rar