Excel - Calculs
Résolu
NOEM84820
Messages postés
4
Statut
Membre
-
NOEM84820 Messages postés 4 Statut Membre -
NOEM84820 Messages postés 4 Statut Membre -
Bonjour,
Bonjour,
C'est la premiere fois que je fais une demande d'aide sur votre forum j'espere que quelqu'un pourra m'aider car je galère vraiment et ne trouve pas de solutions à mon probleme
Je souhaite faire un traitement de base de données mais ne sais pas comment m'y prendre.
ci dessous, une version simplifiée du cas que je rencontre pour vous expliquer concretement.
Col 1 Col 2
Acteur 1 client a
Acteur 1 client b
Acteur 2 client b
Acteur 2 client c
Acteur 2 client c
Je voudrais savoir pour chaque acteur combien de clients différents il a eu a traiter.
Avec le tableau croisé dynamique, je bloque car par exemple pour l'acteur 2 ci dessus il m'indique 3 clients alors qu'en realité je n'en ai que 2 de clients différents.
Je souhaite savoir pour chaque acteur le nombre de clients différents qui ont été traités par cet acteur.
Mon fichier fait 200 000 lignes.
Merci par avance pour votre aide qui me sera tres tres précieuse !!!
Bonjour,
C'est la premiere fois que je fais une demande d'aide sur votre forum j'espere que quelqu'un pourra m'aider car je galère vraiment et ne trouve pas de solutions à mon probleme
Je souhaite faire un traitement de base de données mais ne sais pas comment m'y prendre.
ci dessous, une version simplifiée du cas que je rencontre pour vous expliquer concretement.
Col 1 Col 2
Acteur 1 client a
Acteur 1 client b
Acteur 2 client b
Acteur 2 client c
Acteur 2 client c
Je voudrais savoir pour chaque acteur combien de clients différents il a eu a traiter.
Avec le tableau croisé dynamique, je bloque car par exemple pour l'acteur 2 ci dessus il m'indique 3 clients alors qu'en realité je n'en ai que 2 de clients différents.
Je souhaite savoir pour chaque acteur le nombre de clients différents qui ont été traités par cet acteur.
Mon fichier fait 200 000 lignes.
Merci par avance pour votre aide qui me sera tres tres précieuse !!!
A voir également:
- Excel - Calculs
- Liste déroulante excel - Guide
- Comment calculer la moyenne sur excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
3 réponses
Salut,
200000 lignes ça fait beaucoup surtout si le nombre de colonne est important.
enfin essaye cette formule
=SOMMEPROD((A1:A20="Acteur 2")*(B1:B20<>""))
tu peux également remplacer le critère dans la formule par l'adresse d'une formule contenant le critère ou une liste de validation comme la cellule D1.
la formule devient
=SOMMEPROD((A1:A20=D1)*(B1:B20<>""))
si cette formule doit être utilisée dans une feuille différente que celle de ta base de donnée nomme tes plages, ex. la plage colonne A des Acteurs nomme la par ex. Act
et la plage Clients nomme la Client
la formule devient quel que soit la feuille
=SOMMEPROD((Act=D1)*(Client<>""))
200000 lignes ça fait beaucoup surtout si le nombre de colonne est important.
enfin essaye cette formule
=SOMMEPROD((A1:A20="Acteur 2")*(B1:B20<>""))
tu peux également remplacer le critère dans la formule par l'adresse d'une formule contenant le critère ou une liste de validation comme la cellule D1.
la formule devient
=SOMMEPROD((A1:A20=D1)*(B1:B20<>""))
si cette formule doit être utilisée dans une feuille différente que celle de ta base de donnée nomme tes plages, ex. la plage colonne A des Acteurs nomme la par ex. Act
et la plage Clients nomme la Client
la formule devient quel que soit la feuille
=SOMMEPROD((Act=D1)*(Client<>""))
Bonjour NOEM84820.
Les formules de Mike-31, que je salue amicalement, te calculent combien de fois chaque acteur figure dans le tableau.
Si tu veux, en plus, savoir combien de fois chaque acteur a reçu chaque client, tu remplaces <>"" par ="client c", ce qui donne, en saisissant en E1 le critère client,
=SOMMEPROD((A1:A20="Acteur 2")*(B1:B20="client c"))
=SOMMEPROD((A1:A20=D1)*(B1:B20=E1))
=SOMMEPROD((Act=D1)*(Client=E1))
Comme te l'a conseillé Mike-31, il serait sage de renseigner D1 et E1 par des listes déroulantes de cellule. J'ajoute que pour élaborer les listes-source, tu as intérêt à partir des colonnes A et B, en faisant une suppression des doublons ; ainsi tu évites toute erreur d'orthographe à la saisie.
Cordialement.
Les formules de Mike-31, que je salue amicalement, te calculent combien de fois chaque acteur figure dans le tableau.
Si tu veux, en plus, savoir combien de fois chaque acteur a reçu chaque client, tu remplaces <>"" par ="client c", ce qui donne, en saisissant en E1 le critère client,
=SOMMEPROD((A1:A20="Acteur 2")*(B1:B20="client c"))
=SOMMEPROD((A1:A20=D1)*(B1:B20=E1))
=SOMMEPROD((Act=D1)*(Client=E1))
Comme te l'a conseillé Mike-31, il serait sage de renseigner D1 et E1 par des listes déroulantes de cellule. J'ajoute que pour élaborer les listes-source, tu as intérêt à partir des colonnes A et B, en faisant une suppression des doublons ; ainsi tu évites toute erreur d'orthographe à la saisie.
Cordialement.
Bonjour,
en plus léger qu'un sommeprod() tout en conservant un TCD, à condition que col1 et col2 soient triés :
ajouter une colonne avec en C2 :
=OU(A1<>A2;B2<>B1)*1
et faire le TCD sur col1 et col3 (la somme, pas le nb)
exemple : https://www.cjoint.com/?BICqUC3b389
eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
en plus léger qu'un sommeprod() tout en conservant un TCD, à condition que col1 et col2 soient triés :
ajouter une colonne avec en C2 :
=OU(A1<>A2;B2<>B1)*1
et faire le TCD sur col1 et col3 (la somme, pas le nb)
exemple : https://www.cjoint.com/?BICqUC3b389
eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.