[Excel] formule d'arrondi
Lechuck
Messages postés
68
Statut
Membre
-
Raymond PENTIER Messages postés 71867 Date d'inscription Statut Contributeur Dernière intervention -
Raymond PENTIER Messages postés 71867 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'aimerais créer une formule d'arrondi un peu spéciale sous Excel mais hje ne trouve pas la fonction capable d'exécuter ce calcul. Il s'agit d'arrondir un nombre x selon la règle suivante:
x appartient à [0;0,1] --> 0,1
x appartient à ]0,1;0,5] --> 0,5
x appartient à ]0,5;1] --> 1
Comment puis-je faire? Merci pour vottre aide.
J'aimerais créer une formule d'arrondi un peu spéciale sous Excel mais hje ne trouve pas la fonction capable d'exécuter ce calcul. Il s'agit d'arrondir un nombre x selon la règle suivante:
x appartient à [0;0,1] --> 0,1
x appartient à ]0,1;0,5] --> 0,5
x appartient à ]0,5;1] --> 1
Comment puis-je faire? Merci pour vottre aide.
A voir également:
- [Excel] formule d'arrondi
- Formule si et excel - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Liste déroulante excel - Guide
- Formule somme excel ligne - Guide
- Mise en forme conditionnelle excel formule - Guide
10 réponses
Bonjour,
La formule proposée me paraît un peu compliquée.
En voici une qui fonctionne très bien en pure mathématique:
ENT( (x * 2) + 0.5) / 2
Avec mes meilleurs messages.
Jean-Marc
La formule proposée me paraît un peu compliquée.
En voici une qui fonctionne très bien en pure mathématique:
ENT( (x * 2) + 0.5) / 2
Avec mes meilleurs messages.
Jean-Marc
Bonjour,
Peut-être ceci:
=SI(A1-ENT(A1)<=0,1;ENT(A1)+0,1;SI(A1-ENT(A1)<=0,5;ENT(A1)+0,5;ENT(A1)+1))
Bonne continuation.
Peut-être ceci:
=SI(A1-ENT(A1)<=0,1;ENT(A1)+0,1;SI(A1-ENT(A1)<=0,5;ENT(A1)+0,5;ENT(A1)+1))
Bonne continuation.
-salut
as tu simplement essayé d'appliquer ta regle de selection
=si(et(A1>=0;A1<=0,1;0,1;si(et(A1>0,1;A1<=0,5);0,5;si(et(A1>0,5;A1<=1;1;"hors interval"))) si la valeur peut sortier de l'intervalle de definition
si ta valeur en A1 ne peut que se trouver dans l'intervalle de definition :
=si(et(A1>=0;A1<=0,1;0,1;si(et(A1>0,1;A1<=0,5);0,5;1))
Cordialement
G.David
le respect n'est pas un dû
il se merite
as tu simplement essayé d'appliquer ta regle de selection
=si(et(A1>=0;A1<=0,1;0,1;si(et(A1>0,1;A1<=0,5);0,5;si(et(A1>0,5;A1<=1;1;"hors interval"))) si la valeur peut sortier de l'intervalle de definition
si ta valeur en A1 ne peut que se trouver dans l'intervalle de definition :
=si(et(A1>=0;A1<=0,1;0,1;si(et(A1>0,1;A1<=0,5);0,5;1))
Cordialement
G.David
le respect n'est pas un dû
il se merite
J'ai beau essayer plein de chose, étant piètre mathématicien, je n'arrive pas à m'appuyer sur votre formule afin d'arrondir des notes.
Par exemple si un note est comprise entre 12 et 12.25 j'aimerai que la formule calcule 12 ; si la note est entre 12.25 et 12.75 que le résultat soit 12.5 et bien sur si c'est > à 12.75 : 13.
Ce qui revient à arrondir à 0.5 inférieur et supérieur par quart de points...
Bref, je ne sais pas si je suis clair et je vais continuer d'essayer de bidouiller...
+
Par exemple si un note est comprise entre 12 et 12.25 j'aimerai que la formule calcule 12 ; si la note est entre 12.25 et 12.75 que le résultat soit 12.5 et bien sur si c'est > à 12.75 : 13.
Ce qui revient à arrondir à 0.5 inférieur et supérieur par quart de points...
Bref, je ne sais pas si je suis clair et je vais continuer d'essayer de bidouiller...
+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut
pour arrondir il y a la fonction arrondi
12.25 -->12 12.55-->13 pour cela
si note en a2:a15 mettre en b2 =arrondi(a2;0) et tirer la formule de b2 à b15
Cordialement
G.David
pour arrondir il y a la fonction arrondi
12.25 -->12 12.55-->13 pour cela
si note en a2:a15 mettre en b2 =arrondi(a2;0) et tirer la formule de b2 à b15
Cordialement
G.David
Merci beaucoup beaucoup pour cette réponse.
Mais ça ne résoud pas vraiment mon problème...
En fait, je vais avoir une très grosse quantité de notes sur 30 à convertir sur 20. J'ai d'abord fait une colonne quotient, et je tente maintenant de faire une colonne ou mes résultats de quotiens s'arrondissent à 0.5
En fait si je reprends la façon que chuck a eu de formuler sa question je l'écrirai comme ça :
note appartient à [x,0;x,25] --> x,0
note appartient à ]x,25;x,75] --> 0,5
note appartient à ]x,75;1] --> 1
En fait un 12.24 tomberait à 12 et un 12.76 passerait à 13. Mais tout ce qui se trouve entre les deux à 12.5
Peut-être n'est-ce pas possible. En tous cas si je trouve où si une bonne âme connait la solution ça va me faire gagner un temps fou cette année !!
Encore merci !
Mais ça ne résoud pas vraiment mon problème...
En fait, je vais avoir une très grosse quantité de notes sur 30 à convertir sur 20. J'ai d'abord fait une colonne quotient, et je tente maintenant de faire une colonne ou mes résultats de quotiens s'arrondissent à 0.5
En fait si je reprends la façon que chuck a eu de formuler sa question je l'écrirai comme ça :
note appartient à [x,0;x,25] --> x,0
note appartient à ]x,25;x,75] --> 0,5
note appartient à ]x,75;1] --> 1
En fait un 12.24 tomberait à 12 et un 12.76 passerait à 13. Mais tout ce qui se trouve entre les deux à 12.5
Peut-être n'est-ce pas possible. En tous cas si je trouve où si une bonne âme connait la solution ça va me faire gagner un temps fou cette année !!
Encore merci !
il existe aussi la fonction arrondi.au.multiple(x;0.25) il te faudra d'abords verifier que dans les macros complémentaires l'assitant solveur soit coché
ceci
a mettre dans un module
ouvrir l'editeur VB ( Alt F11)
dans le volet de gauche sur le classeur en cours inséré un module
et copier le code de la fonction
dans la feuille taper =note(A6)
le texte devraite passer en =NoTe(A6) et l'affichage pour a6=12.45 sera 12.25
Function NoTe(a As Double) Dim b As Integer b = (a - Int(a)) * 100 Dim c As Double If b < 25 Then c = 0 ElseIf b >= 25 And b < 50 Then c = 0.25 ElseIf b >= 50 And b < 75 Then c = 0.5 Else c = 1 End If NoTe = Int(a) + c End Function
a mettre dans un module
ouvrir l'editeur VB ( Alt F11)
dans le volet de gauche sur le classeur en cours inséré un module
et copier le code de la fonction
dans la feuille taper =note(A6)
le texte devraite passer en =NoTe(A6) et l'affichage pour a6=12.45 sera 12.25