miércoles, 8 de septiembre de 2010

Repetición de Caracteres Concretos en una Celda


Pues parece que fue ayer pero ya ha pasado más de un mes desde mi última entrada. Prometí a mis hijos no acercarme a una hoja de cálculo durante las vacaciones y... ¡casi lo cumplo!

Me habéis mandado numerosas preguntas (supongo que debo daros las gracias...) que intentaré contestar lo antes posible. Una de las más repetidas ha sido la siguiente:

"Necesito saber el número de espacios en blanco que contiene un grupo de celdas".

Vamos a utilizar una fórmula bastante sencilla, que sé que leí hace tiempo en algún lado pero no recuerdo donde, con las funciones LARGO y SUSTITUIR. Partimos del siguiente ejemplo:


Queremos saber cuántos espacios en blanco contiene cada celda (cuestión que aunque no lo parezca puede resultar muy útil para, por ejemplo, realizar fórmulas que separen en distintas celdas los nombres y los apellidos). Lo que vamos a hacer en esencia es:

1. Contar el número total de caracteres que contiene la celda B3
2. Borrar todos los espacios en blanco del texto de B3 y escribir el resultado en C3.
3. Contar el número total de caracteres de C3.
4. Hallar la diferencia entre ambos totales. Dicha diferencia será, obviamente, el número de espacios en blancos que tiene la celda B3.

Vamos a empezar, con el objetivo de que se entienda mejor, por el paso 2. Para ello utilizaremos la función SUSTITUIR. Esta función sustituye dentro de una cadena de texto un texto original por otro nuevo específico. La sintaxis de esta función es:

SUSTITUIR(texto;texto_original;texto_nuevo; núm_de_ocurrencia)

Texto:es el texto o la referencia a una celda que contiene texto en el que desea sustituir caracteres.

Texto_original: es el texto que desea reemplazar.

Texto_nuevo: es el texto por el que desea reemplazar texto_original.

Núm_de_ocurrencia: especifica la instancia de texto_original que desea reemplazar por texto_nuevo. Si especifica el argumento núm_de_ocurrencia, sólo se remplazará esa instancia de texto_original. De lo contrario, todas las instancias de texto_original en texto se sustituirán con texto_nuevo.

Así las cosas, nos situamos en la celda C3 y escribimos la siguiente fórmula:

=SUSTITUIR(B3;" ";"") Fíjese que el segundo argumento es "espacio" y que el tercero es "" sin ningún espacio. Le estamos pidiendo a excel que sustituya los espacios en blanco que se encuentre por nada. El resultado de esta fórmula será este:


Como puede comprobar, el contenido de la celda C3 es el mismo que el de la celda B3 pero sin espacios en blanco.

Una vez hecho esto el resto es muy sencillo. Sólo nos queda "medir" el largo de ambas celdas y hallar la diferencia. Para ello hacemos lo siguiente:

en D3 escribimos: =LARGO(B3)
en E3 escribimos: =LARGO(C3)
en F3 escribimos: =B3-C3

¡Problema resuelto! Evidentemente si sólo necesitamos el número de espacios en blanco podemos resumir todas estas fórmulas en la siguiente (que escribo en la celda C3):

=LARGO(B3)-LARGO(SUSTITUIR(B3;" ";""))


En este caso hemos contado el número de espacios en blanco pero puede utilizar esta fórmula con otros caracteres simplemente sustituyendo la expresión " " por "a" ,por ejemplo.

No hay comentarios:

Publicar un comentario en la entrada