OVH Cloud OVH Cloud

Arrondi a trois chiffres significatifs

12 réponses
Avatar
voir.le
bonjour,

J'ai du savoir le faire dans une vie antérieure, mais impossible de le
retrouver. Comment, avec des formules de calcul ou des fonctions, faire
un arrondi à trois chiffres significatifs, par exemple :

10,78594 -> 10,8
9,567842 -> 9,57
0,548215 -> 0,548

Excellement vôtre.

--
Yves Benisty

10 réponses

1 2
Avatar
Denis Michon
Bonjour Yves,

Tu as des "arrondi spécial" !!

Essaie ceci :

si en A10 est ta valeur :

Tu inscris dans un autre cellule :
=ARRONDI(A10;4-NBCAR(ENT(A10)))


Salutations!



"Yves Benisty" a écrit dans le message de news:1g4ua9k.1lxfromkwb08N%
bonjour,

J'ai du savoir le faire dans une vie antérieure, mais impossible de le
retrouver. Comment, avec des formules de calcul ou des fonctions, faire
un arrondi à trois chiffres significatifs, par exemple :

10,78594 -> 10,8
9,567842 -> 9,57
0,548215 -> 0,548

Excellement vôtre.

--
Yves Benisty
Avatar
Denis Michon
Comme c'est 3 chiffres que tu veux au lieux de 4, remplace le 4 dans la formule par 3


Salutations!



"Denis Michon" a écrit dans le message de news:c8Pvb.60061$
Bonjour Yves,

Tu as des "arrondi spécial" !!

Essaie ceci :

si en A10 est ta valeur :

Tu inscris dans un autre cellule :
=ARRONDI(A10;4-NBCAR(ENT(A10)))


Salutations!



"Yves Benisty" a écrit dans le message de news:1g4ua9k.1lxfromkwb08N%
bonjour,

J'ai du savoir le faire dans une vie antérieure, mais impossible de le
retrouver. Comment, avec des formules de calcul ou des fonctions, faire
un arrondi à trois chiffres significatifs, par exemple :

10,78594 -> 10,8
9,567842 -> 9,57
0,548215 -> 0,548

Excellement vôtre.

--
Yves Benisty
Avatar
Dorysse
Hello,
"Yves Benisty" a écrit dans le message de
news:1g4ua9k.1lxfromkwb08N%
bonjour,

J'ai du savoir le faire dans une vie antérieure, mais impossible de le
retrouver. Comment, avec des formules de calcul ou des fonctions,
faire
un arrondi à trois chiffres significatifs, par exemple :

10,78594 -> 10,8
9,567842 -> 9,57
0,548215 -> 0,548

Excellement vôtre.


"Denis Michon" a écrit dans le message de
news:c8Pvb.60061$ Bonjour Yves,
Tu as des "arrondi spécial" !!
Essaie ceci :
si en A10 est ta valeur :
Tu inscris dans un autre cellule :
=ARRONDI(A10;4-NBCAR(ENT(A10)))


Comme c'est 3 chiffres que tu veux au lieux de 4, remplace le 4 dans
la formule par 3



Bonjour,
en fait, pour obtenir le résultat que demandait Yves, il faut faire un mixe
des deux (puis qu'il veut 3 chiffres significatifs, ça veut dire aussi 3
chiffres après la virgule quand c'est compris entre -1 et 1, et là, ta
formule ne le prend pas).
La formule est donc :
SI(ABS(A10)<1; ARRONDI(A10;4-NBCAR(ENT(A10)));
ARRONDI(A10;3-NBCAR(ENT(A10))))
en supposant qu'Yves travaille avec des nombres négatifs également, sinon on
peut supprimer la fonction ABS.


--
Dorysse,
http://perso.wanadoo.fr/gastounet/
http://perso.wanadoo.fr/gastounet/Sylvestre/



Avatar
Denis Michon
Bonsoir Dorysse,

Bravo !

Je ne suis pas un "grand testeur" de formule ! J'ai la gâchette rapide ! ;-))


Salutations!


"Dorysse" a écrit dans le message de news:%
Hello,
"Yves Benisty" a écrit dans le message de
news:1g4ua9k.1lxfromkwb08N%
bonjour,

J'ai du savoir le faire dans une vie antérieure, mais impossible de le
retrouver. Comment, avec des formules de calcul ou des fonctions,
faire
un arrondi à trois chiffres significatifs, par exemple :

10,78594 -> 10,8
9,567842 -> 9,57
0,548215 -> 0,548

Excellement vôtre.


"Denis Michon" a écrit dans le message de
news:c8Pvb.60061$ Bonjour Yves,
Tu as des "arrondi spécial" !!
Essaie ceci :
si en A10 est ta valeur :
Tu inscris dans un autre cellule :
=ARRONDI(A10;4-NBCAR(ENT(A10)))


Comme c'est 3 chiffres que tu veux au lieux de 4, remplace le 4 dans
la formule par 3



