malfunzionamento TR...
 
Notifiche
Cancella tutti

La consultazione del forum è libera per tutti.

Per poter porre un quesito è invece necessario essere un utente registrato (clicca qui se non lo sei).

Tutti gli utenti che richiedono un supporto, come da REGOLAMENTO, sono caldamente invitati ad allegare un file di esempio con l'indicazione di quello che si desidera ottenere.

[Risolto] malfunzionamento TRONCA

4 Post
3 Utenti
0 Reactions
260 Visualizzazioni
Forum 1
(@maxdad)
Post: 0
New Member
Avviatore di Topic
 

Sono un insegnante, e per correggere le verifiche ho predisposto una funzione che approssima il valore decimale al tipico formato di voto. La funzione opera correttamente ma con qualche malfunzionamento occasionale. Ho fatto qualche test per capire il problema ed ho riscontrato una stranezza sulla funzione TRONCA e sulla funzione INT, o magari ho un problema con il notebook !
Supponiamo di mettere nella cella A1 un valore decimale, se nella cella B1 mettiamo la funzione =A1-TRONCA(A1) otteniamo la parte decimale del numero, possiamo usare la funzione INT() al posto di TRONCA() e il risultato non cambia.

La mia funzione si basa proprio sull'analisi della parte decimale del voto, andando caso per caso a trasformalo, ma nel fare i test mi sono accorto che proprio questa banale differenza =A1-TRONCA(A1) in alcuni casi NON funziona, ed in particolare nel caso in cui il valore in A1 è un valore intero. 

Poiché questo valore è frutto di un calcolo pensavo ci fosse un problema di rappresentazione decimale, ma il calcolo non ha decimali residui, ho usato anche la notazione scientifica.

Se metto il valore manualmente il problema non si pone, ma se lo stesso valore è frutto di calcoli, in alcuni casi funziona ed in altri no. Ho realizzato un test facendo incrementare il voto da 0 a 10 con step di +0.1 ed in corrispondenza dei voti interi maggiori di 5 si presenta il malfunzionamento, mentre usando incrementi di +0.25 il problema non si pone.

A1=6 la funzione =A1-TRONCA(A1) dovrebbe fare zero, ma in alcuni casi restituisce 1

Allego un file excel perché mi rendo conto che quello che scrivo appare incredibile, al punto che penso che il problema possa essere il mio notebook (un hp i7 di soli 3 anni di vita). Nel file le celle evidenziate sono quelle che evidenziano il problema.

Se qualcuno mi conferma il problema anche sul proprio PC oppure ha idee dei motivi.

Grazie in anticipo

Per curiosità di qualcuno riporto anche la funzione totale di approssimazione:

=SE(E((D4-TRONCA(D4))>=0;(D4-TRONCA(D4))<=0,125);TRONCA(D4); SE(E((D4-TRONCA(D4))>0,125;(D4-TRONCA(D4))<=0,375);TRONCA(D4) & "+";SE(E((D4-TRONCA(D4))>0,375;(D4-TRONCA(D4))<=0,625);TRONCA(D4) & CARATT.UNI(189);SE(E((D4-TRONCA(D4))>0,625;(D4-TRONCA(D4))<=0,875);TRONCA(D4+1) & "-";TRONCA(D4+1)))))

il voto decimale, ad esempio 5.33, è nella cella D4

Versione di Excel
Sistema operativo
 
Postato : 22/05/2023 08:55
Etichette discussione
Marius44
(@marius44)
Post: 0
Moderatore
 

Ciao

Hai provato con la Funzione ARROTONDA(num;num_cifre) dove come num indichi il voto (la cella col voto decimale) e come num_cifre indichi 0 (zero) se non vuoi le cifre decimali.

Nota che il mezzo punto viene arrotondato alla cifra superiore.

Fai sapere. Ciao,

Mario

 
Postato : 22/05/2023 09:08
gianfranco55
(@gianfranco55)
Post: 1797
Moderatore
 

ciao

è l'eterno discorso dei decimali in excel

=+D61+0,1

non fa 6 per excel ma

5,99999999999999

 

basta aumentare i decimali per vedere il problema

Marius ti ha dato la soluzione

=ARROTONDA(+D61+0,1;2)

 

 
Postato : 22/05/2023 09:46
Forum 1
(@maxdad)
Post: 0
New Member
Avviatore di Topic
 

@marius44 Ti ringrazio, e grazie anche al suggerimento di @gianfranco55

risolvo facendo l'arrotondamento al voto alla terza cifra prima di sottoporlo al calcolo della differenza tra se stesso e la sua parte intera.

Ero a conoscenza del problema dei decimali di excel, ma sapevo che il problema si ponesse solo nelle operazioni di divisione e moltiplicazione, dove approssimazioni oltre alle cifre gestibili possono portare al manifestarsi del problema.

Del resto, anche nel caso che ho sottoposto il problema si pone solo quando la funzione =A1-TRONCA(A1)  opera con un valore nella cella A1 superiore a 5 quando questo è ottenuto come somma di incrementi di 0,1

Sommando invece per incrementi di 0,25 il problema non appare. Quindi in linea generale non sembra neppure un comportamento prevedibile.

Poco male, grazie per i suggerimenti, proverò ad operare così inserendo un arrotondamento a 3 cifre nella cella del voto.

Ciao

 
Postato : 22/05/2023 21:45
Condividi:
My Agile Privacy
Questo sito utilizza cookie tecnici e di profilazione. Cliccando su accetta si autorizzano tutti i cookie di profilazione. Cliccando su rifiuta o la X si rifiutano tutti i cookie di profilazione. Cliccando su personalizza è possibile selezionare quali cookie di profilazione attivare.
Attenzione: alcune funzionalità di questa pagina potrebbero essere bloccate a seguito delle tue scelte privacy
     Scarica il nostro ebook gratuito     

Unisciti a oltre 35.000 professionisti
che hanno già scelto di semplificare il proprio lavoro
e aumentare la produttività con la nostra newsletter!

Scarica l’ebook con i
migliori trucchi e suggerimenti per Excel
selezionati per te da Excel Academy

Download