Separare parte intera e parte decimale di un numero |
|
|
|
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 |