Excel: fonction si + chaine de caractère

Résolu/Fermé
elcaprio - 11 juin 2012 à 17:42
 Elcaprio - 13 juin 2012 à 11:55
Bonjour,
J'ai une situation assez compliqué, je vais essayer de faire au plus simple.
Mon problème ce situe sur 2 feuilles distincts.
Sur la feuille 2 j'ai une colonne "nom client" et une colone "total ttc"
Sur la feuille 1 j'ai une colonne "total en nombre" et "total en valeur"
Mon but est de connaitre le nombre d'entrée pour un client donné ainsi que la valeurs total de ses achats, sachant qu'il a plusieurs magasins.
ex:
J'ai: 150 lignes pour mon client ABCDEF Nante(elles ne ce suivent pas forcement)
150 ligne pour ABCDEFRouen
Je veut que ma colonne nombre affiche 300 et que ma colonne valeur affiche le total ttc pour ce client.
j'espère être suffisement claire, n'hésitez pas a demander des précisions.
Merci de vos réponses.



A voir également:

4 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
Modifié par Vaucluse le 11/06/2012 à 18:36
Bonjour
peut être:
pour le nombre
=NB.SI(Liste client;"*ABCDEF*")
et pour le cumul montant
=SOMME.SI(Liste client;"ABCDEF*";liste montant)
liste client et liste montant sont bien sur les champs ou se situe les valeurs à considérer.
Si vous voulez entrer le nom du client dans une cellule, le "*ABCDEF*" devient:

"*"&adresse cellule&"*"

crdlmnt
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
3
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
13 juin 2012 à 09:59
bonjour à tous,

Une solution à tes calculs avec SOMMEPROD :

https://www.cjoint.com/?3Fnj3Ml0Lvb

C'est la même formule sur la plage concernée avec une variante montant et nombre.
1
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
Modifié par Vaucluse le 13/06/2012 à 10:19
salut gb

c'est bien la même formule mais sauf erreur (c'est assez courant chez moi) ,il reste un problème à traiter, à savoir que dans la liste de noms de clients de ton modèle dans la feuille général,et si j'ai bien compris la demande, il peut y avoir des noms de clients complétés d'une localisation (par ex: Client Rouen, Client Paris pour le même client)
c'est pourquoi j'ai proposé SOMMEPROD doublée d'une matricielle utilisant le code TROUVE.
Mais je jette un oeil sur le fichier du demandeur pour confirmer ça.Sinon bien sur ta proposition fonctionne impec

ps: Après vérif ,effectivement la condition "noms complétés" évoquée dans le message initial du demandeur (voir message 1), n'est pas présente dans le fichier modèle mis à disposition???????


bien amicalement
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
13 juin 2012 à 10:38
Bonjour Vaucluse,

J'avais bien vu la totalisation sans localisation (absente de l'exemple de Elcaprio) mais il suffit de rajouter ce que tu avais mis dans ta formule pour que cela fonctionne.

=SOMMEPROD((général!$A$10:$A$150=$B13)*(GAUCHE(général!$E$10:$E$150;NBCAR(E$11))=E$11)*général!$G$10:$G$150)

Pas toujours facile pour les demandes de faire un classeur totalement conforme :)

Bien cordialement.
0
Merci de vos réponses, en effet sur le fichier j'ai oublier de mettre la particularité qu'évoque Vaucluse.
Il y a bien plusieurs ville par client, ce qui donne :
http://cjoint.com/?BFnkOaZFLlv
Désolé pour le temps de réponse, j'étais en rdv avec mon maitre de stage et mon prof référent.

Cordialement
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
13 juin 2012 à 10:53
Nous voila d'accord
Toutefois, ce 'est pas tout à fait la proposition de Gb que j'ai mis dans mon fichier modèle... mais elle fonctionne très bien si le nom du client est en tête de texte et reste plus simple que la mienne puisqu'elle n'exige pas d'entrée matricielle.
pour le cas où le nom de client se ballade dans le texte, voir le modèle transmis hier soir.

D'où quand même ma dernière question que je répète:

quel est la date de votre Excel sachant que les codes NB.SI. ENS et SOMME.SI.ENS, applicables depuis Excel 2007 sont bien plus simples à mettre en place dans tous les cas.

crdlmnt
0
L'entreprise est sous Excel 2007.
La somme des factures fonctionnes très bien, MERCI :)
Par contre je n'arrive pas a mettre en place le décompte du nombre de facture...

