Aide à fonction Si + ou

services15

XLDnaute Nouveau
Bonjour,

Je cherche à faire une formule qui soit du type:

Si cellule O4 contient mot1 ou mot2 ou mot3 alors afficher resultat1
sinon
si cellule O4 contient mot5 ou mot6 ou mot7 alors afficher resultat2
sinon
si cellule O4 contient mot9 ou mot10 ou mot11 alors afficher resultat3
sinon afficher "a vérifier"

Merci beaucoup de votre aide

J'ai cherché par moi meme mais je galère !!
(excel 2007 FRANCAIS)
 

services15

XLDnaute Nouveau
Re : Aide à fonction Si + ou

Hello,

Merci beaucoup, j'ai oublié de préciser (c'est ma faute sorry)

que dans la cellule o4 de référence il n'y a pas qu'un seul mot mais plusieurs . Excel ne doit pas s'attendre a trouver uniquement "mot1", "mot2"... Mais une phrase contenant "mot1" ou "mot2"...
 

tdenfert

XLDnaute Impliqué
Re : Aide à fonction Si + ou

bonjour,

dans le coup c'est beaucoup plus lourd

Réécrire toute la formule dans cet esprit
=SI(ESTERREUR(CHERCHE("mot1";$O$4;1));"averifier";"result1")
avec les trois si et les trois ou
il ya surement des as de la formule qui vont trouver plus simple
 

services15

XLDnaute Nouveau
Re : Aide à fonction Si + ou (formule trop longue)

bonjour,

dans le coup c'est beaucoup plus lourd

Réécrire toute la formule dans cet esprit
=SI(ESTERREUR(CHERCHE("mot1";$O$4;1));"averifier";"result1")
avec les trois si et les trois ou
il ya surement des as de la formule qui vont trouver plus simple

Coucou,

Merci ça fonctionne !! mais nouveau problème :

j'ai ajouté pas mal de lignes (voir ci dessous) et maintenant Excel me met une boite d'erreur indiquant:
"Impossible d'entrer la formule spécifiée car elle utilise plus de niveaux d'imbrication que ne l'autorise le format de fichier actuel"

le format en question est du .xls.

Que puis je faire pour résoudre ce problème et allonger ma formule ?


