PDA

View Full Version : [EXCEL] Aiuto sto impazzendo !!


TuLKaS85
25-10-2006, 18:49
vi prego aiutatemi, ne và della mia salute mentale !!

Se non volete sorbirvi il mio problema ditemi subito xkè quando faccio INT(33) risulta 33 ,quando faccio INT(0.55*60) ancora 33 e quando faccio INT((45.55-45)*60) fa 32 !!

se a questo punto sapete darmi un aiuto grazie mille altrimenti espongo di seguito il problema per intero.

Allora devo fare questa conversione in excel: 45,55 gradi sessadecimali
devono diventare gradi sessagesimali

la formula è questa :
gradi = parte intera del numero
primi = parte frazionaria dei gradi *60
secondi =parte frazionaria dei primi *60

ovvio dire che le parti frazionarie non devono apparire (tranne che nei secondi)

per 45,55 il risultato calcolatrice alla mano dovrebbe essere 45° 33'
bene allora io faccio così :

A1 A2 A3 A4
45.55 =A1-(A1-INT(A1)) =INT((A1-A2)*60) =(((A1-A2)*60)-A3)*60


anche usando formule alternative per calcolare la parte intera tipo : TRONCA oppure RESTO(dividendo,1) non và resta il fatto che se fai INT(33) dà come risultato 33 se fai INT(0.55*60) fa 33 se fai INT((A1-A2)*60) fa 32 !!!!!!!

TuLKaS85
26-10-2006, 09:10
nessuno ha provato ?? :confused:

icecube_HU
27-10-2006, 16:54
....anche usando formule alternative per calcolare la parte intera tipo : TRONCA oppure RESTO(dividendo,1) non và resta il fatto che se fai INT(33) dà come risultato 33 se fai INT(0.55*60) fa 33 se fai INT((A1-A2)*60) fa 32 !!!!!!!
:eek: Bella questa !!!

Il problema nasce dal fatto che tutti i valori numerici sono rappresentati con una precisione finita (in questo caso 16 cifre), e in tutti i sistemi di calcolo sono possibili errori di arrotondamento...
Excel calcola: 60*(45,55-45) = 32,9999999999998 e quindi passando all'INT, restituisce 32 anziche' 33.

Qui l'errore appare cosi' macroscopico perche' i decimali sono pochi, quindi il calcolo a noi sembra banale, ma si deve ricordare che internamente il sistema lavora in binario, non in aritmetica decimale.

Il "brutto" e' che Excel e' una applicazione NATA per "masticare" numeri, e qui fa una pessima figura confrontata ad una calcolatrice da 2 euro !!!

TuLKaS85
27-10-2006, 17:07
si grazie :)
in effetti mi sono accorto che il problema nasce alla base cioè 45,55-45 lui apparentemente dice 0,55 ma sotto se faccio valuta formule esce 0,54999997 e da qui la tragedia finale 32

suggerimenti per come far comparire il numero esatto 0,55 ?

bimbumbam
27-10-2006, 17:39
prova con arrotonda(45.55-45;2) dove la seconda cifra dell'argomento ti dà il numero decimali su cui effettuare l'arrotondamento.

EDIT Mi sono accorto adesso, questa non è la sezione giusta per queste domande, andava in Programmi e Utility

cionci
27-10-2006, 17:52
Vabbè, dai siamo ai limiti della programmazione...

TuLKaS85
27-10-2006, 18:07
prova con arrotonda(45.55-45;2) dove la seconda cifra dell'argomento ti dà il numero decimali su cui effettuare l'arrotondamento.

EDIT Mi sono accorto adesso, questa non è la sezione giusta per queste domande, andava in Programmi e Utility

purtroppo non posso , la sottrazione è all'interno di una formula, ed il caso 45,55-45 è un caso particolare, non sempre capita questo, quindi risolvere con l'approssimazione è limitativo....

stavo pensando ad una formula con i SE()
se non riesco chiederò ancora un Help !
grazie !! :D

TuLKaS85
27-10-2006, 18:34
ok risolto con il se()

alla fine si risolve tutto :D