Excel fonction si et
Résolu
vladicom
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
PHILOU10120 Messages postés 6445 Date d'inscription Statut Contributeur Dernière intervention -
PHILOU10120 Messages postés 6445 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je souhaites faire un affichage sur mon tableau excel mais je ne trouve pas comment faire pouvez vous m'aider svp? merci.
Alors J'aimerais que :
- si A1 est compris entre 0 et 1000 cela m'affiche 10%
- si A1 est compris entre 1001 et 2000 cela m'affiche 20%
- si A1 est compris entre 2001 et 3000 cela m'affiche 30%
- si A1 est compris entre 3001 et 4000 cela m'affiche 40%
- si A1 est compris entre 4001 et 5000 cela m'affiche 50%
- si A1 est supérieur à 5000 cela m'affiche 60%
J'ai essayé un truc dans le genre :
=SI(ET(C2>0;C2<1000);"10%";SI(ET(C2>1000;C2<2000);"20%";SI(ET(C2>2000;C2<3000);"30%";SI(ET(C2>3000;C2<4000);"40%";SI(ET(C2>4000;C2<5000);"50%")))))))
Mais cela ne fonctionne pas je dois faire une erreur quelque part.
Merci d'avance pour votre aide.
Bonne journée.
Je souhaites faire un affichage sur mon tableau excel mais je ne trouve pas comment faire pouvez vous m'aider svp? merci.
Alors J'aimerais que :
- si A1 est compris entre 0 et 1000 cela m'affiche 10%
- si A1 est compris entre 1001 et 2000 cela m'affiche 20%
- si A1 est compris entre 2001 et 3000 cela m'affiche 30%
- si A1 est compris entre 3001 et 4000 cela m'affiche 40%
- si A1 est compris entre 4001 et 5000 cela m'affiche 50%
- si A1 est supérieur à 5000 cela m'affiche 60%
J'ai essayé un truc dans le genre :
=SI(ET(C2>0;C2<1000);"10%";SI(ET(C2>1000;C2<2000);"20%";SI(ET(C2>2000;C2<3000);"30%";SI(ET(C2>3000;C2<4000);"40%";SI(ET(C2>4000;C2<5000);"50%")))))))
Mais cela ne fonctionne pas je dois faire une erreur quelque part.
Merci d'avance pour votre aide.
Bonne journée.
A voir également:
- Excel fonction si et
- Fonction si et - Guide
- Word et excel gratuit - Guide
- Liste déroulante excel - Guide
- Excel cellule couleur si condition texte - Guide
- Fonction moyenne excel - Guide
8 réponses
Bonjour.
Oui, il y a des erreurs dans :
=SI(ET(C2>0;C2<1000);"10%";SI(ET(C2>1000;C2<2000);"20%";SI(ET(C2>2000;C2<3000);"30%";
SI(ET(C2>3000;C2<4000);"40%";SI(ET(C2>4000;C2<5000);"50%")))))))
- La première est d'avoir mis 7 parenthèses à la fin alors qu'il n'y a que 5 fois la fonction SI.
Mais normalement Excel t'a affiché un message d'erreur et proposé la bonne écriture !
- La deuxième est qu'après "50%" il manque le texte à afficher si C2>5000, soit "60%" ...
- Il y en a peut-être une troisième, parce que tes affichages actuels sont des textes, puisque placés entre guillemets ; s'ils doivent servir à des calculs, comme c'est très vraisemblable, il faut supprimer ces guillemets.
Ta formule devient finalement :
=SI(ET(C2>0;C2<1000);10%;SI(ET(C2>1000;C2<2000);20%;SI(ET(C2>2000;C2<3000);30%;SI(ET(C2>3000;C2<4000);40%;SI(ET(C2>4000;C2<5000);50% ;60% )))))
Oui, il y a des erreurs dans :
=SI(ET(C2>0;C2<1000);"10%";SI(ET(C2>1000;C2<2000);"20%";SI(ET(C2>2000;C2<3000);"30%";
SI(ET(C2>3000;C2<4000);"40%";SI(ET(C2>4000;C2<5000);"50%")))))))
- La première est d'avoir mis 7 parenthèses à la fin alors qu'il n'y a que 5 fois la fonction SI.
Mais normalement Excel t'a affiché un message d'erreur et proposé la bonne écriture !
- La deuxième est qu'après "50%" il manque le texte à afficher si C2>5000, soit "60%" ...
- Il y en a peut-être une troisième, parce que tes affichages actuels sont des textes, puisque placés entre guillemets ; s'ils doivent servir à des calculs, comme c'est très vraisemblable, il faut supprimer ces guillemets.
Ta formule devient finalement :
=SI(ET(C2>0;C2<1000);10%;SI(ET(C2>1000;C2<2000);20%;SI(ET(C2>2000;C2<3000);30%;SI(ET(C2>3000;C2<4000);40%;SI(ET(C2>4000;C2<5000);50% ;60% )))))
vladicom, Bonsoir.
Notre collègue Raymond (Salut de Brésil) a déjà répondu exactement à ce que vous vouliez.
Mais je pense qu'il existe des moyens plus efficaces que celui que vous essayez d'utiliser.
Ci-joint des suggestions de solutions avec RECHERCHE, RECHERCHEV et SI + ET.
https://www.cjoint.com/c/HCsbYJ0nx6A
J'espère avoir aidé avec quelque chose.
--
Belo Horizonte, MG - Brasil.
Marcílio Lobão
Notre collègue Raymond (Salut de Brésil) a déjà répondu exactement à ce que vous vouliez.
Mais je pense qu'il existe des moyens plus efficaces que celui que vous essayez d'utiliser.
Ci-joint des suggestions de solutions avec RECHERCHE, RECHERCHEV et SI + ET.
https://www.cjoint.com/c/HCsbYJ0nx6A
J'espère avoir aidé avec quelque chose.
--
Belo Horizonte, MG - Brasil.
Marcílio Lobão
(suite ...)
Tu as aussi commis une erreur de logique, qui conduit à une formule trop compliquée ...
En effet tu testes si C2>1000 alors que tu viens de tester que C2<1000 était faux !
=SI(ET(C2>0;C2<1000);"10%";SI(ET(C2>1000;C2<2000);"20%";
De plus ta formule n'examine pas le cas où C2=1000 !
Tu aurais donc dû écrire =SI(C2<0;"-";SI(C2<1001;"10%";SI(C2<2001;"20%";...
La formule complète, plus élégante et plus "light", sera la suivante :
=SI(C2<0;"-";SI(C2<1001;10%;SI(C2<2001;20%;SI(C2<3001;30%;SI(C2<4001;40%;
SI(C2<5001;50%;60%))))))
Tu as aussi commis une erreur de logique, qui conduit à une formule trop compliquée ...
En effet tu testes si C2>1000 alors que tu viens de tester que C2<1000 était faux !
=SI(ET(C2>0;C2<1000);"10%";SI(ET(C2>1000;C2<2000);"20%";
De plus ta formule n'examine pas le cas où C2=1000 !
Tu aurais donc dû écrire =SI(C2<0;"-";SI(C2<1001;"10%";SI(C2<2001;"20%";...
La formule complète, plus élégante et plus "light", sera la suivante :
=SI(C2<0;"-";SI(C2<1001;10%;SI(C2<2001;20%;SI(C2<3001;30%;SI(C2<4001;40%;
SI(C2<5001;50%;60%))))))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
(edit #7...)
Et si tu veux gérer en plus le cas où C2 ne contient pas un nombre positif (mais un nombre négatif, un texte ou rien), il faut opter pour
=SI(OU(C2<0;ESTVIDE(C2);ESTTEXTE(C2));"#"; SI(C2=0;0,1; SI(C2>5000;0,6;
ARRONDI.SUP(C2/1000;0)/10)))
https://www.cjoint.com/c/HCsrHP5LU2m
Et si tu veux gérer en plus le cas où C2 ne contient pas un nombre positif (mais un nombre négatif, un texte ou rien), il faut opter pour
=SI(OU(C2<0;ESTVIDE(C2);ESTTEXTE(C2));"#"; SI(C2=0;0,1; SI(C2>5000;0,6;
ARRONDI.SUP(C2/1000;0)/10)))
https://www.cjoint.com/c/HCsrHP5LU2m
Bonjour
A partir de 3 ou4 SI en cascade, il vaut mieux passer sur d'autres formules.
essaie
=(A1>0)*EQUIV(A1;{1;1001;2001;3001;4001;5001};1)*0,1
mettre la cellule au format-nombre -pourcentage-0 décimale
A partir de 3 ou4 SI en cascade, il vaut mieux passer sur d'autres formules.
essaie
=(A1>0)*EQUIV(A1;{1;1001;2001;3001;4001;5001};1)*0,1
mettre la cellule au format-nombre -pourcentage-0 décimale
Bonjour Michel_m
Il ne faudrait pas mettre un contrôle pour le cas d'une cellule vide afin d'éviter le #N/A
modifier comme ceci :
=SI(A1>0;(A1>0)*EQUIV(A1;{1;1001;2001;3001;4001;5001};1)*0,1;"")
votre méthode m'a plu donc je l'ai copier pour la comprendre et j'ai eu "#N/A" comme résultat d'où ma question ?
Il ne faudrait pas mettre un contrôle pour le cas d'une cellule vide afin d'éviter le #N/A
modifier comme ceci :
=SI(A1>0;(A1>0)*EQUIV(A1;{1;1001;2001;3001;4001;5001};1)*0,1;"")
votre méthode m'a plu donc je l'ai copier pour la comprendre et j'ai eu "#N/A" comme résultat d'où ma question ?