Bonjour,
en fait, pour obtenir le résultat que demandait Yves, il faut faire un mixe
des deux (puis qu'il veut 3 chiffres significatifs, ça veut dire aussi 3
chiffres après la virgule quand c'est compris entre -1 et 1, et là, ta
formule ne le prend pas).
La formule est donc :
SI(ABS(A10)<1; ARRONDI(A10;4-NBCAR(ENT(A10)));
ARRONDI(A10;3-NBCAR(ENT(A10))))
en supposant qu'Yves travaille avec des nombres négatifs également, sinon on
peut supprimer la fonction ABS.


--
Dorysse,
http://perso.wanadoo.fr/gastounet/
http://perso.wanadoo.fr/gastounet/Sylvestre/



Avatar
voir.le
"Yves Benisty" a écrit
J'ai du savoir le faire dans une vie antérieure, mais impossible de
le retrouver. Comment, avec des formules de calcul ou des fonctions,
faire un arrondi à trois chiffres significatifs, par exemple :

10,78594 -> 10,8
9,567842 -> 9,57
0,548215 -> 0,548



"Denis Michon" a écrit
Tu as des "arrondi spécial" !!



J'ai des pourcentages allant de 0,2 à 18 %. J'ai pensé que donner le
résultat avec un nombre fixe de décimales n'avait pas le même sens pour
18,1 (précision à 1/1000), 9,2 (précision à 1/100) et 0,2 (précision à
1/10). En donnant toujours le même nombre de chiffres significatifs, ça
me semblait plus logique.

=ARRONDI(A10;3-NBCAR(ENT(A10)))



Dorysse wrote:
en fait, pour obtenir le résultat que demandait Yves, il faut faire un mixe
des deux (puis qu'il veut 3 chiffres significatifs, ça veut dire aussi 3
chiffres après la virgule quand c'est compris entre -1 et 1, et là, ta
formule ne le prend pas).
La formule est donc :
SI(ABS(A10)<1; ARRONDI(A10;4-NBCAR(ENT(A10)));
ARRONDI(A10;3-NBCAR(ENT(A10))))
en supposant qu'Yves travaille avec des nombres négatifs également, sinon on
peut supprimer la fonction ABS.


OK, merci pour votre aide. Je n'ai pas de nombres négatifs, la formule
devient :

SI(A10<1; ARRONDI(A10;4-NBCAR(ENT(A10)));ARRONDI(A10;3-NBCAR(ENT(A10))))

--
Pour l'occasion, un X-Face spécial Excel
Yves Benisty



Avatar
Michel Gaboly
Bonsoir,

Voici une formule plus simple ;-))

=ARRONDI(A10;-ENT(LOG(A10)) + 2)

Le fait d'utiliser un LOG() évite d'avoir à traiter un cas particulier
pour les valeurs inférieures à 1 ;-)))

La formule amusera peut-être Garnote ;-)))



"Yves Benisty" a écrit
J'ai du savoir le faire dans une vie antérieure, mais impossible de
le retrouver. Comment, avec des formules de calcul ou des fonctions,
faire un arrondi à trois chiffres significatifs, par exemple :

10,78594 -> 10,8
9,567842 -> 9,57
0,548215 -> 0,548



"Denis Michon" a écrit
Tu as des "arrondi spécial" !!



J'ai des pourcentages allant de 0,2 à 18 %. J'ai pensé que donner le
résultat avec un nombre fixe de décimales n'avait pas le même sens pour
18,1 (précision à 1/1000), 9,2 (précision à 1/100) et 0,2 (précision à
1/10). En donnant toujours le même nombre de chiffres significatifs, ça
me semblait plus logique.

=ARRONDI(A10;3-NBCAR(ENT(A10)))



Dorysse wrote:
en fait, pour obtenir le résultat que demandait Yves, il faut faire un mixe
des deux (puis qu'il veut 3 chiffres significatifs, ça veut dire aussi 3
chiffres après la virgule quand c'est compris entre -1 et 1, et là, ta
formule ne le prend pas).
La formule est donc :
SI(ABS(A10)<1; ARRONDI(A10;4-NBCAR(ENT(A10)));
ARRONDI(A10;3-NBCAR(ENT(A10))))
en supposant qu'Yves travaille avec des nombres négatifs également, sinon on
peut supprimer la fonction ABS.


OK, merci pour votre aide. Je n'ai pas de nombres négatifs, la formule
devient :

SI(A10<1; ARRONDI(A10;4-NBCAR(ENT(A10)));ARRONDI(A10;3-NBCAR(ENT(A10))))

--
Pour l'occasion, un X-Face spécial Excel
Yves Benisty


--
Cordialement,

Michel Gaboly
http://www.gaboly.com




Avatar
Dorysse
Hello,

Bonsoir,


salut


Voici une formule plus simple ;-))

=ARRONDI(A10;-ENT(LOG(A10)) + 2)

Le fait d'utiliser un LOG() évite d'avoir à traiter un cas particulier
pour les valeurs inférieures à 1 ;-)))

oui, mais là on se trouve devant un autre cas particulier :

