Separare parte intera e parte decimale di un numero PDF Stampa E-mail
Scritto da Paolo Ardizzoni   
Lunedì 23 Giugno 2008 21:45

Domanda
 


In [A1] ho un numero decimale, come 3,55. Voglio separare il numero in modo tale che in [A2] compaia 3 ed in [A3] compaia 55. 
 
Risposta 1 (di Paolo Ardizzoni)

[A2] =INT(A1)
[A3] =(A1-A2)*100 
 

 
Risposta 2 (di Mauro Gamberini)

 
Nel caso non si conosca il numero di decimali:
 
=STRINGA.ESTRAI(A1;TROVA(",";A1)+1;LUNGHEZZA(A1)) 
 


Risposta 3 (di Ivano Chiappa)


 
[A2] =INT(A1)
[A3] =(A1-A2)*10^(LUNGHEZZA(A1)-LUNGHEZZA(A2)-1) 


Risposta 4 (di Maurizio Borrelli)
 


[A1] 3,55
[A2] =TRONCA(A1) (Che non ti delude con eventuali numeri negativi.)
[A3] =VALORE(SOSTITUISCI(A1;A2&",";"")) 
 
 


Risposta 5 (di Maurizio Borrelli)
 
 

Entrambe le formule di risposta 2 e 4 soffrono del difetto di essere legate alla localizzazione: il carattere separatore decimale immesso nella formula come costante stringa. Quindi si potrebbe ricavare il carattere separatore decimale corrente con la seguente:
 
=STRINGA.ESTRAI(TESTO(1,2;"@");2;1)
-oppure-
=STRINGA.ESTRAI(FISSO(0;1;VERO);2;1)
 
e la formula, internazionalizzata, diventerebbe:
 
=VALORE(SOSTITUISCI(A1;A2&STRINGA.ESTRAI(TESTO(1,2;"@");2;1);""))
 
Con la stessa logica si puo' ottenere il carattere separatore delle migliaia corrente:
 
=STRINGA.ESTRAI(FISSO(1234;;FALSO);2;1)
 
Volendo si può anche evitare di immettere le espressioni direttamente nella formula e assegnarle a Nomi della Cartella di lavoro, per esempio:
 
[DecSep]  =STRINGA.ESTRAI(TESTO(1,2;"@");2;1)
[ThsSep]  =STRINGA.ESTRAI(FISSO(1234;;FALSO);2;1)
-oppure-
[DecSep]  =STRINGA.ESTRAI(FISSO(0;1);2;1)
[ThsSep]  =STRINGA.ESTRAI(FISSO(1234);2;1)
 
e la formula così diventerebbe:
 
=VALORE(SOSTITUISCI(A1;A2&DecSep;"")) 
 


Sistema operativo: WIN32

Applicazioni: Excel 97, Excel 2000, Excel 2002/XP, Excel 2003, Excel 2007

Ultimo aggiornamento Domenica 05 Luglio 2009 21:51