Funciones LARGO, REPETIR y ESPACIOS

Buenas! Se hace desear el tema de importar retenciones de IVA al aplicativo SIAP de la AFIP. El tema, es que voy haciendo la entrada y voy recordando funciones necesarias para la comprensión de lo que vamos a hacer.

Me faltaron 2 funciones MUY SENCILLAS:

LARGO

Esta función, devuelve la cantidad de letras que tiene una cadena determinada. Eso es todo!

Sintaxis:
=LARGO(Cadena)

Ejemplo: En la celda A1 dice Juan Perez
La función =LARGO(A1) dará como resultado 10. Esto es así, porque contará el espacio (recordemos que los espacios se toman como caracteres).




REPETIR

Esta también es muy fácil! Repite un caracter o cadena la cantidad de veces que se lo indiquemos.

Sintaxis:
=REPETIR(Caracter o cadena;cantidad de veces)

Ejemplo:
=REPETIR("Yo";2)
El resultado, es YoYo



ESPACIOS

Cuándo tenemos una secuencia traída desde otro aplicativo, es común (o no, pero para evitarlo) que al principio o al fin existan espacios. Lo que hace esta función, es eliminar los espacios a la izquierda o a la derecha de un texto (NO elimina los espacios que existan entre palabras).

Sintaxis:
=ESPACIOS(Texto)

Ejemplo:
=Espacios (" Hoy es jueves   ")
El resultado es "Hoy es jueves"


***************************

Ustedes me preguntarán "Y para que nos puede servir esto?" Lo vamos a ver en detalle en la entrada de Importación. Pero para darles un adelanto:

Supongamos que necesito el nombre y apellido de una persona, pero para importarlo con un txt plano, el sistema al que lo vamos a importar, me dice que este dato tiene que contener 50 caracteres. Si tenemos una persona, no pasa nada. Hasta lo podemos hacer a mano. El tema es cuándo tenemos 500 personas! Necesitamos una fórmula que haga todo esto por nosotros.
Cuándo abrí este blog, una de las cosas que les propuse es utilizar la materia gris. Entonces, para usar la materia gris, hay que pensar que haríamos como humanos (y no como excel ni PC ni nada parecido) para solucionar este problema. Propongo lo siguiente:
1) Contamos cuántas letras tiene el nombre y apellido, SIN CONSIDERAR espacios al principio ni al fin.
2) Al número de letras que nos dió el resultado de 1), le tenemos que agregar espacios hasta llegar a los 50 caracteres.
LISTO! Pasemos todo esto a Excel. Y no se asusten al ver la fórmula, lleguen hasta el final que estoy seguro que lo van a entender

Para lograr esto y suponiendo que el nombre y apellido está en la celda A1, hacemos lo siguiente:

Hacer click sobre la imágen para ampliarla


Bien. Excel va a realizar el punto 1. Es decir, va a completar para el resultado (sin espacios iniciales ni finales) el nombre comprendido en A1. Supongamos "Juan Perez". Hasta acá, vamos 10 caracteres. Luego del "&" va a analizar la llave 4. Como en todo cálculo matemático, primero resolverá los paréntesis internos, para luego si, finalizar con la resolución de todo el problema. Entonces, pasa a 2 y el resultado de A1 sin espacios es "Juan Perez". Luego pasa a 3, que le dice que no quiere "Juan Perez", sino el largo de "Juan Perez". El resultado es 10. Luego pasa a 4, que le dice "Sr. Excel, repita el espacio 50 veces MENOS el resultado que le había dado (10). Fin del problema, el resultado es "Juan Perez........................................" (los puntos son espacios).

Si esto es complejo, se puede separar de la siguiente manera: 

En la celda A2 ponemos 
=ESPACIOS (A1) 
Resultado: Juan Perez

En la celda A3 ponemos 
=50 - LARGO (A2)
Resultado: 40

En la celda A4 ponemos
=REPETIR(" ";A3)
Resultado: "........................................"

Y en la ceda A5, ponemos
=CONCATENAR (A2;A4) 
O lo que es lo mismo:
=A2 & A4
Resuldado: "Juan Perez........................................" (nuevamente aclaro, pongo los puntos para reemplazar a los espacios)


FIIIIN de todo el problema. Copiamos la fórmula, la pegamos en toooodas las celdas que necesitemos y THIS IS THE END... Seguros?? Noooo, nunca es el fin! Jajaja.

Alguno me dirá "Y si en vez de 'Juan perez', el coso este se llama "Juan Ruben Pablo Pedro Alfonso Anibal Perez Gonzalez" ?? El largo de todo eso es 52 (créanme). Todo el choclo que hicimos ahí arriba, de nada sirve porque nos va a tirar error.

Voy a publicar en la próxima entrada la solución a esto con 3 funciones más!


Hacé clic para ver de que forma podés colaborar con nosotros:

Como colaborar

Hasta la próxima!


No hay comentarios:

Publicar un comentario

Te puede interesar: