Errore di calcolo di sottrazione su EXCEL

Anonimo
2010-10-08T09:40:22+00:00
B C
2 DARE AVERE
3 608,800000000000000000000000000000 118,800000000000000000000000000000
4 490,000000000000000000000000000000
5 490,000000000000000000000000000000 490,000000000000000000000000000000
6 -0,000000000000056843418860808000 ****

in B6 formula =B5-C5 risultato esatto 0 assoluto in realtà -0,000000000000056843418860808000

PERCHE' ?


Marco Corsini

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2010-10-15T14:50:42+00:00

Ottimo, anche te ti sei accorto che togliendo le parentesi fa il calcolo giusto (si ho tolto l'inutile 1!) Ma che senso ha ?

Perchè le parentesi non si possono utilizzare ?

Comunque, in un'altro file mi da l' "ERRORE", anche se tolgo le parentesi, ma non ha senso è assurdo, non credi ?

Posso inviato il file che anche se tolgo le parentesi continua dare ERRORE ?

Così ti rendi ancor piu conto dell'assurdità ?

Il bello è che sono iperconvinto che c'è una ragione precisa, ma non riesco ad individuarla.

 


Marco Corsini

In questo articolo 78113 è chiarito come, per seguire le specifiche IEEE 754, i numeri in virgola mobile sono soggetti all'errore di approssimazione.

Dato che pressochè tutti i fogli di calcolo, concorrenti compresi, seguono queste specifiche, Excel è in buona compagnia.

Nell'articolo sono anche indicate possibili soluzioni (peraltro anche già indicate da Mauro)


Marcello F.

MCP - MCTS

Microsoft Product Support Service EMEA

 Se questo post ti è stato utile, clicca su “Vota come utile

In questo modo aiuterai gli altri utenti a trovare la soluzione al problema.

La risposta è stata utile?

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2010-10-08T14:30:31+00:00

Sei arrivato alla mia identica soluzione. inserire ARROTONDA.

Comunque devo darti ragione sul fatto che il "15" forse c'entra qualcosa, visto che (VEDI SOTTO) se cambi gli inporti da 100,45 a 10,45 e 100,49 in 10,49 riesce a fare il calcolo giusto. (posizione decimali a 14)

ERRATO:

 

1 B C
2 -0,03999999999999
3 100,45000000000000 100,49000000000000

 

 

GIUSTO:

 

1 B C
2 -0,04000000000000
3 10,45000000000000 10,49000000000000

 

Grazie e scusami tanto del disturbo.

Infatti. E', ripeto, un limite di Excel, ma un limite conosciuto e dichiarato nelle specifiche. E nessun disturbo. Questo forum è fatto per risolvere problemi/chiarire dubbi/discutere di Excel. Adesso sai che, all'occorenza, c'è. Grazie a te e buon lavoro.


--

La soluzione, il codice ed i files sono forniti *così come sono* e l’autore declina ogni responsabilità per eventuali problemi causati dalla soluzione proposta se usata impropriamente. Create e utilizzate una copia del file per le vostre prove, *prima* di utilizzare la soluzione in files importanti.

--

Mauro Gamberini - Microsoft© MVP(Excel)

http://www.maurogsc.eu/

La risposta è stata utile?

0 commenti Nessun commento

20 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2010-10-08T10:37:04+00:00

    il file è nato per gestire valori con decimali di 2 (tipo 608,80)

    Infatti nella famosa cella B6 è stata inserita una Formattazione Condiziona che il valore inserito in essa non dovesse essere mai sotto lo 0 se no lo sfondo si colora di verde.

    E per questo motivo che ho esporto il problema estendendo i decimali al max di 30 , solo per visionare bene che da un risultato errato negativo anche se il calcolo dovrebbe dare un risultato di 0 assoluto.   

    Non credo proprio che influenzi i nessun caso i LIMITI.

    ESEMPIO con i 2 decimali

     

    1 B C
    2 DARE AVERE
    3 608,80 118,80
    4 490,00
    5 490,00 490,00
    6 -0,00 ****

     


    Marco Corsini

    Se togli le inutili parentesi e l'inutile '1'! dalle celle? Im pratica nella cella finale(quella con la formattazione condizionale) hai scritto:

    =(B8-C8)

    Togli le parentesi e dovresti aver risolto(fermo restando le 15 cfre come limite).


    --

    La soluzione, il codice ed i files sono forniti *così come sono* e l’autore declina ogni responsabilità per eventuali problemi causati dalla soluzione proposta se usata impropriamente. Create e utilizzate una copia del file per le vostre prove, *prima* di utilizzare la soluzione in files importanti.

    --

    Mauro Gamberini - Microsoft© MVP(Excel)

    http://www.maurogsc.eu/

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2010-10-08T10:16:10+00:00

    il file è nato per gestire valori con decimali di 2 (tipo 608,80)

    Infatti nella famosa cella B6 è stata inserita una Formattazione Condiziona che il valore inserito in essa non dovesse essere mai sotto lo 0 se no lo sfondo si colora di verde.

    E per questo motivo che ho esporto il problema estendendo i decimali al max di 30 , solo per visionare bene che da un risultato errato negativo anche se il calcolo dovrebbe dare un risultato di 0 assoluto.   

    Non credo proprio che influenzi i nessun caso i LIMITI.

    ESEMPIO con i 2 decimali

    1 B C
    2 DARE AVERE
    3 608,80 118,80
    4 490,00
    5 490,00 490,00
    6 -0,00 ****

    Marco Corsini

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2010-10-08T10:03:28+00:00
    B C
    2 DARE AVERE
    3 608,800000000000000000000000000000 118,800000000000000000000000000000
    4 490,000000000000000000000000000000
    5 490,000000000000000000000000000000 490,000000000000000000000000000000
    6 -0,000000000000056843418860808000 ****

    in B6 formula =B5-C5 risultato esatto 0 assoluto in realtà -0,000000000000056843418860808000

    PERCHE' ?

     


     

     

    Marco Corsini

    Superi le 15 cifre. Nel file che mi hai mandato in privato, esegui *prima* operazioni su valori formattati a 30 posizioni decimali. Come già indicato in altra sede:

    Guida di Excel: Specifiche e limiti di Excel

    Oppure qui: 

    http://office.microsoft.com/it-it/excel-help/specifiche-e-limiti-di-excel-HP010073849.aspx

    In entrambi è spiegato che la precisione di calcolo è limitata a 15 cifre. Prova a portare la formattazione ad esempio a 5 decimali e vedi il tuo bel 0.


    --

    La soluzione, il codice ed i files sono forniti *così come sono* e l’autore declina ogni responsabilità per eventuali problemi causati dalla soluzione proposta se usata impropriamente. Create e utilizzate una copia del file per le vostre prove, *prima* di utilizzare la soluzione in files importanti.

    --

    Mauro Gamberini - Microsoft© MVP(Excel)

    http://www.maurogsc.eu/

    La risposta è stata utile?

    0 commenti Nessun commento