fonction si(imbriqué

code187

XLDnaute Nouveau
Bonjour,
j'ai un probleme avec cette formule :

=SOMME(SI(C16=4;25;SI(C16=5;20;SI(C16=6;16;SI(C16=7;14;SI(C16=8;12;SI(C16=9;11;SI(C16=10;10;SI(c16=11;9;si(c16=12;8;si(c16=13;7;si(c16=14;7;si(c16=15;6;si(c16=16;6;si(c16=17;6;si(c16=18;5;si(c16=19;5;si(c16=20;5;si(c16=21;5;si(c16=22;5;si(c16=23;4;si(c16=24;4;si(c16=25;4;si(c16=26;4;si(c16=27;4;si(c16=28;3;si(c16=29;3;si(c16=30;3;si(c16=31;3;si(c16=32;3;si(c16=33;3;0)))))))))))))))))))))))))))))))

Je comprend pas pourquoi elle esr pas bonne.
Merci d'avance, Jean Louis.
 

Celeda

XLDnaute Barbatruc
Bonjour,

Une autre méthode avec Index et table de correspondance.

Celeda [file name=TabledeCorrespondance.zip size=4985]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/TabledeCorrespondance.zip[/file]
 

Pièces jointes

  • TabledeCorrespondance.zip
    4.9 KB · Affichages: 33

Celeda

XLDnaute Barbatruc
Bonjour,

André, mon joli speudo c'est Celeda !!

Deuxio : merci où avais-je la tête!!!

la gestion d'erreur mais oui saperlipopette !!

=SI(ESTNA(INDEX(G5:G33;EQUIV(C16;F5:F33;1)));'';(INDEX(G5:G33;EQUIV(C16;F5:F33;1))))

et vlan, cela retourne un vide puisque qu'on choisit les ''

mais si on veut autre chose no problem

bon je vois que tu me surveilles dédé,

tu as raison

par la passion

ou l'émotion

il m'arrive de laisser des coquilles

sur quelques lignes....

merci

et désolée

cEleda
 

code187

XLDnaute Nouveau
Merci à tous pour votre aide, j'ai gardé la solution d'andré que je trouve super et tout marche bien pour moi. Malgré tout , je n'arrive pas a comprendre pourquoi ca marche, je ne trouve pas le raisonnement qui me permettrais de l'utiliser pour d'autres probleme, =SI(ESTERREUR(RECHERCHEV(D4;AI3:AJ32;2;0));'';RECHERCHEV(D4;AI3:AJ32;2;0)) , si tu pouvais m'expliquer pourquoi ca marche ca serais gentil de ta part. Jean Louis.
 

andré

XLDnaute Barbatruc
Resalut,

C'est très simple, mais ce n'est peut-être pas évident (lol).

Si une recherche exacte est faite (c'est le dernier argument de la fonction qui le précise : 0) et que cette valeur n'est pas trouvée, la formule renvoit un message d'erreur.

Pour éviter que ce message s'affiche, on en teste d'abord le résultat.
Donc : si le résultat de la formule renvoit une erreur, on ne fait rien (''), sinon on exécute la formule.

Il ya aussi moyen de remplacer ce test par un NB.SI qui receherche la présence de la valeur dans la table.
Si le nombre de valeurs trouvées = 0, alors '', sinon la formule.

Â+
 

Statistiques des forums

Discussions
312 492
Messages
2 088 926
Membres
103 984
dernier inscrit
maliko67