Valeur d'une cellule en fonction de 3 conditions

ACPro -  
brucine Messages postés 21621 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour,

Je bloque pour une formule

Si dans une chaine de caractère (a,b, Reliquat,d,e) dans la cellule A1 je retrouve

  • la valeur "Reliquat" alors ma cellule B1 sera "Reliquat"
  • la valeur "Bonus" alors ma cellule B1 sera "Bonus"
  • sinon ma cellule B1 sera "Engagé"
A voir également:

4 réponses

brucine Messages postés 21621 Date d'inscription   Statut Membre Dernière intervention   3 406
 

Bonjour,

Utiliser TROUVE("Reliquat"; A1) puis les autres termes dans une formule SI.CONDITIONS ou dans des formules SI imbriquées:

=SI(TROUVE("Reliquat";A1); "Reliquat";etc...)

0
yclik Messages postés 3872 Date d'inscription   Statut Membre Dernière intervention   1 561
 

Bonsoir

une autre piste

=SI(ESTERREUR(TROUVE("Reliquat";A3));"";"Reliquat")&SI(ESTERREUR(TROUVE("Bonus";A3));"";"Bonus")&SI(ET(ESTERREUR(TROUVE("Reliquat";A3));ESTERREUR(TROUVE("Bonus";A3)));"Bonus";"")
0
brucine Messages postés 21621 Date d'inscription   Statut Membre Dernière intervention   3 406
 

Bonsoir,

ça revient au même mais si j'ai bien compris je crois que tu as fait un lapsus, le dernier mot est "Engagé".

Ne vaut-il pas mieux sur le plan cosmétique imbriquer la deuxième condition dans la première sans quoi la troisième est redondante (on ne trouvera ni "Reliquat" ni "Bonus" et on n'ira donc jamais à "")?

0
yclik Messages postés 3872 Date d'inscription   Statut Membre Dernière intervention   1 561
 

Bonsoir Brucine

effectivement c'est

=SI(ESTERREUR(TROUVE("Reliquat";A3));"";"Reliquat")&SI(ESTERREUR(TROUVE("Bonus";A3));"";"Bonus")&SI(ET(ESTERREUR(TROUVE("Reliquat";A3));ESTERREUR(TROUVE("Bonus";A3)));"Engagé";"")

Pour imbriquer c'est plus dur avec SI (ESTERREUR) (la flemme) et comme j'utilise open office il n'y a pas SIERREUR comme fonction

0
votre psychiatre Messages postés 1472 Date d'inscription   Statut Membre Dernière intervention   252
 

=si(or(A1="Reliquat",A1="Bonus");A1;"Engagé")


0
brucine Messages postés 21621 Date d'inscription   Statut Membre Dernière intervention   3 406
 

Bonjour,

Non: si j'ai bien suivi, ces mots ne sont pas le contenu des cellules, mais seulement une partie de la chaîne de caractères s'y trouvant.

0
votre psychiatre Messages postés 1472 Date d'inscription   Statut Membre Dernière intervention   252 > brucine Messages postés 21621 Date d'inscription   Statut Membre Dernière intervention  
 

et bien "*"&"Reliquat"&"*"

0
brucine Messages postés 21621 Date d'inscription   Statut Membre Dernière intervention   3 406 > votre psychiatre Messages postés 1472 Date d'inscription   Statut Membre Dernière intervention  
 

En dehors du fait que tu mélanges des écritures anglophones (or, virgule) et francophones (point-virgule), pas très réaliste pour qui voudrait tester, tu devrais lire l'énoncé avant d'écrire et aussi tester.

La textualisation par & n'amène rien au discours, l'expression correcte est "*Reliquat*".

Elle va de plus échouer non seulement parce que la simple formule SI gère les caractères génériques quand elle a le temps, elle ne retournera pas toujours le résultat si le mot est "central" et jamais s'il y a simplement un espace avant, mais aussi parce que la condition OU est absurde: la valeur retournée A1 est l'intégralité de la cellule A1, pas le seul mot recherché.

Par contre, à supposer que A1 vaut Banane, A2 un reliquat, B1 10, B2 20 la formule:

=SOMME.SI.ENS(B1:B2;A1:A2;"*Reliquat*")

va me retourner le bon résultat (20) quelle que soit la position de Reliquat en A2.

0