Regroupé 3 formules en une seule

Bonjour à tous,

voila j'ai un petit soucis pour vous, mais un gros pour moi, je n'arrive pas à regrouper 3 formules de calcul en une seule formule.

voici mes formules

=SI(R2="";"";SI(ET(GAUCHE(R2;1)="F")*ESTNUM(--STXT(R2;2;4))*(STXT(R2;6;1)="-")*ESTNUM(--STXT(R2;7;6))*(NBCAR(R2)=12);"Consistent";"Not Consistent"))

=SI(R2="";"";SI(ET(GAUCHE(R2;1)="U")*ESTNUM(--STXT(R2;2;4))*(STXT(R2;6;1)="-")*ESTNUM(--STXT(R2;7;6))*(NBCAR(R2)=12);"Consistent";"Not Consistent"))

=SI(R2="";"";SI(ET(GAUCHE(R2;1)="C")*ESTNUM(--STXT(R2;2;4))*(STXT(R2;6;1)="-")*ESTNUM(--STXT(R2;7;6))*(NBCAR(R2)=12);"Consistent";"Not Consistent"))

Elles font toutes les 3 la meme chose, sauf qu'elle vérifie si la premiere lettre est un F, un U ou un C ... c'est la seule difference....

Je voudrais savoir comment faire pour conserver ces 3 formules en une seul formule, et en meme temps je suis preneur si quelqu'un connait un moyen de faire ça plus simplement ... car j'ai d'autres formules à simplifier aussi dans mon fichier (mais j'aimerai me débrouiller seul, mais sans le début compliqué).

Je vous remercie pour votre aide si précieuse.

Bonne soirée

Laurent

Bonjour

=SI(R2="";"";SI(ET(OU(GAUCHE(R2;1)="F";GAUCHE(R2;1)="U";GAUCHE(R2;1)="C"))*ESTNUM(--STXT(R2;2;4))*(STXT(R2;6;1)="-")*ESTNUM(--STXT(R2;7;6))*(NBCAR(R2)=12);"Consistent";"Not Consistent"))

Bonjour 78Chris,

Merci pour ta réponse super rapide

Ca marche nickel !

du coup, j'ai essayé de m'appuyer sur ta formule pour essayer de modifier d'autres formules, mais là encore une fois je n'y arrive pas

voici mes formules actuelles

=SI(R2="";"";SI(ET(GAUCHE(R2;2)="20")*ESTNUM(--STXT(R2;3;2))*(STXT(R2;5;4)="MLEP")*ESTNUM(--STXT(R2;9;4))*(NBCAR(R2)=12);"Consistent";"Not Consistent"))

=SI(R2="";"";SI(ET(GAUCHE(R2;2)="20")*ESTNUM(--STXT(R2;3;2))*(STXT(R2;5;4)="MLEC")*ESTNUM(--STXT(R2;9;4))*(NBCAR(R2)=12);"Consistent";"Not Consistent"))

=SI(R2="";"";SI(ET(GAUCHE(R2;2)="20")*ESTNUM(--STXT(R2;3;2))*(STXT(R2;5;4)="VDRP")*ESTNUM(--STXT(R2;9;4))*(NBCAR(R2)=12);"Consistent";"Not Consistent"))

=SI(R2="";"";SI(ET(GAUCHE(R2;2)="20")*ESTNUM(--STXT(R2;3;2))*(STXT(R2;5;4)="VDRC")*ESTNUM(--STXT(R2;9;4))*(NBCAR(R2)=12);"Consistent";"Not Consistent"))

Elles sont toutes identiques sauf les parties en gras ... pour info, j'ai en totalité 20 formules que je souhaites regrouper en une seule, elles ont toutes la partie gras différente.

Je le précise, car je ne sais pas si je suis limité en nombre de caractère dans une formule de calcul.

Merci par avance pour ton aide

Laurent

RE

Regarde la mienne : on utilise OU imbriqué dans le ET

Donc *(STXT(R2;5;4)="MLEP")*

