Arrondir à 0, 5 et 9

Résolu
Valo -  
 Valo -
Bonjour,

J'ai souhaite savoir comment faire sur Excel (2007) pour avoir une valeur qui se termine systématiquement par 0, par 5 ou par 9 sur la deuxième décimale.

Exemple :
3.46 --> 3.45
7.81 --> 7.80
15.17 --> 15.19

Voici ce que je dois toujours obtenir sur le deuxième décimale en fonction de la valeur de celle-ci:

0 --> 0
1 --> 0
2 --> 0
3 --> 5
4 --> 5
5 --> 5
6 --> 5
7 --> 9
8 --> 9
9 --> 9

Je dois intégrer ça dans des calculs simples (+ - / *)
Exemple : 3.21*4=12.84 --> 12.85

Merci de votre aide.
A voir également:

8 réponses

Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
Bonjour
essayez cette formule (pour une valeur en A1)
=ENT(A1)+SI(A1-ENT(A1)<=0;0;SI(A1-ENT(A1)<=0,6;0,5;0,9))

et si bien sur en A1 vous avez une formule remplacez A1 ici par cette formule pour obtenir directement un résultat
crdlmnt
1
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
Bonjour à tous les deux

1. Un petit correctif à la formule de Vaucluse, mais je crois que ça ne règle pas tout
=ENT(A1)+SI(A1-ENT(A1)<=0,2;0;SI(A1-ENT(A1)<=0,6;0,5;0,9))
2. Ce que j'avais tenté
Ta valeur à traiter en G4
Dans une cellule formatée avec 2 chiffres décimaux
=ENT(ARRONDI(G4;2)*10)/10+CHOISIR(1+MOD(100*ARRONDI(G4;2);10);0;0;0;5;5;5;5;9;9;9)/100

Cdlmnt
1
Valo
 
Ça marche parfaitement bien !!!

Merci beaucoup.

Merci à tous pour votre contribution !!!

Cordialement,
1
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
Essaies celle là
=ENT(ARRONDI(G5;2)*10)/10+INDEX({0;0;0;5;5;5;5;9;9;9};1+MOD(100*ARRONDI(G5;2);10))/100

Cdlmnt
1
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
D'après ton idée, sur le même principe :
=ENT(ARRONDI(A2;2)*10)/10+INDEX({0;5;9};MOD(ENT(A2*30+0,11);3)+1)/100
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
Bonjour

juste pour la forme

effectivement, je me suis trompé d'un étage, j'ai travaillé sur la 1° décimale plutôt que sur la seconde.

pour la seconde décimale, c'est là, mais ça ne vaut pas la solution de Patrice,(salut mon ami) donc c'est juste pour dire que je n'ai pas tout raté! :-)))

=ENT(A1*10)/10+(SI((A1*10-ENT(A1*100/10))*10<3;0;SI((A1*10-ENT(A1*100/10))*10<7;5;9)))/100
ça donne ça
https://mon-partage.fr/f/JUfg29bY/
crdlmnt

La qualité de la réponse dépend surtout de la clarté de la question, merci!
1
Valo
 
Bonjour,

Merci pour cette réponse.
Cependant, cela ne marche que sur la première décimale et non sur la deuxième, et on a une erreur sur le passage au 0:

2.00 --> 2.00
2.10 --> 2.50 (au lieu de 2.00)
2.20 --> 2.50 (au lieu de 2.00)
.
.
.
.
0
Valo
 
Super ça fonctionne !!! (la deuxième formule)
Merci beaucoup!

Un simple effet probablement du à l'arrondi:
1.03 --> 1.05 (ok)
2.03 --> 2.00 (au lieu de 2.05)
Mais ça ne me semble pas grave pour ce que j'ai à faire.

Merci encore !!!
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Bonjour,

C'est effectivement un problème d'arrondi !
Essaies :
=ENT(ARRONDI(A2;2)*10)/10+CHOISIR(1+MOD(ENT(100*ARRONDI(A2;2));10);0;0;0;5;5;5;5;9;9;9)/100
0
Valo
 
Merci :)
0