Arrotondamento: ROUND e ciò che mostra la cella
Una cella formattata con due decimali può mostrare 1.65 mentre memorizza 1.649175. Solo ROUND cambia il numero memorizzato.
«C'è scritto 1.65, quindi è 1.65»
Molti principianti hanno una convinzione sui fogli di calcolo senza mai dirla: il numero che vedi in una cella è il numero nella cella. Prendi un'imposta sulle vendite dell'8.25% su un prezzo di 19.99. L'imposta è 19.99 × 0.0825 = 1.649175. Formatta la cella con due decimali e leggerai 1.65. Però contiene ancora 1.649175, e ogni formula che la usa lavora con quel valore completo. La formattazione cambia l'aspetto di un numero. Non cambia mai il valore che c'è sotto.
La convinzione crolla nei totali. Metti =1/3 in tre celle e formattale con due decimali: ognuna mostra 0.33. La loro SUM mostra 1.00, perché i valori memorizzati sommano esattamente 1. Chi somma a mano i numeri visibili ottiene 0.99 e pensa che il foglio sia rotto. Su fatture e buste paga, dove ogni cifra visibile deve tornare, il rimedio è arrotondare il valore memorizzato, nel punto in cui si calcola l'importo.
C'è un secondo motivo, meno evidente, per cui il valore memorizzato può sorprenderti. I fogli di calcolo memorizzano i numeri in binario, e molti decimali, come 0.1, non hanno una forma binaria esatta. Microsoft indica per Excel una precisione di 15 cifre, quindi dopo una lunga catena di calcoli possono comparire piccoli residui ben oltre la quindicesima cifra. Di solito non si vedono. Fanno comunque parte del valore memorizzato, e per colpa loro un confronto con un numero esatto può risultare FALSE. Arrotondare prima di confrontare, come in =ROUND(A1,2)=0.3, è un'abitudine sicura.
Che cosa fa ROUND al numero memorizzato
ROUND(numero, cifre) arrotonda a un certo numero di decimali e, a differenza della formattazione, cambia il valore memorizzato. Gli esempi di Microsoft: =ROUND(2.15, 1) è 2.2, =ROUND(2.149, 1) è 2.1 e =ROUND(23.7825, 2) è 23.78. Una cifra a metà strada si arrotonda allontanandosi dallo zero, quindi =ROUND(-1.475, 2) è −1.48. La guida di Google lo descrive come arrotondamento per eccesso e per difetto in base alla grandezza, indipendentemente dal segno. Con 0 cifre si arrotonda a un numero intero. Un valore negativo arrotonda a sinistra della virgola decimale: =ROUND(626.3, -3) è 1000 e =ROUND(1.98, -1) è 0.
| Formula | Risultato |
|---|---|
| =ROUND(2.15, 1) | 2.2 |
| =ROUND(2.149, 1) | 2.1 |
| =ROUND(-1.475, 2) | −1.48 |
| =ROUND(21.5, -1) | 20 |
| =ROUND(626.3, -3) | 1000 |
| =ROUND(-50.55, -2) | −100 |
Qui i programmi si separano un poco. In Excel il secondo argomento, num_digits, è obbligatorio. In Google Sheets, places è facoltativo e vale 0 per impostazione predefinita, quindi =ROUND(2.5) dà 3 in Sheets, mentre Excel ti chiede di completare la formula. Scrivere sempre le cifre funziona in entrambi e si legge meglio. Per arrotondare sempre nella stessa direzione, entrambi i programmi hanno ROUNDUP e ROUNDDOWN; questo laboratorio usa solo ROUND.
ROUND può avvolgere qualsiasi calcolo. =ROUND(SUM(B2:B9)/COUNT(B2:B9), 1) dà una media con un decimale, e =ROUND(A2*1.1, 0) aggiunge il 10% a un prezzo e arrotonda all'unità intera più vicina. Leggi formule come queste dall'interno verso l'esterno: prima il calcolo, poi l'arrotondamento del suo risultato.
Trascina per ruotare. Scorri o avvicina le dita per lo zoom.
- Fare clic su «diminuisci decimali» e dire che il numero è arrotondato. Quella è la formattazione dei numeri. La cella sembra arrotondata, ma le formule usano ancora tutte le cifre. Solo ROUND cambia il valore memorizzato.
- Arrotondare solo il totale generale. Ogni riga contiene ancora importi non arrotondati, quindi le righe visibili non tornano con il totale visibile. Arrotonda ogni importo dove viene calcolato.
- Scrivere =ROUND(A2) in Excel. Excel richiede num_digits. Sheets accetta la formula e arrotonda a un intero, quindi un foglio che funziona in Sheets può bloccarsi su questa formula in Excel.
- Aspettarsi che -1.475 diventi -1.47. A metà strada si arrotonda allontanandosi dallo zero in base alla grandezza, quindi il risultato è −1.48.
- Che cosa restituisce =ROUND(2.15, 1)?
- Che cosa restituisce =ROUND(2.149, 1)?
- Che cosa restituisce =ROUND(-1.475, 2)?
- Che cosa restituisce =ROUND(626.3, -3)?
- Che cosa restituisce =ROUND(21.5, -1)?
- Che cosa restituisce =ROUND(23.7825, 2)?
- B2 contiene 1.649175 formattato per mostrare 1.65. Che cosa restituisce =B2*100?
- Tre celle contengono ognuna =1/3, mostrato come 0.33. Che cosa mostra la loro SUM con due decimali?
- 1.00
- 0.99
- 0.33
- #VALUE!
- Che cosa fa =ROUND(2.5)?
- Google Sheets dà 3; Excel chiede l'argomento mancante
- Entrambi danno 2
- Entrambi danno 3
- Entrambi mostrano #N/A
- Dove va arrotondato il denaro perché le cifre visibili tornino?
- Dove viene calcolato ogni importo
- Solo nel totale generale
- Da nessuna parte; basta la formattazione
- In un foglio separato
- La formattazione dei numeri cambia ciò che vedi, non ciò che è memorizzato.
- ROUND(numero, cifre): a metà strada si arrotonda allontanandosi dallo zero; cifre negative arrotondano a sinistra della virgola.
- Excel richiede l'argomento delle cifre; Google Sheets lo imposta a 0 per impostazione predefinita.
- Arrotonda il denaro dove viene calcolato, così i numeri visibili tornano.
Fonti di questo corso (19)
- Microsoft Support, "Switch between relative, absolute, and mixed references" (support.microsoft.com/en-us/office/dfec08cd-ae65-4f56-839e-5f0d8d0baca9: $ before column and row, F4 to switch, copying two down and two right: $A$1 stays, A$1 to C$1, $A1 to $A3, A1 to C3)
- Microsoft Support, "AVERAGE function" (support.microsoft.com/en-us/office/047bac88-d466-426c-a32b-8f33eb960cf6: text, logical values and empty cells in a reference ignored, zeros included; 10, 7, 9, 27, 2 gives 11, with 5 gives 10; mean 5, median 4, mode 3 for 2 3 3 5 7 10)
- Microsoft Support, "COUNT function" (support.microsoft.com/en-us/office/a59cd7fc-b623-4d93-87a4-d23bf411294c: only numbers counted, dates count, errors and text do not)
- Microsoft Support, "ROUND function" (support.microsoft.com/en-us/office/c018c5d8-40fb-4053-90b1-b3e7f61a213c: num_digits required; 2.15 to 2.2, -1.475 to -1.48, 626.3 to 1000, 1.98 to 0, -50.55 to -100)
- Microsoft Support, "IF function" (support.microsoft.com/en-us/office/69aed7c9-4e8a-4755-a9bc-aa8bbff73be2: value_if_false optional, text in quotes except TRUE and FALSE, 0 and #NAME? problems)
- Microsoft Support, "VLOOKUP function" (support.microsoft.com/en-us/office/0bbc8083-26fe-4963-8ab8-93a18ad188a1: range_lookup TRUE by default, sorted first column, #N/A, #REF!, #VALUE!, absolute table range, wildcards with FALSE)
- Microsoft Support, "XLOOKUP function" (support.microsoft.com/en-us/office/b7fd680e-6d10-43e6-84f9-88eae8bf5929: not in Excel 2016 and Excel 2019, exact match by default)
- Microsoft Support, "How to correct a #VALUE! error" (support.microsoft.com/en-us/office/15e1b616-fbf2-4147-9c0b-0a11a20e409e: + and * may not calculate cells with text, use SUM instead, IFERROR hides all errors)
- Microsoft Support, "Excel specifications and limits" (15 digits, 64 nested levels, 255 arguments)
- Google Docs Editors Help, "VLOOKUP" (support.google.com/docs/answer/3093318: is_sorted TRUE by default, FALSE recommended, search down to a larger value, " Apple" and "Apple " differ, wildcards, IFNA, absolute range)
- Google Docs Editors Help, "XLOOKUP" (support.google.com/docs/answer/12405947)
- Google Docs Editors Help, "ROUND" (support.google.com/docs/answer/3093440: places optional, 0 by default, rounding by magnitude)
- Google Docs Editors Help, "IF" (support.google.com/docs/answer/3093364: order of the answers is the most common problem, IFS)
- Google Docs Editors Help, "AVERAGE" (support.google.com/docs/answer/3093615: text ignored, any number of arguments)
- Google Docs Editors Help, "COUNTA" (support.google.com/docs/answer/3093991: zero-length strings and spaces count)
- Google Docs Editors Help, "Keyboard shortcuts for Google Sheets" (support.google.com/docs/answer/181110: F4 and Fn+F4 while entering a formula, F4 as Redo)
- Pryor Learning and Exceljet (F4 cycle A1, $A$1, A$1, $A1; = comparison not case-sensitive)
- Ablebits (IF without value_if_false returns FALSE)
- Spreadsheet Class (Sheets circular dependency shows #REF!)
Consultato il: 2026-10-19