PDA

Visualizza versione completa : Excel 2003 - Arrotondamento per difetto


sisko81
09-11-2006, 11.31.58
Ciao a tutti, non so se questa è la sezione giusta, ma avrei un quesito per gli esperti di Office (che a mio parere è una brutta bestia )

Dovrei fare l'arrotondamento di numeri con 3 decimali, per farli diventare numeri a 2 decimali

esempio: 1,269 --> 1,27

Problema: innanzitutto, volevo avere la conferma che anche voi se avete per esempio 1,5 arrotondate a 1 o se mi sbaglio io...

e in secondo luogo (ovviamente solo se nel primo punto concordate con me ) vorrei sapere come si fa a fare questo tipo di arrotondamento...mi spiego meglio con esempi...

vorrei fare un arrotondamento del tipo:

1,725 --> 1,72

ma con excel, per intenderci, l'ultimo 5 viene considerato per l'arrotondamento per eccesso, non per difetto...

ovvero avrò:

1,725 --> 1,73

In conclusione...

qualcuno sa se si può ovviare a questo problema o me tocca ristudiarmi le prime nozioni di matematica???

Perusar
09-11-2006, 11.59.45
Sei nella sezione giusta ;)
Si può fare eccome; prendo un po' a caso dalla guida di Excel:
Arrotonda num per difetto al multiplo più vicino a peso.
Sintassi
ARROTONDA.DIFETTO(num; peso)
Num è il valore numerico che si desidera arrotondare.
Peso è il multiplo per il quale si desidera arrotondare.
Osservazioni
Se uno degli argomenti non è un valore numerico, ARROTONDA.DIFETTO restituirà il valore di errore #VALORE!.
Se num e peso presentano segni differenti, ARROTONDA.DIFETTO restituirà il valore di errore #NUM!.
Indipendentemente dal segno di num, un valore viene arrotondato per difetto quando si allontana dallo zero. Se num è un multiplo esatto di peso, non verrà effettuato alcun arrotondamento.
Esempio
L'esempio può essere più semplice da comprendere se lo si copia in un foglio di lavoro vuoto.
Procedura
Creare una cartella di lavoro o un foglio di lavoro vuoto.
Selezionare l'esempio nell'argomento della Guida. Non selezionare le intestazioni della riga o della colonna.
Selezionare un esempio dalla Guida
Premere CTRL+C.
Nel foglio di lavoro, selezionare la cella A1 e premere CTRL+V.
Per passare dalla visualizzazione dei risultati alla visualizzazione delle formule che calcolano il risultato, premere CTRL+MAIUSC+8 oppure scegliere Verifica formule dal menu Strumenti, quindi fare clic su Modalità Verifica formule.
Formula Descrizione (risultato)
=ARROTONDA.DIFETTO(2,5; 1) Arrotonda 2,5 per difetto al multiplo più vicino di 1 (2)
=ARROTONDA.DIFETTO(-2,5; -2) Arrotonda -2,5 per difetto al multiplo più vicino di -2 (-2)
=ARROTONDA.DIFETTO(-2,5; 2) Restituisce un errore perché -2,5 e 2 hanno segni diversi (#NUM!)
=ARROTONDA.DIFETTO(1,5; 0,1) Arrotonda 1,5 per difetto al multiplo più vicino di 0,1 (1,5)
=ARROTONDA.DIFETTO(0,234; 0,01) Arrotonda 0,234 per difetto al multiplo più vicino di 0,01 (0,23)

controlla sull'aiuto per l'arrotondamento per eccesso, eventualmente

sisko81
09-11-2006, 12.31.55
grazie per l'aiuto, ma mi servirebbe ancora una mano...

l'arrotondamento in realtà mi serve per difetto o per eccesso a seconda dei casi.

Il numero (o numeri) da arrotondare sono frutto di una moltiplicazione tra un numero con 2 decimali dopo la virgola e uno con 3 decimali.

Nella cella con il risultato, il formato è impostato a 2 cifre decimali dopo la virgola.

Quindi excel mi restituisce il valore con la regola

da 0,001 a 0,004 ==> risultato= 0,00
da 0,005 a 0,009 ==> risultato= 0.01

C'è una formula che, a seconda dei casi, mi possa invece restituire una cosa del tipo

da 0,001 a 0,005 ==> risultato= 0,00
da 0,006 a 0,009 ==> risultato= 0.01

?????????????????????????????????????????????????? ???????????????????????

Piccolo P.S.: a questo punto mi sovviene un dubbio...ma è giusta la logica di excel o quella mia? :mm:

Perusar
09-11-2006, 14.19.02
:D
ho un ragionevole dubbio che la logica giusta sia quella di Excel in quanto un prodotto tra numeri con due e tre decimali può generare anche numeri con 5 decimali. Se a te ne servono solo due hai già un bell'arrotondamento.

Ti consiglio di dare una guardata all'aiuto nel capitolo "arrotondare un numero" e vedere quello che fa più al caso tuo, poi fare delle prove...

o forse non ho capito nulla, ti sto seguendo a spizzichi e smozzichi, confesso :inn:

sisko81
09-11-2006, 14.35.07
è più facile che non abbia capito niente la Microsoft :devil:

cmq ora faccio qualche prova, perchè l'arrotondamento fatto da excel non vale una mazza :mpp: (almeno per il mio caso)

spero che qualcuno mi sappia aiutare, perchè ormai mi sembra di essere caduto in un casino irreale alla MATRIX!!!

Perusar
09-11-2006, 17.31.50
ho capito: di base se l'ultimo decimale è cinque, l'arrotondamento di 5 avviene per eccesso.
Prova così:
nel risultato inserisci
=ARROTONDA.DIFETTO(risultato;0,01)
dovrebbe funzionare

Edit: no, non funziona, ci sto lavorando

dave4mame
09-11-2006, 22.05.10
hai provato a sommare 0,01 (o quello che ti serve, a seconda dei decimali a cui vuoi arrotondare) al numero prima di arrotondare?

Perusar
10-11-2006, 09.16.01
Graaazie dave4mame, me lo sono sognato stanotte l'arrotondamento :crying:
Comunque la funzione dovrebbe essere, per ottenere il risultato voluto da sisko81
=ARROTONDA(risultato;2)-0,001
dovrebbe funzionare per entrambi gli arrotondamenti
da 0,001 a 0,005 ==> risultato= 0,00
da 0,006 a 0,009 ==> risultato= 0.01
speriamo

sisko81
10-11-2006, 14.34.52
Signore e signori...con un un pò di emozione (e un pò di commozione)...annuncio...

EUREKAAAAAAAAA!!!

Sembra che abbiate trovato la soluzione...

non posso dire nient'altro che GRAZZZZZIE..e bravi :act: :act: :act:

sisko81
10-11-2006, 15.03.17
NEVER ENDING STORY

sempre più difficile...siore e siori...

è possibile allegare un file x far capire meglio la situazione???

ora dovrei sommare i risultati delle moltiplicazioni...guardate che succede!!!

Perusar
11-11-2006, 09.20.44
ecco il file di prova che ho usato (la parte buona è quella colorata). Non ho capito qual'è il nuovo problema...

sisko81
13-11-2006, 10.00.03
allego il file di test che ho effettuato...

vediamo se riusciamo a tirarne fuori qualcosa

Perusar
13-11-2006, 11.42.21
Dunque, visto che abbiamo "barato" sottraendo 0,001 agli addendi per ottenere l'arrotondamento corretto, per avere la somma "vera come da calcolatrice", alla somma finale dovrò restituire (aggiungere) tanti 0,001 quanti sono gli addendi meno uno, ovvero quello che mi serve per l'arrotondamento "corretto" finale

;)

sisko81
14-11-2006, 10.18.25
Eureka, finalmente funzia!!! :jump:

Però io ho usato la funzione conta.numeri (per sapere quanto devo moltiplicare x 0.001), ma senza il meno uno che dicevi...

sbaglio?

In ogni caso grassie mille di nuovo :act: :act: :act:

Perusar
14-11-2006, 10.33.13
no, no, per meno uno intendevo "somma finale+n(0,001)-0.001", ovvero somma finale+(0,001)*(n-1)
almeno, se non era la stessa cosa che intendevi tu...
del resto, se funziona... :p