sera remplace par *(OU(STXT(R2;5;4)="MLEP";STXT(R2;5;4)="MLEC";......)*

Je dois pas être doué, car je n'y arrive pas, j'ai un message d'erreur, qui dit

capture

voici la formule que j'ai modifié

=SI(R2="";"";SI(ET(GAUCHE(R2;2)="20")*ESTNUM(--STXT(R2;3;2))*(OU(STXT(R2;5;4)="MLEP";STXT(R2;5;4)="MLEC";STXT(R2;5;4)="VDRP";STXT(R2;5;4)="VDRC";STXT(R2;5;4)="NVLP";STXT(R2;5;4)="NVLC";STXT(R2;5;4)="CORP";STXT(R2;5;4)="CORC";STXT(R2;5;4)="SHZP";STXT(R2;5;4)="SHZC";STXT(R2;5;4)="MRPP";STXT(R2;5;4)="MRPC";STXT(R2;5;4)="PLRP";STXT(R2;5;4)="PLRC";STXT(R2;5;4)="SPMP";STXT(R2;5;4)="SPMC")*ESTNUM(--STXT(R2;9;4))*(NBCAR(R2)=12);"Consistent";"Not Consistent")))

Encore merci pour ton aide

RE

En fait le ET ne sert à rien dans ta formule

=SI(R2="";"";SI(GAUCHE(R2;2)="20"*(OU(STXT(R2;5;4)="MLEP";STXT(R2;5;4)="MLEC";STXT(R2;5;4)="VDRP";STXT(R2;5;4)="VDRC";STXT(R2;5;4)="NVLP";STXT(R2;5;4)="NVLC";STXT(R2;5;4)="CORP";STXT(R2;5;4)="CORC";STXT(R2;5;4)="SHZP";STXT(R2;5;4)="SHZC";STXT(R2;5;4)="MRPP";STXT(R2;5;4)="MRPC";STXT(R2;5;4)="PLRP";STXT(R2;5;4)="PLRC";STXT(R2;5;4)="SPMP";STXT(R2;5;4)="SPMC"))*(STXT(R2;5;4)="MLEP")*ESTNUM(--STXT(R2;9;4))*(NBCAR(R2)=12);"Consistent";"Not Consistent"))

Mais il serait plus simple et plus court de faire une liste des cas

MLEP

MLEC

et de tester la recherche de STXT(R2;5;4) dans cette liste

Alors je viens d'essayer. Je n'ai plus de message d'erreur, mais en revanche, la formule me mets "non consistent" alors qu'elle devrait me dire "consistent" ... il doit y avoir un bug quelque part

Concernant la liste de données je ne peux pas l'utiliser car je copie ces formules dans un autre classeur, et du coup ça m'obligerait à copier cette liste de données dans ce nouveau classeur à chaque fois.... je prefere garder les formules de calcul si ça te derange pas

RE

Tu peux faire une liaison et non recopier la liste...

MLEP semble en double : il y a 2 cas possibles ?

Sans fichier difficile de contrôler...

non c'est une boulette de ma part ... ils y sont qu'une seule fois.

Je te joins le fichier en question demain matin, car mon gentil chef m'a donné une urgence à traiter ... Il faut que je te prépare le fichier avant de te l'envoyer

Encore merci pour ton aide

Laurent

hello,

désolé pour le délai, alors voici le fichier.

Merci pour ton aide

Laurent

RE

Si tu ne veux pas du tableau des cas (qui permet pourtant l'évolutivité et simplifie la formule)

remplace

NON(ESTNA(EQUIV(STXT($R2;5;4);T_Textes;0)))*1

par

OU(STXT($R2;5;4)="CORC";STXT($R2;5;4)="CORP";....)
6textes.xlsx (15.35 Ko)

Merci 78chris !!!!

c'est exactement ça que je voulais .... qu'est qu'on est handicapé quand on maitrise pas excel ... et là, je prends une claque car je pensais un peu connaitre, mais je vois que je suis loin de connaitre ... en tout cas, merci pour ton aide précieuse !!!

bien à toi

Laurent

Rechercher des sujets similaires à "regroupe formules seule"