Hola a todos!
En el post de hoy voy a trabajar con fórmulas, no siempre vamos a utilizar macros cuando la solución la podemos hallar mediante funciones nativas de Excel.
Un lector me preguntaba ayer si podía ofrecerle una fórmula que contase el número total de caracteres contenidos en un rango de celdas. Aunque podéis pensar que una sencilla solución es usar la función LARGO aplicada a cada celda y luego sumar el total, la respuesta se puede lograr usando una única fórmula (pero matricialmente).
Pero para ilustrar el ejemplo, imaginad que queremos obtener el total de caracteres que contiene el siguiente fragmento de archivo XML obtenido como respuesta a una consulta realizada a Google Maps:
Para obtener el total de caracteres de toda la columna A utilizaremos la siguiente fórmula:
{=SUMA(LARGO(A:A))}
El resultado obtenido va a tener en cuenta cualquier caracter, incluidos los espacios en blanco, las comas, los puntos, etc. En concreto, el resultado es de 1720 caracteres.
Con esto el lector ya tiene la respuesta a su consulta, sin embargo, imaginad que lo que necesita es conocer solo el número de caracteres alfanuméricos. Es decir sin tener en cuenta los espacios, puntos, comas …
Para poder realizar el mismo ejercicio, necesitamos incluir la función SUSTITUIR en nuestra función inicial y además anidando los elementos que queremos excluir en la cuenta final:
{=SUMA(LARGO(SUSTITUIR(SUSTITUIR(SUSTITUIR(SUSTITUIR(SUSTITUIR(SUSTITUIR(A:A;">";"");"<";"");"/";"");" ";"");"_";"");".";"")))}
Aplicando esta fórmula el resultado ahora es de 1176 caracteres, como podéis observar el número se ha reducido significativamente.
Os recuerdo que las matrices se introducen: seleccionando la celda que contiene la fórmula, pulsando en F2 , seleccionamos la fórmula y luego presionamos CTRL + MAYUS + ENTRAR
Espero que os resulte de utilidad!
Descarga el archivo de ejemplo pulsando en: CONTAR NUMERO DE CARACTERES EN UN RANGO UTILIZANDO FORMULAS
¿Te ha resultado de interés?, puedes apoyar a Excel Signum con una pequeña donación.
¡¡Muchas gracias!!