Fonction SI

Perrier Benjamin

XLDnaute Nouveau
Bonjour à toussent


Je voudrais connaitre mon erreur sur cette formule, dès que je rentre la formule, excel m'indique "vous avez tapé un nombre trop important d'arguments pour cette fonction

=SI(L7=1;"8XL";"autre machine";SI(L8=2;"11XL";"autre machine"))

Merci d'avance
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour Perrier Benjamin

La fonction SI() a trois arguments au maximum.
si(condition ; formule ou valeur si condition est vérifiée ; formule ou valeur si condition n'est pas vérifiée)

Votre formule comporte quatre arguments :eek:
  1. condition : L7=1
  2. formule ou valeur si condition est vérifiée : "8XL"
  3. formule ou valeur si condition n'est pas vérifiée : "autre machine"
  4. et un quatrième terme : SI(L8=2;"11XL";"autre machine") dont Excel ne sait que faire:confused:
 

Perrier Benjamin

XLDnaute Nouveau
Bonjour Perrier Benjamin

La fonction SI() a trois arguments au maximum.
si(condition ; formule ou valeur si condition est vérifiée ; formule ou valeur si condition n'est pas vérifiée)

Votre formule comporte quatre arguments :eek:
  1. condition : L7=1
  2. formule ou valeur si condition est vérifiée : "8XL"
  3. formule ou valeur si condition n'est pas vérifiée : "autre machine"
  4. et un quatrième terme : SI(L8=2;"11XL";"autre machine") dont Excel ne sait que faire:confused:
D'accord merci
Avait vous une idée pour la modifier ?
 

Perrier Benjamin

XLDnaute Nouveau
Voilà ma formule au grand complet, les deux premiers SI fonctionnement, tous le reste excel me donne "autre machine"
Alors que je voudrais pour chaque ligne qu'il me donne 11XL-16XL-22 XL etc...
Avait vous d'autre idée ?

=SI(L7=1;"6XL";SI(L8=1;"9XL";SI(L9=1;"11XL";SI(L10=1;"13XL";SI(L11=1;"16XL";SI(L12=1;"19XL";SI(L13=1;"22XL";SI(L14=1;"26XL";SI(L15=1;"30xl";"autre machine")))))))))

Merci d'avance
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Aucune cellule à partir de L9 contiennent peut être la valeur 1 même si l'une contient un texte formés du chiffre "1", ce qui est autre chose ?
De toute façon il faudrait écrire ça autrement genre
=CHOISIR(SIERREUR(EQUIV(1;L7:L15;0);0)+1;"Autre machine";"6XL";"9XM";"11XL";…
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Faites plutot un tableau de 2 colonnes. Celle de gauche: la valeur minimale de F29 à partir de laquelle doit s'appliquer le texte mis dans la colonne de droite. Classé en ordre croissant des valeurs.
Ce sera alors la formule classique =INDEX(LaColonneDeDroite;EQUIV(F29;LaColonneDeGauche;1))
 

piga25

XLDnaute Barbatruc
Bonjour à vous,
Votre façon de faire ne prend pas toutes les valeurs
Vous faite pour un cas <9 puis après >9, dans ce cas la valeur 9 n'est pas prise en compte.

La solution de Dranreb est la meilleur car vous indiquez seulement une limite, la formule se charge de prendre juste le bon choix situé au dessus de cette valeur
 

Dranreb

XLDnaute Barbatruc
Je l'avais vu aussi, piga25.
Si vous ne voulez pas faire de tableau, essayez en J18 :
Code:
=INDEX({"Autre machine";"6XL";"9XL";"11XL";"13XL";"16XL";"19XL";"22XL";"26XL";"30XL"};EQUIV(F29;{-2,22E+22;8;9;11;13;16;19;22;26;32};1))
Remarque: la liste de droite doit être les bornes inférieures successives à partir desquelles doivent s'appliquer les textes correspondants de la liste de gauche. Si donc vous avez des bornes supérieures il faut chaque fois y ajouter un chouia. Si ce sont partout des bornes supérieures vous pouvez inverser l'ordre des listes et le signe des valeurs de droite en y cherchant -F29
Édition: Ou préciser -1 comme 3ième paramètre du EQUIV sans changer aucun signe. C'est vrai j'ai tendance à ne pas y penser. Mais il faut quand même inverser l'ordre des listes.
 
Dernière édition:

Discussions similaires

Réponses
26
Affichages
378