Hola a todos:
En el post de hoy os voy a mostrar una sencilla UDF con la que vamos a poder contar las veces que se repite un carácter específico o una cadena de texto en una celda.
La función no distinguirá entre mayúsculas o minúsculas y se podrá aplicar también a caracteres numéricos.
Vamos con un ejemplo sobre un texto, para ello utilizaremos un poema en prosa poética:
Pues bien, por ejemplo, vamos a contar las veces que se repite la «m» en nuestro texto, independientemente si es mayúscula o minúscula.
Lo haremos con esta función que vamos a llamar CONTARV:
Function CONTARV(ByVal target As Range, Valor As String)
'Declaramos variables
Dim Cuenta As Long
Dim Dato As String, celda As Variant
'Por cada celda seleccionada
'Componemos un string (en el que contaremos)
For Each celda In target
Dato = Dato & " " & celda
Next celda
'Contamos cadena de texto o caracter
Cuenta = UBound(Split(LCase(Dato), LCase(Valor)))
'Pasamos el resultado a la función
CONTARV = Cuenta
End Function
Este es el resultado:
Y así es como obtenemos el resultado. En este caso, la suma es de 27 veces la letra «m».
Si lo que deseáis es que la función tenga en cuenta mayúsculas y minúsculas, solo tenéis que eliminar la función LCase aplicada a las variables «Dato» y «Valor».
Si queremos contar todo el rango en una única celda, también lo podemos hacer:
Esta es una versión más eficiente de otra macro que realiza la misma tarea: CONTAR CARACTERES ESPECÍFICOS EN UN RANGO SELECCIONADO
Y eso es todo, espero que os haya resultado de interés y la podáis utilizar en vuestros trabajos y proyectos.
Descarga el archivo de ejemplo pulsando en: FUNCIÓN PARA CONTAR LAS VECES QUE SE REPITE UN CARACTER O TEXTO EN UNA CELDA
¿Te ha resultado de interés?, puedes apoyar a Excel Signum con una pequeña donación.
¡¡Muchas gracias!!
Mediante la suscripción al blog, la realización comentarios o el uso del formulario de contacto estás dando tu consentimiento expreso al tratamiento de los datos personales proporcionados según lo dispuesto en la ley vigente (LOPD). Tienes más información al respecto en esta página del blog: Política de Privacidad y Cookies