A voir également:
- Formule =IF acceptant la différence d'arrondis
- Formule si et - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Formule excel moyenne - Guide
- Excel mise en forme conditionnelle formule - Guide
- Difference tcp udp - Guide
2 réponses
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 421
Modifié par Vaucluse le 14/07/2016 à 20:05
Modifié par Vaucluse le 14/07/2016 à 20:05
Bonjour
on ne voit pas très bien ce que vous voulez comparer?
est ce les entiers sans prendre en compte les décimales
est ce les arrondis à X décimales, sup, if ou au plus prés?
dans le premier cas, comparer les entiers:
=IF(INT(C1)=INT(C2);....;...)
pour les arrondis:
=IF(ROUND(C1;2)=ROUND(C2;2);...;...)
pour arrondi sup: ROUNDUP
pour les inférieurs ROUNDDOWN
avec le nombre de décimales à prendre en compte ici ;2)
et enfin pour admettre où non un écart entre les deux vakleurs, ce qui est peut être le mieux:
=SI(ABS(C1-C2)<x;/...;...)
qui prendra en compte la valeur absolu de l"écart qu'il soit positif ou négatif
xxx étant la valeur de l'écart que vous pouvez admettre (0,1 ou 0,001 ect..
crdlmnt
La qualité de la réponse dépend surtout de la clarté de la question, merci!
on ne voit pas très bien ce que vous voulez comparer?
est ce les entiers sans prendre en compte les décimales
est ce les arrondis à X décimales, sup, if ou au plus prés?
dans le premier cas, comparer les entiers:
=IF(INT(C1)=INT(C2);....;...)
pour les arrondis:
=IF(ROUND(C1;2)=ROUND(C2;2);...;...)
pour arrondi sup: ROUNDUP
pour les inférieurs ROUNDDOWN
avec le nombre de décimales à prendre en compte ici ;2)
et enfin pour admettre où non un écart entre les deux vakleurs, ce qui est peut être le mieux:
=SI(ABS(C1-C2)<x;/...;...)
qui prendra en compte la valeur absolu de l"écart qu'il soit positif ou négatif
xxx étant la valeur de l'écart que vous pouvez admettre (0,1 ou 0,001 ect..
crdlmnt
La qualité de la réponse dépend surtout de la clarté de la question, merci!
Utilisateur anonyme
Modifié par albkan le 14/07/2016 à 20:51
Modifié par albkan le 14/07/2016 à 20:51
Bonjour Cmathieu,
Je crois que cette solution de Patrice33740 pourra t'aider. 😊
Mais il faudra trouver la correspondance dans ton Excel anglais.
Je crois que cette solution de Patrice33740 pourra t'aider. 😊
Mais il faudra trouver la correspondance dans ton Excel anglais.
14 juil. 2016 à 20:26
Pour être plus précise : case 1 = 12,5356. Case 2=12,5399 . Vu que je cache mes chiffres deux nombres après la virgule . J'ai un visuel : case 1 = 12,53 et case 2= 12,53 donc le visuel des deux cases est identiques.
J'aimerais donc que ma formule IF prénne juste en considération 12,53 (mes deux nombres après la virgule). Et donc dans ce cas que la formule informe que mon résultat est correcte car case 1 et case 2 sont bien égales a 12,53.
J'espère que je suis plus claire :)
Modifié par albkan le 14/07/2016 à 20:53
Bonjour Cmathieu, Vaucluse a raison :
ROUND(12.5356,2) retourne 12.53
ROUND(12.5399,2) retourne 12.53 aussi
Donc la comparaison des deux valeurs sera exacte et IF() retournera TRUE.
Mais lis d'abord mon message #2 dont le lien te sera sûrement utile :
tu pourrais n'avoir à modifier aucune formule ! 😊
Modifié par Vaucluse le 15/07/2016 à 06:59
ce n'est pas tout à fait selon vos exemples Albkan, car
___ ROUND(12.539,2) va retourner 12,54 (à partir de 12,536)
___ ROUND(12.531 va retourner 12,53
si on ne veut prendre en compte que la partie décimale visible plutôt que l'écart réel entre les deux valeurs il faut utiliser:
ROUNDDOWN(Cell;2) qui renverra toujours au 2 décimales inférieures (ou ROUNDUP pour avec les supérieures, ce qui revient au même)
Mais pour éliminer un écart de moins de 0,01 quel que soit l'entier, celle ci est suffisante
=IF(ABS(C1-C2)<0.01,"OK";"")
crdlmnt
15 juil. 2016 à 14:22
Ce message est aussi pour Cmathieu.
Bonjour Vaucluse,
Ce que tu as écrit est tout à fait exact : j'ai oublié de faire l'arrondi
du 2ème chiffre après la virgule selon le 3ème ; ainsi, pour mes
deux exemples, au lieu de 12,53, j'aurais dû écrire 12,54 :
ROUND(12.5356,2) retourne 12.54
ROUND(12.5399,2) retourne 12.54 aussi
Et comme tu l'as indiqué :
ROUND(12.539,2) retourne 12.54
ROUND(12.531,2) retourne 12.53
----------------------------------------------------------
Je continue quand même à penser que ce serait beaucoup
plus simple pour Cmathieu d'utiliser dans son Excel anglais
l'équivalent français de ce paramètre :
Avec Excel 2007
bouton Office (= menu Fichier), Options Excel, onglet Options avancées,
faire défiler vers le bas jusqu'à voir cette rubrique (bande bleue) :
« Lors du calcul de ce classeur : »
☑ Définir le calcul avec la précision au format affiché
Avec Excel 2003
menu Outils / Options... ; onglet Calcul :
☑ Calcul avec la précision au format affiché
----------------------------------------------------------
Les calculs sont toujours faits avec la précision maximale de 15 chiffres
après la virgule, puis pour un format à 2 chiffres après la virgule, l'arrondi
est fait selon le 3ème, et le résultat est stocké en interne et affiché avec
seulement ces 2 chiffres après la virgule. Mais attention : le paramètre
ci-dessus s'applique au classeur entier (donc pour toutes les feuilles).
Si cet arrondi automatique n'est pas désiré pour une seule des feuilles,
il ne faut pas utiliser ce paramètre et utiliser les fonctions d'arrondi.
Cordialement. 😊
14 juil. 2016 à 20:42
=IF(ABS(C1-C2)<0,01;"OK";"")
le "OK" parce que je sais pas ce que vous voulez ressortir.
crdlmnt