Je suis désolé, les formules matriciels ne me parle pas du tout. C'est la première fois que je dois en utilisé. Alors merci pour votre patience également.

Cordialement.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
Modifié par Vaucluse le 13/06/2012 à 11:41
Alors voila le modèle avec les codes NB.SI.ENS et SOMME.SI.ENS
c'est beaucoup plus simple.
dans ce modèle, le nom du client peut se situer n'importe où dans le texte de la liste sur feuille général
https://www.cjoint.com/?BFnlNfWhtA6

bonne route
crdlmnt
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
1
Sa fonctionne super bien.

Merci a tout les deux pour votre aide et votre temps.

Bonne continuation
Cordialement
0
Bonjour
Merci pour votre réponse.
Le problème c'est que mon client est de la forme, par exemple, "Carefour Rouen" sur la ligne 1; "Carefour Nante"; "Carefour Rome" etc... mon but est de connaitre le nombre de "carefour", qu'importe le lieu ou il ce situe.
Je crois qu'il y a une fonction GAUCHE qui peut me servir, mais je ne voit pas trop comment.
Cordialement
0
Désolé pour le double post; je voulais juste rajouté ma formule actuel, qui ne fonctionne malheureusement pas:
=NB.SI(général!E10:E1000;GAUCHE(E10:E1000;8)="carefour ")
la colonne E étant la colonne ou ce trouve mes clients.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
Modifié par Vaucluse le 12/06/2012 à 13:00
bonjour

vous n'avez pas du appliquer correctement la proposition qui correspond à ce que vous souhaitez

=NB.SI(général!E:E;"*carrefour*")

ou si vous inscrivez par exemple "carrefour" en X1
=NB.SI(général!E:E;"*"&X1&"*")
attention aux signes..... et au fait que le libellé doit être strictement identique à celui cherché (carefour avec 1 ou 2 r par exemple, ça n'ira pas, mais par contre si vous placez refour entre les astérisques, ça fonctionne)

pour info:

Pour utiliser la fonction gauche, NB.SI qui n'est pas matriciel ne s'applique pas:
essayez:
=SOMMEPROD((GAUCHE(général!E10:E1000;8)="Carefour")*1)
pour le nombre de client
et:
=SOMMEPROD((Gauche(général!E10:E100;8)="carefour")*(général!champ des montants))

mais la solution avec NB.SI et SOMME.SI est plus simple et moins lourde pour le fichier.
crdlmnt

crdlmnt
0
Merci pour votre réponse.

Le la fonction nb.si que vous m'avez donné fonctionne.
Maintenant il faudrait que j'arrive a la conditionné par rapport a une 3eme cellule. En fait j'applique cette fonction pour les factures du mois en cours (donc dans ma colonne A j'ai un 1); pour les factures des 3 derniers mois ("1 à 3" dans colonne A) etc...

En clair: sur ma feuille 1 j'ai un tableau récapitulatif par période qui donne celà:

ligne 1 Total Carrefour Auchan etc
ligne 2 En nombre de facture En valeurs TTC (pour total; carrfour et Auchan)
Colonne A:
mois en cours
1 à 3 mois
3 à 6 mois
plus de 6 mois
Total Echu

Merci pour votre aide
Cordialement
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
Modifié par Vaucluse le 12/06/2012 à 14:17
J'avoue que je ne comprend pas la configuration de votre fichier
pouvez vous mettre un modèle même bidonné,mais représentant votre tableau et spécifiant les résultats attendus sur:
https://www.cjoint.com/
en revenant ici placer le lien donné par le site.
0
je ne peut accéder au site:

Site Web dangereux bloqué
Emplacement: www.cjoint.comL'accès a été bloqué en raison de la découverte de la menace Mal/HTMLGen-A sur ce site Web.

Voilà la structure de mon tableau récapitulatif:
Sur une ligne j'ai mes clients.
Dans ma colonne 1 j'ai les périodes (donc: "mois en cours"; "1 à 3 mois"; "3 à 6 mois" etc...)
Chaques clients a 2 colonnes: une pour le nombre de facture sur la période défini par la ligne, et une pour la somme total des factures de la période.

Les données sont récupérer sur une feuille "général". Sur cette feuille les nom des clients ce trouve dans la colonne E et les sommes dans la colonne G. La colonne A est intitulé "mois" et elle contiens une formule me donnant la période a partir de la date de saisi (placé dans une cellule) et de la date de facturation (placé dans la colonne B).


j'espère avoir été plus explicite...
0