Ver Mensaje Individual
  #4 (permalink)  
Antiguo 29/04/2015, 09:17
Avatar de Monimo
Monimo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Mexico Df
Mensajes: 742
Antigüedad: 16 años, 6 meses
Puntos: 69
Respuesta: Añadir 0 en Macro Excel con condicional

Yo no utilizaría macros, se puede hacer una pseudo programación con simples fórmulas:
necesitarías 6 columnas disponibles para poner las siguientes fórmulas:

columna A
15,83
7,616
10,604
9,8
266
55


Columna B:

=SI.ERROR(ENCONTRAR(",",A1,1),"no format need")
=IF.ERROR(FIND(",",A1,1),"no format need")
Esto te "filtra" solo aquellos que necesiten el formato; es decir los que traigan la coma.

Esta columna nos va a servir de "bandera"

columna C
=DERECHA(A1,B1-1)
=RIGHT(A1,B1-1)

Esto obtiene solo la parte que le faltan ceros para añadir.

columna D:
=3-LARGO(C1)
=3-LEN(C1)

Esto nos dice (sabiendo que después de la coma deberían haber 3 dígitos) nos dice cuantos ceros hay que añadir


columna E
=SI(E1=1,D1*10,D1*100)
=IF(E1=1,D1*10,D1*100)

Si es 1 pues son decenas y si es 2 son centenas y se agregan los ceros "automático" por la multiplcación

Al final solo hay que juntar todo y dejar los que no necesitaban arreglo como venían:


Columna F

=SI(ESNUMERO(B1),CONCATENAR(IZQUIERDA(A1,B1),E1),A 1)
=IF(ISNUMBER(B1),CONCATENATE(LEFT(A1,B1),E1),A1)

Al final queda así:

15,830
7616
10604
9,800
266
55

Ya nada más yo te recomendaría multiplicar todo por uno para que lo que queda como cadena de caracteres (los que traen la coma) se conviertan a numero porque si no después ya no vas a poder manipularlos como numero si no que se vana a quedar como cadena.


El problema vendría cuando fueran millones porque tendrías que contar cuantas veces encuentra la coma e ir partiendo el numero para llegar a donde le faltan los ceros pero sería simple cuestión de usar mas columnas y repetir un paso....

Saludos!
__________________
La verdad es que lo que no quisiera dejar de hacer nunca (a parte de comer) es programar