si la valeur en A10 est 7,1035455, la formule nous retourne "7,1", donc plus
que deux chiffres significatifs.
Pour conserver 3 chiffres (dans les exemple présent, pour obtenir "7,10" il
faut une autre formule qui marche dans tous les cas :

SI(A10<1; CTXT(A10;4-NBCAR(ENT(A10)));CTXT(A10;3-NBCAR(ENT(A10))))

--
Dorysse,
http://perso.wanadoo.fr/gastounet/
http://perso.wanadoo.fr/gastounet/Sylvestre/

Avatar
Michel Gaboly
Bonjour,

Si tu veux que le 3àme chiffre significatif soit affiché, même s'il s'agit
d'un 0 situé après la virgule, ce que je peux comprendre, simplifie au
moins comme ceci :

=CTXT(A10;SI(A10<1;4;3)-NBCAR(ENT(A10)))

Ceci dit, je préfère tout de même ma formule qui fonctionne pour tout
nombre positif (à part les nombres entre 0 et 10 avec un 0 significatif
en seconde position après la virgule, où ce zéro n'est pas affiché : la va-
leur affichée est correcte mais pas le niveau de précision.

Tandis que la vôtre ne fonctionne pas pour les très petits nombres, car
elle considère comme significatif les premiers 0 :

Avec 0,000123456, on obtient 0,000 mais 0,000123 avec ma version
Avec 0,00123456, on obtient 0,001 mais 0,00123 ...
Avec 0,0123456, on obtient 0,012 mais 0,0123 ...

En clair la formule traite un cas particulier pour les nombres inférieurs
à 1 en renvoaynt un caractère de plus, mais c'est insuffisant ;-((


Hello,

Bonsoir,


salut


Voici une formule plus simple ;-))






Le fait d'utiliser un LOG() évite d'avoir à traiter un cas particulier
pour les valeurs inférieures à 1 ;-)))

oui, mais là on se trouve devant un autre cas particulier :

si la valeur en A10 est 7,1035455, la formule nous retourne "7,1", donc plus
que deux chiffres significatifs.
Pour conserver 3 chiffres (dans les exemple présent, pour obtenir "7,10" il
faut une autre formule qui marche dans tous les cas :

SI(A10<1; CTXT(A10;4-NBCAR(ENT(A10)));CTXT(A10;3-NBCAR(ENT(A10))))

--
Dorysse,
http://perso.wanadoo.fr/gastounet/
http://perso.wanadoo.fr/gastounet/Sylvestre/


--
Cordialement,

Michel Gaboly
http://www.gaboly.com


Avatar
voir.le
Voici une formule plus simple ;-))
=ARRONDI(A10;-ENT(LOG(A10)) + 2)

Le fait d'utiliser un LOG() évite d'avoir à traiter un cas
particulier pour les valeurs inférieures à 1 ;-)))



Dorysse wrote:
oui, mais là on se trouve devant un autre cas particulier :
si la valeur en A10 est 7,1035455, la formule nous retourne "7,1", donc plus
que deux chiffres significatifs.
Pour conserver 3 chiffres (dans les exemple présent, pour obtenir "7,10" il
faut une autre formule qui marche dans tous les cas :

SI(A10<1; CTXT(A10;4-NBCAR(ENT(A10)));CTXT(A10;3-NBCAR(ENT(A10))))


Effectivement, c'est un problème important. Je pense que je vais garder
cette solution, même si elle présente un défaut (comment, qui a dit que
j'exagère ;-), c'est que le résultat est rendu sous forme de texte.

--
Yves Benisty


Avatar
Michel Gaboly
Re,

=CNUM(CTXT(A13;SI(A13<1;4;3)-NBCAR(ENT(A13))))

suffit pour la convertir en numérique mais dans ce cas on perd le(s) dernier(s)
chiffre(s) s'il s'agit de 0.

Voici une variante de ma formule qui affiche toujours 3 chiffres significatifs, ET
fonctionne pour tout nombre positif ;-))

=CTXT(ARRONDI(A10;-ENT(LOG(A10)) + 2);MAX(0;-ENT(LOG(A10)) + 2))



Voici une formule plus simple ;-))
=ARRONDI(A10;-ENT(LOG(A10)) + 2)

Le fait d'utiliser un LOG() évite d'avoir à traiter un cas
particulier pour les valeurs inférieures à 1 ;-)))



Dorysse wrote:
oui, mais là on se trouve devant un autre cas particulier :
si la valeur en A10 est 7,1035455, la formule nous retourne "7,1", donc plus
que deux chiffres significatifs.
Pour conserver 3 chiffres (dans les exemple présent, pour obtenir "7,10" il
faut une autre formule qui marche dans tous les cas :

SI(A10<1; CTXT(A10;4-NBCAR(ENT(A10)));CTXT(A10;3-NBCAR(ENT(A10))))


Effectivement, c'est un problème important. Je pense que je vais garder
cette solution, même si elle présente un défaut (comment, qui a dit que
j'exagère ;-), c'est que le résultat est rendu sous forme de texte.

--
Yves Benisty


--
Cordialement,

Michel Gaboly
http://www.gaboly.com



1 2