Aide EXCEL SI et OU imbriqué
Résolu/Fermé
A voir également:
- Flavien rouche
- Si et excel - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Excel cellule couleur si condition texte - Guide
- Aller à la ligne excel - Guide
11 réponses
J'ai une fonction à chercher pour indiquer une mention au BAC, j'ai ceci:
=SI(L2>=16;"TB";SI(OU(14<=L2;L2<16);"B";SI(OU(12<=L2;L2<14);"AB";SI(OU(10<=L2;L2<12);"Passable";"Aucune Mention"))))
Mais, ça ne marche pas et je comprend pas pourquoi
Merci à tous,
PS: J'ai Excel avec un pack de comppatibilité Excel 2007
=SI(L2>=16;"TB";SI(OU(14<=L2;L2<16);"B";SI(OU(12<=L2;L2<14);"AB";SI(OU(10<=L2;L2<12);"Passable";"Aucune Mention"))))
Mais, ça ne marche pas et je comprend pas pourquoi
Merci à tous,
PS: J'ai Excel avec un pack de comppatibilité Excel 2007
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 412
18 oct. 2009 à 16:25
18 oct. 2009 à 16:25
Bonour
si j'ai bien compris et compte tenu de l'effet éliminatoire de la fonction si qui s'arrète au 1° item réalisé, la formule peut être simplifiée!:
=SI(L2>=16;"TB";SI(L2>=14;"B";SI(L2>=12;"AB";SI(L2>=10;"Passable";aucune mention"))))
les limites vont se définir d'elle mêmes dans la lecture par excel de la formule, ainsi, si L2=17, excel s'arrètera au 1° item sans traiter la suite... Etc...!
C'est d'ailleurs ce qui fait que votre formule ne marche pas, car au 2° item, chaque fois que L2 est<16, elle affiche B.Elle ne marche donc que pour >=16 et <16.
Crdlmnt
si j'ai bien compris et compte tenu de l'effet éliminatoire de la fonction si qui s'arrète au 1° item réalisé, la formule peut être simplifiée!:
=SI(L2>=16;"TB";SI(L2>=14;"B";SI(L2>=12;"AB";SI(L2>=10;"Passable";aucune mention"))))
les limites vont se définir d'elle mêmes dans la lecture par excel de la formule, ainsi, si L2=17, excel s'arrètera au 1° item sans traiter la suite... Etc...!
C'est d'ailleurs ce qui fait que votre formule ne marche pas, car au 2° item, chaque fois que L2 est<16, elle affiche B.Elle ne marche donc que pour >=16 et <16.
Crdlmnt
Maninred7
Messages postés
104
Date d'inscription
vendredi 5 janvier 2007
Statut
Membre
Dernière intervention
15 septembre 2017
7
20 août 2007 à 14:58
20 août 2007 à 14:58
Je viens de faire le test avec ce qui est ci dessous.... ça fonctionne !
Essaye le ...
=SI(OU(D4=1111;D4=1112;D4=1113;D4=1118;D4=1119);"BUN";SI(OU(D4=120;D4=1200;D4=1201;D4=121;D4=1218;D4=1219;D4=122;D4=123;D4=125;D4=126;D4=127;D4=128;D4=129;D4=512;D4=124;D4=201;D4=202;D4=203;D4=204;D4=205;D4=206;D4=207;D4=208;D4=209;D4=210;D4=212;D4=211;D4=301;D4=302;D4=303);"SUN";SI(OU(D4=310;D4=311;D4=3110;D4=312;D4=313;D4=314;D4=315;D4=316;D4=401;D4=402;D4=403;D4=404;D4=405;D4=406;D4=407;D4=408;D4=409;D4=341;D4=342);"sun";SI(OU(D4=510;D4=511;D4=5110;D4=513;D4=419;D4=420;D4=421;D4=422;D4=423;D4=424;D4=501;D4=502;D4=503;D4=504;D4=603;D4=711;D4=712;D4=700;D4=701;D4=7010;D4=702;D4=7021;D4=7022);"SUBL";0))))
Essaye le ...
=SI(OU(D4=1111;D4=1112;D4=1113;D4=1118;D4=1119);"BUN";SI(OU(D4=120;D4=1200;D4=1201;D4=121;D4=1218;D4=1219;D4=122;D4=123;D4=125;D4=126;D4=127;D4=128;D4=129;D4=512;D4=124;D4=201;D4=202;D4=203;D4=204;D4=205;D4=206;D4=207;D4=208;D4=209;D4=210;D4=212;D4=211;D4=301;D4=302;D4=303);"SUN";SI(OU(D4=310;D4=311;D4=3110;D4=312;D4=313;D4=314;D4=315;D4=316;D4=401;D4=402;D4=403;D4=404;D4=405;D4=406;D4=407;D4=408;D4=409;D4=341;D4=342);"sun";SI(OU(D4=510;D4=511;D4=5110;D4=513;D4=419;D4=420;D4=421;D4=422;D4=423;D4=424;D4=501;D4=502;D4=503;D4=504;D4=603;D4=711;D4=712;D4=700;D4=701;D4=7010;D4=702;D4=7021;D4=7022);"SUBL";0))))
Donc ui la formule marche le truc c que je la copie ds la cellule, mais ca fonctionne pas tt seul.
en D4 j'ai 1111 et quand je copie la formule il me met 0
parcontre si je récrit 1111 au meme endroit la il me met BUN.
Seulement le tableaux fait 500 lignes je veux pas reecrire chaque cellule alors que les valeurs sont corrects mais que le changement ne s effectue pas.????
des idéées?
en D4 j'ai 1111 et quand je copie la formule il me met 0
parcontre si je récrit 1111 au meme endroit la il me met BUN.
Seulement le tableaux fait 500 lignes je veux pas reecrire chaque cellule alors que les valeurs sont corrects mais que le changement ne s effectue pas.????
des idéées?
Maninred7
Messages postés
104
Date d'inscription
vendredi 5 janvier 2007
Statut
Membre
Dernière intervention
15 septembre 2017
7
>
alex
20 août 2007 à 15:48
20 août 2007 à 15:48
Au départ, j'ai simplement fait un copier - coller de ta formule dans Excel, il m'a corrigé automatiquement une erreur qu'il à trouvé ( vu la longueur, j'ai pas vérifié, mais je pense qu'il devait s'agir d'une parenthèse manquante ).
Puis j'ai simplement fait des essais, et tout marche bien, quand je renseigne en D4 une des valeurs qui sont dans ta liste, la cellule dans laquelle j'ai mis la formule évolue en conséquence.
Tu as bien le "calcul automatique" d'activé (et non un calcul "sur ordre") ? Parce que je comprend pas que tu aies besoin de réécrire ta valeur pour que la formule réponde...!
Tu es sous quelle version de Excel ? Car je me demande si dans certaines ancienne versions, tu n'avais pas une histoire de limite assez basse dans le nombre de conditions imbriquées ...
Puis j'ai simplement fait des essais, et tout marche bien, quand je renseigne en D4 une des valeurs qui sont dans ta liste, la cellule dans laquelle j'ai mis la formule évolue en conséquence.
Tu as bien le "calcul automatique" d'activé (et non un calcul "sur ordre") ? Parce que je comprend pas que tu aies besoin de réécrire ta valeur pour que la formule réponde...!
Tu es sous quelle version de Excel ? Car je me demande si dans certaines ancienne versions, tu n'avais pas une histoire de limite assez basse dans le nombre de conditions imbriquées ...
la formule en plus simple mais ne fonctionnant tjs pas....
=SI(OU(D4={1111;1112;1113;1118;1119});"BUN";SI(OU(D4={120;1200;1201;121;1218;1219;122;123;125;126;127;128;129;512;124;201;202;203;204;205;206;207;208;209;210;212;211;301;302;303});"SUN";SI(OU(D4={310;311;3110;312;313;314;315;316;401;402;403;404;405;406;407;408;409;341;342});"sun";SI(OU(D4={510;511;5110;513;419;420;421;422;423;424;501;502;503;504;603;711;712;700;701;7010;702;7021;7022});"SUBL";0))))
j'ai tjs que des 0... help plz :p
=SI(OU(D4={1111;1112;1113;1118;1119});"BUN";SI(OU(D4={120;1200;1201;121;1218;1219;122;123;125;126;127;128;129;512;124;201;202;203;204;205;206;207;208;209;210;212;211;301;302;303});"SUN";SI(OU(D4={310;311;3110;312;313;314;315;316;401;402;403;404;405;406;407;408;409;341;342});"sun";SI(OU(D4={510;511;5110;513;419;420;421;422;423;424;501;502;503;504;603;711;712;700;701;7010;702;7021;7022});"SUBL";0))))
j'ai tjs que des 0... help plz :p
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
piopicolo
Messages postés
1395
Date d'inscription
mercredi 21 mars 2007
Statut
Membre
Dernière intervention
31 juillet 2023
193
6 avril 2008 à 10:48
6 avril 2008 à 10:48
il faut raisonner un peu et passer par une autre voie du type matrice de choix! mais çà suppose d'apprendre un soupçon son cours...
A+
A+
Merci tu gère ^*
piopicolo
Messages postés
1395
Date d'inscription
mercredi 21 mars 2007
Statut
Membre
Dernière intervention
31 juillet 2023
193
14 déc. 2009 à 07:11
14 déc. 2009 à 07:11
Ecrire dans C1
=SI((OU(A1>=7,B1>=7)), 0, 7-A1*OU(A1<7)-B1*OU(B1<7))
Mais il y a une incompatibilité si A1 et B1 sont vrai tous les deux....dans ce cas, il faut choisir entre A1 ou B1
A+
=SI((OU(A1>=7,B1>=7)), 0, 7-A1*OU(A1<7)-B1*OU(B1<7))
Mais il y a une incompatibilité si A1 et B1 sont vrai tous les deux....dans ce cas, il faut choisir entre A1 ou B1
A+
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 412
14 déc. 2009 à 07:45
14 déc. 2009 à 07:45
Bonjour
il reste à supposer que dans le second cas, l'une des valeurs seulement est inférieure à cette, vu la configurationde la question:
soit:
SI(OU(A1<7;B1>=7);0;SI(A1<7;7-A1;SI(B1<7;7-B1)
si, comme le dit justement piopicolo, les deux valeurs sont inférieures à 7, c'est dans ce cas la soustraction 7-A1 qui va sortir,..Pour qu'elle soit rigoureusement sélective, il faut que l'une ou l'autre des valeurs soient égales ou supèrieures à 7.:
A défaut dites nous quel est votre ordre de préférence!
Petite remarque Piopicolo:
sauf avec un changement de paramétrage qui n'est probablement pas le cas ici, le séparateur dans les formules est un point virgule, pas une virgule.
Et que signifie le 7-A1* pour ma curiosité toute personnelle.
Crdlmnt
--
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
il reste à supposer que dans le second cas, l'une des valeurs seulement est inférieure à cette, vu la configurationde la question:
soit:
SI(OU(A1<7;B1>=7);0;SI(A1<7;7-A1;SI(B1<7;7-B1)
si, comme le dit justement piopicolo, les deux valeurs sont inférieures à 7, c'est dans ce cas la soustraction 7-A1 qui va sortir,..Pour qu'elle soit rigoureusement sélective, il faut que l'une ou l'autre des valeurs soient égales ou supèrieures à 7.:
A défaut dites nous quel est votre ordre de préférence!
Petite remarque Piopicolo:
sauf avec un changement de paramétrage qui n'est probablement pas le cas ici, le séparateur dans les formules est un point virgule, pas une virgule.
Et que signifie le 7-A1* pour ma curiosité toute personnelle.
Crdlmnt
--
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
piopicolo
Messages postés
1395
Date d'inscription
mercredi 21 mars 2007
Statut
Membre
Dernière intervention
31 juillet 2023
193
14 déc. 2009 à 11:38
14 déc. 2009 à 11:38
je teste c'est (7-A1 si AI est >7 et 7-B1 si B1 > 7 le *OU(A1<7) c'est une simple multiplication par 1 si vrai et 0 si faux d'où le choix. le pb comme indiqué est que si A1<7 ET B1<7 le résultat c'est 7 - A1 - B1 et non 7-A1 ou 7-B1.
Donc 7-A1*OU(A1<7) c'est le test nécessaire classique en logique.
A+
Donc 7-A1*OU(A1<7) c'est le test nécessaire classique en logique.
A+
Alors je suis bloqué sur un formule assez complexe, tout du moins je pense...
Ce que je souhaite, c'est qu'en fonction de différents critères, on me sorte trois choix possible. Sachant qu'a l'intérieur de la principale formule SI il y aura RECHERCHEV, ET, OU.
Ma formule qui ne passe pas (aucun resultat, fenetre erreur)
=SI(AH2="FR";"reclass FR";SI(OU(AL2=A2;ESTERREUR(AL2);ET(AH2="FR";AK2=RECHERCHEV(AJ2*-1*1,4248;$AJ:$AK;2;faux));"ok";"reclass")))
Pour expliquer:
1ere SI: basic, si AH2 = "FR" alors on met "reclass FR" sinon
2e SI: j'utilise trois critères différents pour avoir "ok" donc
1er OU: ou AL2=A2 ou erreur sur AL2 ou (là je veux que ça réponde à deux critères) donc
soit ET: AH2="FR" et je veux aussi que AK2 (exemple: chiffre: 14 842$) soit egal à son inverse (donc idéalement 10 000€ x 1.4248 (tx de change) x -1) qui devrait se trouver dans la colone 2 des colones AJ et AK. Donc si ca répond à certains criteres ou à une conjugaison de certains critères, je veux que ça me renvoie "ok", sinon je veux "reclass"
Je ne vois pas d'où vient l'erreur sauf de ma RECHERCHEV, je n'utilise que 5 sous formules non ?
merci d'avance
PS: j'ai rebosser sur la formule et je suis sur ça:
=SI(AH2="Flavien Rouche";"reclass FR";SI(OU(AL2=A2;ESTERREUR(AL2);ET(AH2="Flavien Rouche";AK2=ESTERREUR(RECHERCHEV(AJ2*-1*1,4248;$AJ:$AK;2;FAUX))));"ok";"reclass"))
Il y a-t-il des erreurs?
Ce que je souhaite, c'est qu'en fonction de différents critères, on me sorte trois choix possible. Sachant qu'a l'intérieur de la principale formule SI il y aura RECHERCHEV, ET, OU.
Ma formule qui ne passe pas (aucun resultat, fenetre erreur)
=SI(AH2="FR";"reclass FR";SI(OU(AL2=A2;ESTERREUR(AL2);ET(AH2="FR";AK2=RECHERCHEV(AJ2*-1*1,4248;$AJ:$AK;2;faux));"ok";"reclass")))
Pour expliquer:
1ere SI: basic, si AH2 = "FR" alors on met "reclass FR" sinon
2e SI: j'utilise trois critères différents pour avoir "ok" donc
1er OU: ou AL2=A2 ou erreur sur AL2 ou (là je veux que ça réponde à deux critères) donc
soit ET: AH2="FR" et je veux aussi que AK2 (exemple: chiffre: 14 842$) soit egal à son inverse (donc idéalement 10 000€ x 1.4248 (tx de change) x -1) qui devrait se trouver dans la colone 2 des colones AJ et AK. Donc si ca répond à certains criteres ou à une conjugaison de certains critères, je veux que ça me renvoie "ok", sinon je veux "reclass"
Je ne vois pas d'où vient l'erreur sauf de ma RECHERCHEV, je n'utilise que 5 sous formules non ?
merci d'avance
PS: j'ai rebosser sur la formule et je suis sur ça:
=SI(AH2="Flavien Rouche";"reclass FR";SI(OU(AL2=A2;ESTERREUR(AL2);ET(AH2="Flavien Rouche";AK2=ESTERREUR(RECHERCHEV(AJ2*-1*1,4248;$AJ:$AK;2;FAUX))));"ok";"reclass"))
Il y a-t-il des erreurs?
piopicolo
Messages postés
1395
Date d'inscription
mercredi 21 mars 2007
Statut
Membre
Dernière intervention
31 juillet 2023
193
20 août 2007 à 17:14
20 août 2007 à 17:14
Alex,
Juste un point : rappelle toi que dans excel 2003 on ne peut pas dépasser plus de 7 imbrications de formules.
A+
Juste un point : rappelle toi que dans excel 2003 on ne peut pas dépasser plus de 7 imbrications de formules.
A+
BABACOOL91
Messages postés
1
Date d'inscription
dimanche 19 septembre 2010
Statut
Membre
Dernière intervention
19 septembre 2010
19 sept. 2010 à 16:05
19 sept. 2010 à 16:05
Je déterre ce topic par ce que j'ai un souci pour une imbrication en formule SI...
Des lors que j'en rajoute une, ma formule ne marche plus et j'ai besoin de vos lumières :
Voici le sujet:
=SI($D$22<17;SI(G20<2;X%;SI(G20=2;XX%;XXX% ==> la sa marche pas de problèmes mais voila la suite que je souhaiterais intégrer :
SINON SI(17< $D$22<21;SI(G20<2;X'%;SI(G20=2;XX'%;XXX'%)
SINON SI ( 21< $D$22<25;SI(G20<2;X''%;SI(G20=2;XX''%;XXX''%)
Merci pour votre aide, c'est assez urgent!! :)
BABA
Des lors que j'en rajoute une, ma formule ne marche plus et j'ai besoin de vos lumières :
Voici le sujet:
=SI($D$22<17;SI(G20<2;X%;SI(G20=2;XX%;XXX% ==> la sa marche pas de problèmes mais voila la suite que je souhaiterais intégrer :
SINON SI(17< $D$22<21;SI(G20<2;X'%;SI(G20=2;XX'%;XXX'%)
SINON SI ( 21< $D$22<25;SI(G20<2;X''%;SI(G20=2;XX''%;XXX''%)
Merci pour votre aide, c'est assez urgent!! :)
BABA
13 déc. 2013 à 17:21
=SI(L2>=16;"TB";SI(L2>=14;"B";SI(L2>=12;"AB";SI(L2>=10;"Passable";SI(L2>=0;"Aucune Mention")))))
ça marche mais doit la formule être ajusté si les décimales sont gérées.