Formule excel à 2 fonctions
Résolu
Ariane61
Messages postés
28
Date d'inscription
Statut
Membre
Dernière intervention
-
Raymond PENTIER Messages postés 58988 Date d'inscription Statut Contributeur Dernière intervention -
Raymond PENTIER Messages postés 58988 Date d'inscription Statut Contributeur Dernière intervention -
A voir également:
- Formule excel à 2 fonctions
- Formule si et excel - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Formule somme excel colonne - Guide
- Excel mise en forme conditionnelle formule - Guide
- Liste déroulante excel - Guide
5 réponses
Bonjour Ariane
Ce qui me saute aux yeux dans ton pb est qu tu ais dupliqué ta valeur de référence dans ton second NB.SI.
NB.SI($C$1:$C$19;C3;'client2007-2008'!C3:C413
Cette fonction ne peut faire référence qu'a une seule cellule ou une valeur.
Je suis d'accord avec Raymond, ça facilite les choses. A la différence que si tu renommes CL0708, tu vas faire référence à une seule cellule (enfin chez moi ça me renvoie en CL708 sur Excel2003) alors j'ai mis CLT0708 et CLT0809
Essaye ça
=SI(NB.SI(CLT0708;Feuil2!C3)>0;"Ancien";SI(NB.SI(CLT0809;C3)=1;"NouvU";"NouvM"))
Pour différencier les ancien qui apparaissent une seule fois ou plusieurs fois en 2008-2009
=SI(NB.SI(CLT0708;Feuil2!C3)>0;SI(NB.SI(CLT0809;C3)=1;"AncienU";"AncienM");SI(NB.SI(CLT0809;C3)=1;"NouvU";"NouvM"))
Après tu peux jouer avec! Tu peux imbriquer jusqu'à 7 fonction SI. Au delà il faut jouerd'astuces ou employer une autre fonction.
A +
Ce qui me saute aux yeux dans ton pb est qu tu ais dupliqué ta valeur de référence dans ton second NB.SI.
NB.SI($C$1:$C$19;C3;'client2007-2008'!C3:C413
Cette fonction ne peut faire référence qu'a une seule cellule ou une valeur.
Je suis d'accord avec Raymond, ça facilite les choses. A la différence que si tu renommes CL0708, tu vas faire référence à une seule cellule (enfin chez moi ça me renvoie en CL708 sur Excel2003) alors j'ai mis CLT0708 et CLT0809
Essaye ça
=SI(NB.SI(CLT0708;Feuil2!C3)>0;"Ancien";SI(NB.SI(CLT0809;C3)=1;"NouvU";"NouvM"))
Pour différencier les ancien qui apparaissent une seule fois ou plusieurs fois en 2008-2009
=SI(NB.SI(CLT0708;Feuil2!C3)>0;SI(NB.SI(CLT0809;C3)=1;"AncienU";"AncienM");SI(NB.SI(CLT0809;C3)=1;"NouvU";"NouvM"))
Après tu peux jouer avec! Tu peux imbriquer jusqu'à 7 fonction SI. Au delà il faut jouerd'astuces ou employer une autre fonction.
A +
Salut, la nouvelle autodidacte ; bienvenue dans la famille !
Un éclairage ? En attendant mieux, je voudrais te rassurer sur la faisabilité de ton projet. Dans la mesure où tes deux listes sont dans les feuilles d'un même fichier, ça devrait marcher.
Pour faciliter l'écriture, la compréhension et la modification des formules de recherche, tu as tout intérêt à donner un nom à ces listes. Commence donc dès maintenant par donner à client2007-2008!$C$1:$C$412 le nom CL0708 et à client2008-2009!$C$1:$C$412 le nom CL0809.
Et bien que la description de ton fichier et de ton problème soit assez claire, ce serait encore mieux si nous pouvions travailler directement sur ton fichier ! Tu disposes pour cela de plusieurs méthodes :
1) L'envoyer par e-mail à ceux d'entre nous que tu auras choisis (et dont l'adresse e-mail figure dans nos profils),
2) L'envoyer par message privé dans ce forum à ceux d'entre nous que tu auras choisis,
3) L'envoyer dans ton prochain post à la disposition de tous les usagers du forum.
Sachant que tu peux :
* Modifier les noms propres en utilisant l'outil RECHERCHER/REMPLACER,
* Coller le lien de ton fichier en utilisant soit www.cijoint.fr// soit www.cjoint.com//
Alors à bientôt ?
Un éclairage ? En attendant mieux, je voudrais te rassurer sur la faisabilité de ton projet. Dans la mesure où tes deux listes sont dans les feuilles d'un même fichier, ça devrait marcher.
Pour faciliter l'écriture, la compréhension et la modification des formules de recherche, tu as tout intérêt à donner un nom à ces listes. Commence donc dès maintenant par donner à client2007-2008!$C$1:$C$412 le nom CL0708 et à client2008-2009!$C$1:$C$412 le nom CL0809.
Et bien que la description de ton fichier et de ton problème soit assez claire, ce serait encore mieux si nous pouvions travailler directement sur ton fichier ! Tu disposes pour cela de plusieurs méthodes :
1) L'envoyer par e-mail à ceux d'entre nous que tu auras choisis (et dont l'adresse e-mail figure dans nos profils),
2) L'envoyer par message privé dans ce forum à ceux d'entre nous que tu auras choisis,
3) L'envoyer dans ton prochain post à la disposition de tous les usagers du forum.
Sachant que tu peux :
* Modifier les noms propres en utilisant l'outil RECHERCHER/REMPLACER,
* Coller le lien de ton fichier en utilisant soit www.cijoint.fr// soit www.cjoint.com//
Alors à bientôt ?
Eh bien, voila : Problème résolu grâce à Mabelle60.
Elle a raison, j'ai mal choisi le nom de tableau donné en exemple : Excel croit que c'est une référence de cellule.
Bonne continuation.
Elle a raison, j'ai mal choisi le nom de tableau donné en exemple : Excel croit que c'est une référence de cellule.
Bonne continuation.
Editer (modifier) votre message Ariane61, le samedi 16 août 2008 à 05:04:35
Yes !
Je vais faire plus de tests d'ici dimanche, mais so far, mon problème semble résolu avec la formule de Mabelle sans le Feuil2!, comme tu l'as suggéré
=SI(NB.SI(CLT0708;C3)>0;SI(NB.SI(CLT0809;C3)=1;"AncienU";"AncienM");SI(NB.SI(CLT0809;C3)=1;"NouvU";"NouvM"))
Je peux pas dire que je comprends toute la synthase, mais je suis moins dans le brouillard ;)
Merci bcp à toi et à Mabelle60
Au revoir
Yes !
Je vais faire plus de tests d'ici dimanche, mais so far, mon problème semble résolu avec la formule de Mabelle sans le Feuil2!, comme tu l'as suggéré
=SI(NB.SI(CLT0708;C3)>0;SI(NB.SI(CLT0809;C3)=1;"AncienU";"AncienM");SI(NB.SI(CLT0809;C3)=1;"NouvU";"NouvM"))
Je peux pas dire que je comprends toute la synthase, mais je suis moins dans le brouillard ;)
Merci bcp à toi et à Mabelle60
Au revoir
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ariane, re-bonjour.
La syntaxe que tu avais plus ou moins "bidouillée" dans ton tout premier post
=SI(NB.SI($C$1:$C$19;C3)>1;"Doublon";"Unique") & NB.SI($C$1:$C$19;C3;'client2007-2008'!C3:C413)>1;"Ancien";"Unique") était légèrement erronée, mais tu connais déjà celle de la fonction SI utilisée seule, qui t'affiche 2 valeurs possibles.
Ce qui te manquait, c'est l'utilisation de 2 fonctions SI imbriquées, qui t'affichent 3 valeurs possibles :
=SI (Test1 ; valeur_si_vrai_1 ; SI(Test2;valeur_si_vrai_2;valeur_si_faux) )
Quant à la formule de mabelle60, elle inclut 3 fonctions SI et peut délivrer 4 réponses possibles :
C'est une formule de base =SI( Test1 ; valeur_si_vrai ; valeur_si_faux ) dans laquelle
valeur_si_vrai = SI(Test2;valeur_si_vrai_2;valeur_si_faux_2) et
valeur_si_faux = SI(Test3;valeur_si_vrai_3;valeur_si_faux_3) ) ce qui donne
=SI ( Test1 ; SI(Test2;valeur_si_vrai_2;valeur_si_faux_2) ; SI(Test3;valeur_si_vrai_3;valeur_si_faux_3) )
et avec les vraies variables et références
=SI(NB.SI(CLT0708;C3)>0;SI(NB.SI(CLT0809;C3)=1;"AU";"AM");SI(NB.SI(CLT0809;C3)=1;"NU";"NM"))
Est-ce assez explicite ?
La syntaxe que tu avais plus ou moins "bidouillée" dans ton tout premier post
=SI(NB.SI($C$1:$C$19;C3)>1;"Doublon";"Unique") & NB.SI($C$1:$C$19;C3;'client2007-2008'!C3:C413)>1;"Ancien";"Unique") était légèrement erronée, mais tu connais déjà celle de la fonction SI utilisée seule, qui t'affiche 2 valeurs possibles.
Ce qui te manquait, c'est l'utilisation de 2 fonctions SI imbriquées, qui t'affichent 3 valeurs possibles :
=SI (Test1 ; valeur_si_vrai_1 ; SI(Test2;valeur_si_vrai_2;valeur_si_faux) )
Quant à la formule de mabelle60, elle inclut 3 fonctions SI et peut délivrer 4 réponses possibles :
C'est une formule de base =SI( Test1 ; valeur_si_vrai ; valeur_si_faux ) dans laquelle
valeur_si_vrai = SI(Test2;valeur_si_vrai_2;valeur_si_faux_2) et
valeur_si_faux = SI(Test3;valeur_si_vrai_3;valeur_si_faux_3) ) ce qui donne
=SI ( Test1 ; SI(Test2;valeur_si_vrai_2;valeur_si_faux_2) ; SI(Test3;valeur_si_vrai_3;valeur_si_faux_3) )
et avec les vraies variables et références
=SI(NB.SI(CLT0708;C3)>0;SI(NB.SI(CLT0809;C3)=1;"AU";"AM");SI(NB.SI(CLT0809;C3)=1;"NU";"NM"))
Est-ce assez explicite ?