Formule excel à 2 fonctions
Résolu/Fermé
Ariane61
Messages postés
28
Date d'inscription
jeudi 14 août 2008
Statut
Membre
Dernière intervention
3 février 2013
-
14 août 2008 à 03:44
Raymond PENTIER Messages postés 58801 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 7 janvier 2025 - 16 août 2008 à 07:03
Raymond PENTIER Messages postés 58801 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 7 janvier 2025 - 16 août 2008 à 07:03
A voir également:
- Formule excel à 2 fonctions
- Formule excel pour additionner plusieurs cellules - Guide
- Formule excel si et - Guide
- Formule excel moyenne - Guide
- Excel mise en forme conditionnelle formule - Guide
- Formule excel - Guide
5 réponses
Mabelle60
Messages postés
468
Date d'inscription
mercredi 4 avril 2007
Statut
Membre
Dernière intervention
21 juin 2017
130
14 août 2008 à 07:17
14 août 2008 à 07:17
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 +
Raymond PENTIER
Messages postés
58801
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
7 janvier 2025
17 264
14 août 2008 à 05:29
14 août 2008 à 05:29
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 ?
Ariane61
Messages postés
28
Date d'inscription
jeudi 14 août 2008
Statut
Membre
Dernière intervention
3 février 2013
18
16 août 2008 à 05:04
16 août 2008 à 05:04
Yes
Je vais faire plus de tests d'ici lundi, mais sofar, mon problème semble résolu avec cette formule
=SI(NB.SI(CLT0708;C27)>0;SI(NB.SI(CLT0809;C27)=1;"AncienU";"AncienM");SI(NB.SI(CLT0809;C27)=1;"NouvU";"NouvM"))
Merci bcp à toi Raymond et à Mabella
Au revoir
Je vais faire plus de tests d'ici lundi, mais sofar, mon problème semble résolu avec cette formule
=SI(NB.SI(CLT0708;C27)>0;SI(NB.SI(CLT0809;C27)=1;"AncienU";"AncienM");SI(NB.SI(CLT0809;C27)=1;"NouvU";"NouvM"))
Merci bcp à toi Raymond et à Mabella
Au revoir
Raymond PENTIER
Messages postés
58801
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
7 janvier 2025
17 264
14 août 2008 à 13:57
14 août 2008 à 13:57
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.
Ariane61
Messages postés
28
Date d'inscription
jeudi 14 août 2008
Statut
Membre
Dernière intervention
3 février 2013
18
16 août 2008 à 05:15
16 août 2008 à 05:15
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
Raymond PENTIER
Messages postés
58801
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
7 janvier 2025
17 264
16 août 2008 à 07:03
16 août 2008 à 07:03
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 ?