domingo, 27 de diciembre de 2015

Rellenar Celdas Numéricas con Caracteres en Excel - 2 de 2

Hola Amigos!

En el post anterior hemos visto cómo obtener la cantidad de caracteres de una celda, y cómo hacer que se repita un determinado caracter.

Ahora vamos a ver el resto para poder hacer que una celda se rellene con "0" (ceros) a la izquierda.



A la celda "E2" le agregué las siguientes funciones: "=CONCATENAR(REPETIR("0";10);B2)".
Como su nombre lo indica, la función CONCATENAR(), es decir, UNE en una celda varios valores. En este caso le decimos a Excel que una la repetición de 10 ceros y el valor de la celda B2, y luego copiamos el contenido de la celda hacia abajo.

¿Excel hizo lo que le decíamos?, definitivamente sí.
¿Es lo que buscábamos?, está claro que no, porque si se fijan, en la celda E2 hay 11 caracteres, en la celda E3 hay 12, en la celda E4 hay 13, en la celda E5 hay 14, y así podríamos seguir hasta ocupar los 255 caracteres por celda.

¿Y por qué sucedió esto?, porque no utilizamos la función LARGO() para determinar cuántos caracteres había en la celda B2 y en las subsiguientes, y en función de eso, agregar los ceros, 

¿Cómo lo corregimos?, así:

Al agregar la función LARGO() a la fórmula de E2 de esta manera: "=CONCATENAR(REPETIR("0";10-largo(B2));B2)", le dijimos a Excel que evaluara cuántos caracteres contenía la celda B2 (en este caso 1 caracter), y se los restara a los 10 que yo había fijado arbitrariamente. Así, en vez de 10 veces, la función REPETIR() ahora lo hace 9 veces.

Si se fijan en las celdas subsiguientes a E2, verán que cada una de ellas guarda el mismo número de caracteres (10), pero no el mismo número de "0" (ceros), y esto es lo que habíamos buscado.

Una aclaración para los puristas de Excel:
Ustedes argumentarán, y con toda razón, que tratándose de valores numéricos bastaría con acceder al menú contextual y en la opción "Formato de Celda" --> Número, determinar cuántos ceros se quieren implementar, incluidos formatos más complejos.
Pero esto es una explicación más completa que eso, ya que esta fórmula que abarca las tres funciones, podría servir sobre todo para los datos que son de texto, y en vez de repetir el caracter "0" se podría poner un espacio vacío entre comillas " ", invertir el orden (poner REPETIR() al final, y el valor de la celda al  comienzo, y estaría justificado a la derecha.
Espero que entiendan que elegí un formato numérico solamente por propósitos didácticos.



No hay comentarios:

Publicar un comentario