Arrondi : ROUND et ce qu'affiche la cellule
Une cellule au format deux décimales peut afficher 1.65 alors qu'elle contient 1.649175. Seule ROUND change le nombre enregistré.
« Ça affiche 1.65, donc c'est 1.65 »
Beaucoup de débutants ont une idée sur les tableurs sans jamais la dire : le nombre que tu vois dans une cellule est le nombre qui est dans la cellule. Prends une taxe sur les ventes de 8.25 % sur un prix de 19.99. La taxe vaut 19.99 × 0.0825 = 1.649175. Mets la cellule au format deux décimales et elle affiche 1.65. Elle contient toujours 1.649175, et toutes les formules qui l'utilisent travaillent avec cette valeur complète. La mise en forme change l'aspect d'un nombre. Elle ne change jamais la valeur qui est dessous.
Cette idée s'effondre dans les totaux. Mets =1/3 dans trois cellules au format deux décimales, et chacune affiche 0.33. Leur SUM affiche 1.00, car les valeurs enregistrées font exactement 1 au total. Quelqu'un qui additionne à la main les nombres visibles obtient 0.99 et en conclut que la feuille est cassée. Sur les factures et les fiches de paie, où chaque chiffre visible doit tomber juste, le remède est d'arrondir la valeur enregistrée elle-même, à l'endroit où le montant est calculé.
Il existe une deuxième raison, plus discrète, pour laquelle la valeur enregistrée peut surprendre. Les tableurs enregistrent les nombres en binaire, et beaucoup de décimaux, comme 0.1, n'ont pas d'écriture binaire exacte. Microsoft donne à Excel une précision de 15 chiffres : après une longue suite de calculs, de minuscules restes peuvent apparaître bien au-delà du quinzième chiffre. En général, tu ne les vois pas. Ils font pourtant partie de la valeur enregistrée, et une comparaison avec un nombre exact peut donner FALSE à cause d'eux. Arrondir avant de comparer, comme dans =ROUND(A1,2)=0.3, est une bonne habitude.
Ce que ROUND fait au nombre enregistré
ROUND(nombre, chiffres) arrondit à un nombre donné de décimales et, contrairement au format, il change la valeur enregistrée. Exemples de Microsoft : =ROUND(2.15, 1) donne 2.2, =ROUND(2.149, 1) donne 2.1 et =ROUND(23.7825, 2) donne 23.78. Un chiffre à mi-chemin s'arrondit en s'éloignant de zéro, donc =ROUND(-1.475, 2) donne −1.48. L'aide de Google parle d'arrondir vers le haut ou vers le bas en valeur absolue, quel que soit le signe. Avec 0 chiffre, on obtient un nombre entier. Une valeur négative arrondit à gauche de la virgule : =ROUND(626.3, -3) donne 1000 et =ROUND(1.98, -1) donne 0.
| Formule | Résultat |
|---|---|
| =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 |
Ici, les deux logiciels diffèrent un peu. Dans Excel, le second argument, num_digits, est obligatoire. Dans Google Sheets, places est facultatif et vaut 0 par défaut : =ROUND(2.5) donne 3 dans Sheets, alors qu'Excel te demande de compléter la formule. Écrire le nombre de chiffres à chaque fois marche dans les deux et se lit plus clairement. Pour arrondir toujours dans le même sens, les deux logiciels ont ROUNDUP et ROUNDDOWN ; le labo de cette page n'utilise que ROUND.
ROUND peut envelopper n'importe quel calcul. =ROUND(SUM(B2:B9)/COUNT(B2:B9), 1) donne une moyenne à une décimale, et =ROUND(A2*1.1, 0) ajoute 10 % à un prix puis arrondit à l'unité. Lis ces formules de l'intérieur vers l'extérieur : d'abord le calcul, puis l'arrondi de son résultat.
Fais glisser pour tourner. Fais défiler ou pince pour zoomer.
- Cliquer sur « réduire les décimales » et dire que le nombre est arrondi. C'est le format de nombre. La cellule a l'air arrondie, mais les formules utilisent encore tous les chiffres. Seul ROUND change la valeur enregistrée.
- N'arrondir que le total général. Chaque ligne contient encore des montants non arrondis, donc les lignes affichées ne donnent pas le total affiché. Arrondis chaque montant là où il est calculé.
- Écrire =ROUND(A2) dans Excel. Excel exige num_digits. Sheets accepte la formule et arrondit à l'entier : une feuille qui marche dans Sheets peut donc bloquer sur cette formule dans Excel.
- S'attendre à ce que -1.475 s'arrondisse à -1.47. À mi-chemin, on arrondit en s'éloignant de zéro, en valeur absolue : le résultat est −1.48.
- Que renvoie =ROUND(2.15, 1) ?
- Que renvoie =ROUND(2.149, 1) ?
- Que renvoie =ROUND(-1.475, 2) ?
- Que renvoie =ROUND(626.3, -3) ?
- Que renvoie =ROUND(21.5, -1) ?
- Que renvoie =ROUND(23.7825, 2) ?
- B2 contient 1.649175, formaté pour afficher 1.65. Que renvoie =B2*100 ?
- Trois cellules contiennent chacune =1/3, affiché 0.33. Qu'affiche leur SUM avec deux décimales ?
- 1.00
- 0.99
- 0.33
- #VALUE!
- Que fait =ROUND(2.5) ?
- Google Sheets donne 3 ; Excel demande l'argument manquant
- Les deux donnent 2
- Les deux donnent 3
- Les deux affichent #N/A
- Où faut-il arrondir les sommes d'argent pour que les chiffres affichés s'additionnent ?
- Là où chaque montant est calculé
- Seulement dans le total général
- Nulle part ; le format suffit
- Dans une autre feuille
- Le format de nombre change ce que tu vois, pas ce qui est enregistré.
- ROUND(nombre, chiffres) : à mi-chemin, on s'éloigne de zéro ; un nombre de chiffres négatif arrondit à gauche de la virgule.
- Excel exige l'argument des chiffres ; Google Sheets le met à 0 par défaut.
- Arrondis l'argent là où il est calculé pour que les nombres affichés s'additionnent.
Sources de ce cours (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!)
Consulté le: 2026-10-19