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 58393 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 23 avril 2024 - 16 août 2008 à 07:03
Bonjour,

Autodidate que je suis, je ne sais pas trop si ce que je recherche s'appelle une formule à 2 fonctions ou 2 conditions, mais bref, voilà ce que je tente de faire:

J'ai une formule qui fonctionne bien pour identifier les doublons dans une seule et même feuille (client2007-2008) qui contient une liste de clients

=SI(NB.SI($C$1:$C$412;C16)>1;"Multiple";"Unique")

À chaque mois j'alimente la liste client client2008-2009; j'aimerais appliquer une formule pour trouver des doublons dans cette liste, mais aussi dans celle de la feuille client2007-2008.

J'ai pensé à ceci, mais ça ne fonctionne pas du tout:
=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")
Le message d'Excel me dit que j'ai tapé un nombre trop important d'arguments dans cette fonction

J'ai besoin d'identifier rapidement les clients pour leur attribuer les statuts suivants:
Unique : client qui a utilisé le service une seule fois en 2008-2009
Multiple : client qui a utilisé le service plus d'une fois en 2008-2009
Ancien : client qui a utilisé le service en 2007-2008 et qui le fait encore en 2008-2009

et éventuellement...
NouvU : nouveau client ayant utilisé le service une seule fois en 2008-2009
NouvM : nouveau client ayant utilisé le service plus d'une fois en 2008-2009

Je sais que je pourrais tout simplement alimenter ma liste 2007-2008 avec les nouvelles données, mais j'aimerais bien catégoriser mes clients dans ma nouvelle liste 2008-2009.

Est-ce possible de faire une formule NB.SI sur deux feuilles différentes d'un même fichier Excel? Y-a-t'il un autre moyen d'arriver à mes fins?
Je ne suis pas familière du tout avec les macros et l'endroit où je travaille ne tient pas tellement à travailler avec des fichiers qui en contiennent.

Merci beaucoup de m'éclairer.

Ariane
A voir également:

5 réponses

Mabelle60 Messages postés 469 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 21 juin 2017 130
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 +
1
Raymond PENTIER Messages postés 58393 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 23 avril 2024 17 096
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 ?
0
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
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
0
Raymond PENTIER Messages postés 58393 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 23 avril 2024 17 096
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.
0
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
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Raymond PENTIER Messages postés 58393 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 23 avril 2024 17 096
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 ?
0