XL 2016 Combien de si

Scorpio

XLDnaute Impliqué
Bien le bonjour à tous,
J'ai dans ce classeur un exemple de 66 fois la fonction si.
J'aimerais si possible volontier savoir si il existe une autre méthode pour faire plus cour ?
Merci à vous et à plus
 

Pièces jointes

  • 66 niveaux de SI.xlsx
    9 KB · Affichages: 62

M12

XLDnaute Accro
Bonjour, en reprenant ta formule simplifiée
Code:
=SI(A2<67;"Val"&A2;"Différent d'un nombre allant de 1 à 6")

Mais cela ne donne pas toujours le bon résultat, car les chiffres en 7, 8, 9 sont différents d'un nombre allant de 1 à 6, comme dans ta formule
 

job75

XLDnaute Barbatruc
Bonsoir à tous,

S'il n'y a jamais de valeurs d'erreur en colonne A, formule en B2 :
Code:
=SI(SOMMEPROD(N(A2=LIGNE(INDIRECT("1:66"))));"Val"&A2;"Différent d'un nombre entier allant de 1 à 66")
S'il peut y avoir des valeurs d'erreur en colonne A :
Code:
=SI(ESTNUM(LN(SOMMEPROD(N(A2=LIGNE(INDIRECT("1:66"))))));"Val"&A2;"Différent d'un nombre entier allant de 1 à 66")
Edit : on peut aussi utiliser des formules matricielles :
Code:
=SI(OU(A2=LIGNE(INDIRECT("1:66")));"Val"&A2;"Différent d'un nombre entier allant de 1 à 66")
Code:
=SI(ESTNUM(EQUIV(A2;LIGNE(INDIRECT("1:66"));0));"Val"&A2;"Différent d'un nombre entier allant de 1 à 66")
toutes deux à valider par Ctrl+Maj+Entrée.

A+
 
Dernière édition:

M12

XLDnaute Accro
Bonjour à tous,

Moi ma réflexion partait de la condition Différent d'un nombre allant de 1 à 6 comme noté dans sa formule
donc, je comprend avec ma p'tite tête que les nombre ne dépasse pas 66 (aucun soucis) mais que les nombre intermédiaire ne doivent pas contenir les chiffres supérieur à 6 (comme 7, 8 , 17 ,29 etc) ;)
 

job75

XLDnaute Barbatruc
Bonjour le fil, le forum,

@ M12 : Scorpio a écrit "1 à 6" par erreur, il voulait bien sûr dire "1 à 66".

Avec cette formule A2 peut être un nombre, une valeur logique ou un texte :
Code:
=SI(OU(MOD(N(A2);1);A2<1;A2>66);"Différent d'un nombre entier allant de 1 à 66";"Val"&A2)
Si en plus A2 peut être une valeur d'erreur :
Code:
=SI(ESTERREUR(LN(NON(OU(MOD(A2;1);A2<1;A2>66))));"Différent d'un nombre entier allant de 1 à 66";"Val"&A2)
ou mieux, à partir d'Excel 2007 :
Code:
=SIERREUR(REPT("Val"&A2;1/NON(OU(MOD(A2;1);A2<1;A2>66)));"Différent d'un nombre entier allant de 1 à 66")
REPT évite la fonction SI qui "pèse" lourd en nombre d'octets.

Bonne journée.
 

Scorpio

XLDnaute Impliqué
Salut à tous, et merci de votre super soutient
Merci à job75, Marcel32, et M12
Effectivement, il y avait une erreur dans ma formule avec
Différent d'un nombre entier allant de 1 à 6, faux
Différent d'un nombre entier allant de 1 à 66, juste
Merci encore et bonne journée
A++++
 

Statistiques des forums

Discussions
312 504
Messages
2 089 073
Membres
104 019
dernier inscrit
pascal la