Problème imbrication de SI

Fermé
rolbutchy - 17 déc. 2012 à 19:59
 rolbutchy - 18 déc. 2012 à 12:16
Bonjour,

Je viens vers vous pour un problème que je ne comprend pas !

La commande :
"=SI(EQUIV(B6;Serveur!B3);Serveur!B3;SI(EQUIV(B6;Serveur!C3);Serveur!C3;SI(EQUIV(B6;Serveur!D3);Serveur!D3)))"

Le 1er "SI" répond, mais ceux d'après réponde #N/A ...

Merci par avance

4 réponses

Raymond PENTIER Messages postés 58834 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 22 janvier 2025 17 275
17 déc. 2012 à 21:31
Tu ne respectes pas la syntaxe de la fonction SI !

Il faut commencer par un test, et toi tu n'en as aucun ...
Quand tu écris =SI(EQUIV(B6;Serveur!B3); on s'attend à un test de comparaison du genre =SI(EQUIV(B6;Serveur!B3)=12;
ou encore =SI(EQUIV(B6;Serveur!B3)>Serveur!Z9;
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 250
Modifié par eriiic le 18/12/2012 à 11:09
Bonjour à tous,

Tu ne respectes pas la syntaxe de la fonction SI !
Il faut commencer par un test, et toi tu n'en as aucun ...

Pas exact.
Le 1er paramètre est évalué, que ce soit un test ou non.
0 => FAUX, tout autre valeur numérique => VRAI

=SI(A1;...
est équivalent à :
=SI(A1 <> 0;...

Là, en l'occurrence, il faut bien un test pour contrôler la valeur d'erreur si non trouvé.
Avec esterreur() ou bien nb.si(), sans fichier je n'approfondirais pas plus.

eric
0
Merci je ne sais pas pourquoi mais j'avais déjà essayer et javais eu une erreur surement une faute de frappe !

Merci beaucoup !
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 421
18 déc. 2012 à 11:27
Bonjour
je suis un peu surpris que l'on utilise un code EQUIV pour détecter si la valeur d'une seule cellule est présente dans une seule cellule .

Qu'amène cette formulation par rapport à:

=SI(B6=Serveur!B3;Serveur!B3;SI(B6=Serveur!C3;Serveur!C3;SI(B6=Serveur!D3;Serveur!D3)))


crdlmnt
0
Rien a se niveaux la j'étais reparti d'une ancienne fonction.

Car au début j'avais fais une erreur de syntaxe basique ( sans la voir ) donc suite a ce problème j'avais cherché une alternative.

Je suis désole d'avoir poser une question aussi simple pour une simple erreur de syntaxe !
0