Voici la formule, ou j'en suis (pas fini, il en manque) et c'est déjà trop long
=SI(OU(SI(ESTERREUR(TROUVE("misuse";O4;1));"";1)=1;
SI(ESTERREUR(TROUVE("quote";O4;1));"";1)=1;
SI(ESTERREUR(TROUVE("cab";O4;1));"";1)=1;
SI(ESTERREUR(TROUVE("trade";O4;1));"";1)=1)=VRAI;"Misuse";
SI(OU(SI(ESTERREUR(TROUVE("kci";O4;1));"";1)=1)=VRAI;"KCI";
SI(OU(SI(ESTERREUR(TROUVE("ntf";O4;1));"";1)=1)=VRAI;"NTF";
SI(OU(SI(ESTERREUR(TROUVE("ano";O4;1));"";1)=1;
SI(ESTERREUR(TROUVE("mismatch";O4;1));"";1)=1)=VRAI;"Anomaly at Repair Line";

SI(OU(SI(ESTERREUR(TROUVE("mot9";O4;1));"";1)=1;SI(ESTERREUR(TROUVE("mot10";O4;1));"";1)=1;SI(ESTERREUR(TROUVE("mot11";O4;1));"";1)=1)=VRAI;"resultat1";
"a verifier"))))

Merci beaucoup d'avance...
 

tdenfert

XLDnaute Impliqué
Re : Aide à fonction Si + ou

je t'ai mis des explications sur la feuille, l'avantage c'est que les formules sont plus facile à comprendre et à ecrire et que tu peux facilement modifier soit le nombre de mot et ou le resultat.

Pas sur d'avoir été clair
 

Pièces jointes

  • essais.xls
    17 KB · Affichages: 87
  • essais.xls
    17 KB · Affichages: 104
  • essais.xls
    17 KB · Affichages: 91

services15

XLDnaute Nouveau
Re : Aide à fonction Si + ou

En fait, en pièce jointe, voici un extrait du fichier ou je veux inclure la formule:
En colonne O sont indiquées des phrases indiquant une raison d'appel

en colonne Q grâce à la formule, catégoriser les raison d'appel à partir des phrases en colonne O.

En plus, j'ai besoin que parfois, comme lignes 25 et 3, on associe comme condition la colonne K : "condition sinnéquanone" ET "sh" colonne O pour indiquer "Shortage at repair line

J'en étais la mais ça me dit
"impossible d'entrer la formule spécifiée car elle utilise plus de niveaux d'imbrication que ne l'autorise le format de fichier actuel "

= SI(NB.SI(O2;"*kci*")>0;"KCI";
SI(NB.SI(O2;"*NTF*")>0;"NTF";
SI(NB.SI(O2;"*ano*")+NB.SI(O2;"*mismatch*")>0;"Anomaly at Repair Line";
SI(NB.SI(O2;"*cab*")+NB.SI(O2;"*misuse*")+NB.SI(O2;"*quote*")+NB.SI(O2;"*trade*")+NB.SI(O2;"*mr*")>0;"misuse";
SI(NB.SI(O2;"*def*")>0;"Defective Collect";
SI(NB.SI(O2;"*short*")+NB.SI(O2;"*ets*")+NB.SI(O2;"*reactive*")+NB.SI(O2;"*delay*")+NB.SI(O2;"*eta*")>0;"Shortage at Repair Line";
SI(ET(nb.si(o2;"*sh*")>1;k2="condition sinéquanone")=vrai;"shortage at repair Line";"")
SI(NB.SI(O2;"*complaint*")+NB.SI(O2;"*equivalence*")+NB.SI(O2;"*buyback*")+NB.SI(O2;"*elevation*")+NB.SI(O2;"*compensation*")+NB.SI(O2;"*cplt*")+NB.SI(O2;"*esca*")>0;"Complaints";
"à verifier"))


Merci !
 

Pièces jointes

  • extrait coca.xls
    38.5 KB · Affichages: 85

hoerwind

XLDnaute Barbatruc
Re : Aide à fonction Si + ou

Bonjour,

Au lieu d'imbriquer les Si, on peut les concaténer.

Exemple :
= SI(NB.SI(O2;"*kci*");"KCI";"")&SI(NB.SI(O2;"*NTF*");"NTF";"")& ...

Il n'y a pas besoin de préciser >0, un résultat égal à 0 renvoie FAUX, toute autre valeur numérique renvoie VRAI
 

services15

XLDnaute Nouveau
Re : Aide à fonction Si + ou

Bonjour,
Au lieu d'imbriquer les Si, on peut les concaténer.
Exemple :
= SI(NB.SI(O2;"*kci*");"KCI";"")&SI(NB.SI(O2;"*NTF*");"NTF";"")& ...
Il n'y a pas besoin de préciser >0, un résultat égal à 0 renvoie FAUX, toute autre valeur numérique renvoie VRAI

Hello et merci à tous de votre aide !!

J'ai avancé, grâce à l'astuce d' hoerwind et de vous tous !! J'arrive a pouvoir cumuler davantage de mots.

Cependant j'ai sans doute fait une erreur à la partie suivante que j'essaye d'inclure dans la formule car ça ne donne pas le résultat escompté:

Si contient (parmis d'autres mots) "sh" en colonne O2 ET contient "RCV/HOLD/REPAIRED" en colonne K alors indiquer "shortage" dans le résultat de la formule (que j'applique au bout de la ligne).

Voila ce que j'ai tenté (et qui ne donne rien:)
&SI(ET(NB.SI(O3;"*sh*")>1;K3="RCV/HOLD/REPAIRED")=VRAI;"shortage";"")


2e question: Que dois je écrire à la fin de la formule ci dessous pour que toutes les lignes ne répondant pas aux critères mentionnés affichent, par exemple : "a vérifier manuellement"


Je vous donne ci dessous l'ensemble de la formule :

=SI(NB.SI(O3;"*kci*");"KCI";"")&SI(NB.SI(O3;"*NTF*");"NTF";"")&SI(NB.SI(O3;"*ano*")+NB.SI(O3;"*mismatch*")>0;"Anomaly at Repair Line";"")&SI(NB.SI(O3;"*cab*")+NB.SI(O3;"*misuse*")+NB.SI(O3;"*quote*")+NB.SI(O3;"*trade*")+NB.SI(O3;"*mr*")>0;"misuse";"")&SI(NB.SI(O3;"*def*")>0;"Defective Collect";"")&SI(NB.SI(O3;"*short*")+NB.SI(O3;"*ets*")+NB.SI(O3;"*reactive*")+NB.SI(O3;"*delay*")+NB.SI(O3;"*eta*")>0;"Shortage at Repair Line";"")&SI(ET(NB.SI(O3;"*sh*")>1;K3="RCV/HOLD/REPAIRED")=VRAI;"shortage at repair Line";"")&SI(NB.SI(O3;"*complaint*")+NB.SI(O3;"*equivalence*")+NB.SI(O3;"*buyback*")+NB.SI(O3;"*elevation*")+NB.SI(O3;"*compensation*")+NB.SI(O3;"*cplt*")+NB.SI(O3;"*esca*")>0;"Complaints";"")


3) Dernière question (subsidiaire)
Comment inclure dans la formule ci dessous une formule type
Si contient (parmis d'autres mots) "sh" en colonne O2 ET contient "RCV/HOLD/REPAIRED" en colonne K ET contient c en colonne L alors indiquer "shortage" dans le résultat de la formule

MERCI beaucoup !!
 

hoerwind

XLDnaute Barbatruc
Re : Aide à fonction Si + ou

Bonjour,

1ère question
Supprimé le =VRAI et dis-nous si cela fonctionne.

2ème question
En concaténant des formules il est difficile d'y ajouter une condtion générale, si ce n'est comme ceci :
=SI(laformule="";"a vérifier manuellement",la formule)
Mais cela va faire fort long.
En nommant chaque bout de formule (chaque SI séparément), puis en nommant la concaténation de tous les noms attribués, cela devient nettement plus gérable.

3ème question
Difficile de te donner le boit de formule sans avoir le fichier sous les yeux.
 

Discussions similaires

Réponses
14
Affichages
567

Statistiques des forums

Discussions
312 294
Messages
2 086 941
Membres
103 404
dernier inscrit
sultan87