|
Rank: Member
Iscritto dal : 9/14/2004 Posts: 0
|
ciao a tutti, qualcuno mi sa dire come si può arrotondare il risultato di una formula con excel? Ma non nel modo tradizionale. Mi spiego. Se il risultato di una formula è 1,1234567 e io voglio che excel guardi la terza cifra decimale (in questo caso 3) e arrotondi a 1,124 se la terza cifra è 3 o 4 o 5 o 6 o 7 (mentre se è 8 o 9 o 0 o 1 o 2 deve arrotondare a 1,123). Grazie a chi risponde.
|
|
|
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
prova con questa formula. La formula prevede di controllare il risultato della moltiplicazione della cella A1 con la cella B1, controlla se il valore della 5 posizione del risultato è uguale 3-4-5-6-7 se uguale sostituisce il valore con 4 se diverso sostituisce con con il valore 3 =VALORE(SINISTRA(SE(O(STRINGA.ESTRAI(A1*B1;5;1)="3";STRINGA.ESTRAI(A1*B1;5;1)="4"; STRINGA.ESTRAI(A1*B1;5;1)="5";STRINGA.ESTRAI(A1*B1;5;1)="6";STRINGA.ESTRAI(A1*B1;5;1)="7");RIMPIAZZA(A1*B1;5;;"4");RIMPIAZZA(A1*B1;5;1;"3"));5)) spero sia quello che chiedevi. saluti Andrea
|
|
Rank: Member
Iscritto dal : 9/14/2004 Posts: 0
|
Ciao Andrea. Innanzi tutto grazie della risposta. Ci siamo quasi, ma non va ancora bene. Es se la cella a1=3,9 e la cella b1=1,0459 il risultato è 4,07901. A questo punto, poichè la terza cifra decimale è 9, io volevo arrotondare il risultato a 4,079 (e non a 4,080 come sarebbe normale). La tua formula arrotonda a 4,073. Spero di essermi spiegato bene. Aspetto una tua nuova risposta. Ciao.
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
ora ho compreso meglio il metodo di arrot. che chiedi. Nell'esempio iniziale mi era sembrato che qualunque fosse il valore del terzo decimale dovesse essere un valore fisso. prova con questa nuova: =VALORE(SE(O(STRINGA.ESTRAI(A1*B1;TROVA(",";A1*B1;1)+3;1)="3"; STRINGA.ESTRAI(A1*B1;TROVA(",";A1*B1;1)+3;1)="4"; STRINGA.ESTRAI(A1*B1;TROVA(",";A1*B1;1)+3;1)="5";STRINGA.ESTRAI(A1*B1;TROVA(",";A1*B1;1)+3;1)="6";STRINGA.ESTRAI(A1*B1;TROVA(",";A1*B1;1)+3;1)="7");ARROTONDA.PER.ECC(A1*B1;3);ARROTONDA.PER.DIF(A1*B1;3))) Ho aggiunto la funzione trova per determinare la posizione della virgola per comparare il terzo decimale. prova a fa sapere se ancora non ci siamo. saluti Andrea
|
|
Rank: Member
Iscritto dal : 9/14/2004 Posts: 0
|
Ok Andrea, complimenti. Ora è tutto giusto. Grazie. C'è un'altra cosa che non mi va giù però. Visto che sei così bravo ti chiedo anche questo. In pratica, anche se io dico ad excel di arrotondare, alla lunga anzicchè prendere come dati di partenza i valori approssimati, prende quelli assoluti. Purtroppo non riesco a trovare un esempio, perchè non mi ricordo dove è successo. Quindi se non hai capito il problema, pazienza. Non fa niente. Quando mi ricapiterà una cosa del genere te la chiederò. Per ora grazie ancora.
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
forse ti riferisci al contestatissimo problema che a volte i valori visibili non sono quelli che realmente excel usa per le operazioni. Questo è dovuto dal modo in cui Excel tratta i valori delle celle "Valori visibili" e "Valori in memoria" con Formato celle>numero>Nr. decimali visibili scegliamo solo il modo di visualizzare un risultato non modificando il valore di memoria. Con la funzione "Arrotonda" invece, il valore arrotondato è quello che viene assunto in memoria e utilizzato per come si vede nella cella. spero di essere stato abbastanza chiaro. saluti Andrea
|
|
Rank: Member
Iscritto dal : 9/14/2004 Posts: 0
|
Si Andrea, ci hai preso in pieno. Il problema è quello. Quindi, se ho ben capito quando uso ARROTONDA (e anche le altre funzioni?) posso stare tranquillo che il valore che vedo è lo stesso che verrà utilizzato nei calcoli successivi, mentre se scelgo il numero dei decimali visibili, potrei rimanere fregato. Io pensavo fosse tutto il contrario. Ok, allora ora so come muovermi. Grazie di tutto. Ciao.
|
|
Guest |