Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Valeur distinctes dans un TCD

9 réponses
Avatar
JT
Bonjour,

Un TCD me compte le nombre de ligne suivant un champ de ligne. Comment faire
pour qu'il me compte les valeurs distincts.
Exemple
col1 | col2
A|1
A|2
A|1
B|2
C|2
C|2
C|2

Mon TCD actuel donne => alors que je voudrais
A|3 => A|2
B|1 => B|1
C|3 => C|1

Merci

--
JT

9 réponses

Avatar
Daniel.C
Bonjour.
Si j'ai bien compris, inverse les deux champs.
Cordialement.
Daniel
"JT" a écrit dans le message de news:

Bonjour,

Un TCD me compte le nombre de ligne suivant un champ de ligne. Comment
faire
pour qu'il me compte les valeurs distincts.
Exemple
col1 | col2
A|1
A|2
A|1
B|2
C|2
C|2
C|2

Mon TCD actuel donne => alors que je voudrais
A|3 => A|2
B|1 => B|1
C|3 => C|1

Merci

--
JT


Avatar
JT
Non vous n'avez pas bien compris. Inverser les deux champs donnent :
1|2
2|5

--
JT



Bonjour.
Si j'ai bien compris, inverse les deux champs.
Cordialement.
Daniel
"JT" a écrit dans le message de news:

Bonjour,

Un TCD me compte le nombre de ligne suivant un champ de ligne. Comment
faire
pour qu'il me compte les valeurs distincts.
Exemple
col1 | col2
A|1
A|2
A|1
B|2
C|2
C|2
C|2

Mon TCD actuel donne => alors que je voudrais
A|3 => A|2
B|1 => B|1
C|3 => C|1

Merci

--
JT







Avatar
Brunos
Bonjour JT,
J'ai réussi à obtenir ton résultat en ajoutant deux colonnes.
Une col3 qui fusionne col1 et col2. Une autre qui note les valeurs nouvelles
de la col3.
Voir : http://cjoint.com/?bpx1gWUPem
Sans cet artifice, je n'y arrive pas.
Brunos

"JT" a écrit dans le message de news:

Non vous n'avez pas bien compris. Inverser les deux champs donnent :
1|2
2|5

--
JT



Bonjour.
Si j'ai bien compris, inverse les deux champs.
Cordialement.
Daniel
"JT" a écrit dans le message de news:

Bonjour,

Un TCD me compte le nombre de ligne suivant un champ de ligne. Comment
faire
pour qu'il me compte les valeurs distincts.
Exemple
col1 | col2
A|1
A|2
A|1
B|2
C|2
C|2
C|2

Mon TCD actuel donne => alors que je voudrais
A|3 => A|2
B|1 => B|1
C|3 => C|1

Merci

--
JT









Avatar
Trirème
Bonsoir JT
J'adapte une réponse que j'avais faite ici :
http://groups.google.fr/group/microsoft.public.fr.excel/browse_frm/thread/e45180a4a0cd0d9c/9890969986110bb0?tvc=1&q=compter+distinct+tcd#9890969986110bb0

...Ajoute une colonne en C intitulée par exemple 'NbUnik'
dans laquelle tu écris en C2 : =N(SOMMEPROD((A$2:A2¢)*(B$2:B2²))=1)
et que tu recopies vers le bas.
Dans le TCD il faut mettre 'Col1' en ligne et ce nouveau champ dans la zone des
données.

1. Lorsque le tableau évoluera il faudra simplement prolonger la copie des
formules vers le bas.
2. Les données du tableau peuvent apparaître triées dans n'importe quel ordre.
3. Une restriction cependant, le TCD doit continuer à présenter de manière
distincte les clients, mois et années. Il n'est pas question de filtrer le TCD
sur un des produits ou de regrouper les années entr'elles. Si ce besoin se fait
pressent il y aurait lieu de créer une nouvelle colonne avec une nouvelle
formule liée à ce nouvel 'environnement'.

Cordialement.
Trirème

Bonjour,

Un TCD me compte le nombre de ligne suivant un champ de ligne. Comment faire
pour qu'il me compte les valeurs distincts.
Exemple
col1 | col2
A|1
A|2
A|1
B|2
C|2
C|2
C|2

Mon TCD actuel donne => alors que je voudrais
A|3 => A|2
B|1 => B|1
C|3 => C|1

Merci



Avatar
Brunos
Bonsoir Trirème,
Je suis admiratif de cette formule. Ca fait en une colonne ce que j'obtiens
en deux.
J'aimerais comprendre la syntaxe. Est-ce que tu peux me conseiller un site
où c'est bien expliqué ?
Merci
Bruno

"Trirème" a écrit dans le message de news:

Bonsoir JT
J'adapte une réponse que j'avais faite ici :
http://groups.google.fr/group/microsoft.public.fr.excel/browse_frm/thread/e45180a4a0cd0d9c/9890969986110bb0?tvc=1&q=compter+distinct+tcd#9890969986110bb0

...Ajoute une colonne en C intitulée par exemple 'NbUnik'
dans laquelle tu écris en C2 : =N(SOMMEPROD((A$2:A2¢)*(B$2:B2²))=1)
et que tu recopies vers le bas.
Dans le TCD il faut mettre 'Col1' en ligne et ce nouveau champ dans la
zone des données.

1. Lorsque le tableau évoluera il faudra simplement prolonger la copie des
formules vers le bas.
2. Les données du tableau peuvent apparaître triées dans n'importe quel
ordre.
3. Une restriction cependant, le TCD doit continuer à présenter de manière
distincte les clients, mois et années. Il n'est pas question de filtrer le
TCD sur un des produits ou de regrouper les années entr'elles. Si ce
besoin se fait pressent il y aurait lieu de créer une nouvelle colonne
avec une nouvelle formule liée à ce nouvel 'environnement'.

Cordialement.
Trirème

Bonjour,

Un TCD me compte le nombre de ligne suivant un champ de ligne. Comment
faire pour qu'il me compte les valeurs distincts.
Exemple
col1 | col2
A|1
A|2
A|1
B|2
C|2
C|2
C|2

Mon TCD actuel donne => alors que je voudrais
A|3 => A|2
B|1 => B|1
C|3 => C|1

Merci





Avatar
JT
Bonjour,

La formule de Trirème est très intéressante. Mais elle ne ne convient pas.
Pour expliquer mon propos, j'avais donné un exemple simplifié, non
représentatif de mes données réelles. En effet, mon TCD ne s'appuie pas sur
des données dans une feuille Excel, mais sur une source de données externes,
qui me renvoie des lignes de commande relatives à un numéro de commande. Pour
une commande donnée, je peux avoir plusieurs lignes de commande, donc des
doublons sur ma colonne commande. Mon souhait serait que dans un unique TCD,
je puisse comptabliser un nombre de commande dans certains cas et un nombre
de ligne de commande dans d'autres cas. J'ai une solution c'est de créer 2
TCD, mais je souhaitais fournir un unique outil pour les utilisateurs.
--
JT



Bonsoir JT
J'adapte une réponse que j'avais faite ici :
http://groups.google.fr/group/microsoft.public.fr.excel/browse_frm/thread/e45180a4a0cd0d9c/9890969986110bb0?tvc=1&q=compter+distinct+tcd#9890969986110bb0

....Ajoute une colonne en C intitulée par exemple 'NbUnik'
dans laquelle tu écris en C2 : =N(SOMMEPROD((A$2:A2¢)*(B$2:B2²))=1)
et que tu recopies vers le bas.
Dans le TCD il faut mettre 'Col1' en ligne et ce nouveau champ dans la zone des
données.

1. Lorsque le tableau évoluera il faudra simplement prolonger la copie des
formules vers le bas.
2. Les données du tableau peuvent apparaître triées dans n'importe quel ordre.
3. Une restriction cependant, le TCD doit continuer à présenter de manière
distincte les clients, mois et années. Il n'est pas question de filtrer le TCD
sur un des produits ou de regrouper les années entr'elles. Si ce besoin se fait
pressent il y aurait lieu de créer une nouvelle colonne avec une nouvelle
formule liée à ce nouvel 'environnement'.

Cordialement.
Trirème

Bonjour,

Un TCD me compte le nombre de ligne suivant un champ de ligne. Comment faire
pour qu'il me compte les valeurs distincts.
Exemple
col1 | col2
A|1
A|2
A|1
B|2
C|2
C|2
C|2

Mon TCD actuel donne => alors que je voudrais
A|3 => A|2
B|1 => B|1
C|3 => C|1

Merci






Avatar
Trirème
JT :
Avec un TCD on ne peut pas faire de dénombrement distinct. On peut y
parvenir avec la solution que je te propose (plus exactement, autant de
colonnes supplémentaires que tu souhaiterais de contextes différents).
L'inconvénient, tu le décris parfaitement, c'est de s'assurer que la "colonne
de travail" est toujours à jour. Ça peut se gérer par une macro
évènementielle. Cependant, avec des données externes je n'ai jamais essayé.

Bruno :
Ta formule n'est pas très différente de la mienne.
(Pour info et pour ceux qui n'accèdent plus à son fichier sur cjoint : En C2
¢&B2 ; en D2 =SI(NB.SI($C$2:C2;C2)>1;0;1) )
Pour en savoir plus sur SOMMEPROD(), va voir ici, l'excellent tutoriel de
Modeste :
http://xlwiki.free.fr/wiki/wakka.php?wiki=RechercheTexte&phrase=sommeprod

Pour finir, dans ma formule, je remplace ton Si(Valeur>1; Alors 0; Sinon 1)
par N(Valeur=1) avec (Valeur le résultat de la SOMMEPROD()). Lorsque Valeur
prend la valeur 1, le test est VRAI, et chacun sait que N(VRAI) donne 1. Par
contre, si Valeur<>1 le test est FAUX et alors N(FAUX) donne 0.

Cordialement,
Trirème


Bonjour,

La formule de Trirème est très intéressante. Mais elle ne ne convient pas.
Pour expliquer mon propos, j'avais donné un exemple simplifié, non
représentatif de mes données réelles. En effet, mon TCD ne s'appuie pas sur
des données dans une feuille Excel, mais sur une source de données externes,
qui me renvoie des lignes de commande relatives à un numéro de commande. Pour
une commande donnée, je peux avoir plusieurs lignes de commande, donc des
doublons sur ma colonne commande. Mon souhait serait que dans un unique TCD,
je puisse comptabliser un nombre de commande dans certains cas et un nombre
de ligne de commande dans d'autres cas. J'ai une solution c'est de créer 2
TCD, mais je souhaitais fournir un unique outil pour les utilisateurs.
--
JT



Bonsoir JT
J'adapte une réponse que j'avais faite ici :
http://groups.google.fr/group/microsoft.public.fr.excel/browse_frm/thread/e45180a4a0cd0d9c/9890969986110bb0?tvc=1&q=compter+distinct+tcd#9890969986110bb0

....Ajoute une colonne en C intitulée par exemple 'NbUnik'
dans laquelle tu écris en C2 : =N(SOMMEPROD((A$2:A2¢)*(B$2:B2²))=1)
et que tu recopies vers le bas.
Dans le TCD il faut mettre 'Col1' en ligne et ce nouveau champ dans la zone des
données.

1. Lorsque le tableau évoluera il faudra simplement prolonger la copie des
formules vers le bas.
2. Les données du tableau peuvent apparaître triées dans n'importe quel ordre.
3. Une restriction cependant, le TCD doit continuer à présenter de manière
distincte les clients, mois et années. Il n'est pas question de filtrer le TCD
sur un des produits ou de regrouper les années entr'elles. Si ce besoin se fait
pressent il y aurait lieu de créer une nouvelle colonne avec une nouvelle
formule liée à ce nouvel 'environnement'.

Cordialement.
Trirème

Bonjour,

Un TCD me compte le nombre de ligne suivant un champ de ligne. Comment faire
pour qu'il me compte les valeurs distincts.
Exemple
col1 | col2
A|1
A|2
A|1
B|2
C|2
C|2
C|2

Mon TCD actuel donne => alors que je voudrais
A|3 => A|2
B|1 => B|1
C|3 => C|1

Merci








Avatar
JT
Dommage qu'une telle fonction ait été oubliée même dans Office 2007.
Dénombrer un nombre de valeur distinct a toute son importance dans les
regroupements proposés par un TCD.

Merci Trirème
--
JT



JT :
Avec un TCD on ne peut pas faire de dénombrement distinct. On peut y
parvenir avec la solution que je te propose (plus exactement, autant de
colonnes supplémentaires que tu souhaiterais de contextes différents).
L'inconvénient, tu le décris parfaitement, c'est de s'assurer que la "colonne
de travail" est toujours à jour. Ça peut se gérer par une macro
évènementielle. Cependant, avec des données externes je n'ai jamais essayé.

Bruno :
Ta formule n'est pas très différente de la mienne.
(Pour info et pour ceux qui n'accèdent plus à son fichier sur cjoint : En C2
¢&B2 ; en D2 =SI(NB.SI($C$2:C2;C2)>1;0;1) )
Pour en savoir plus sur SOMMEPROD(), va voir ici, l'excellent tutoriel de
Modeste :
http://xlwiki.free.fr/wiki/wakka.php?wiki=RechercheTexte&phrase=sommeprod

Pour finir, dans ma formule, je remplace ton Si(Valeur>1; Alors 0; Sinon 1)
par N(Valeur=1) avec (Valeur le résultat de la SOMMEPROD()). Lorsque Valeur
prend la valeur 1, le test est VRAI, et chacun sait que N(VRAI) donne 1. Par
contre, si Valeur<>1 le test est FAUX et alors N(FAUX) donne 0.

Cordialement,
Trirème


Bonjour,

La formule de Trirème est très intéressante. Mais elle ne ne convient pas.
Pour expliquer mon propos, j'avais donné un exemple simplifié, non
représentatif de mes données réelles. En effet, mon TCD ne s'appuie pas sur
des données dans une feuille Excel, mais sur une source de données externes,
qui me renvoie des lignes de commande relatives à un numéro de commande. Pour
une commande donnée, je peux avoir plusieurs lignes de commande, donc des
doublons sur ma colonne commande. Mon souhait serait que dans un unique TCD,
je puisse comptabliser un nombre de commande dans certains cas et un nombre
de ligne de commande dans d'autres cas. J'ai une solution c'est de créer 2
TCD, mais je souhaitais fournir un unique outil pour les utilisateurs.
--
JT



Bonsoir JT
J'adapte une réponse que j'avais faite ici :
http://groups.google.fr/group/microsoft.public.fr.excel/browse_frm/thread/e45180a4a0cd0d9c/9890969986110bb0?tvc=1&q=compter+distinct+tcd#9890969986110bb0

....Ajoute une colonne en C intitulée par exemple 'NbUnik'
dans laquelle tu écris en C2 : =N(SOMMEPROD((A$2:A2¢)*(B$2:B2²))=1)
et que tu recopies vers le bas.
Dans le TCD il faut mettre 'Col1' en ligne et ce nouveau champ dans la zone des
données.

1. Lorsque le tableau évoluera il faudra simplement prolonger la copie des
formules vers le bas.
2. Les données du tableau peuvent apparaître triées dans n'importe quel ordre.
3. Une restriction cependant, le TCD doit continuer à présenter de manière
distincte les clients, mois et années. Il n'est pas question de filtrer le TCD
sur un des produits ou de regrouper les années entr'elles. Si ce besoin se fait
pressent il y aurait lieu de créer une nouvelle colonne avec une nouvelle
formule liée à ce nouvel 'environnement'.

Cordialement.
Trirème

Bonjour,

Un TCD me compte le nombre de ligne suivant un champ de ligne. Comment faire
pour qu'il me compte les valeurs distincts.
Exemple
col1 | col2
A|1
A|2
A|1
B|2
C|2
C|2
C|2

Mon TCD actuel donne => alors que je voudrais
A|3 => A|2
B|1 => B|1
C|3 => C|1

Merci










Avatar
Brunos
Merci. Le tuto est super. J'ai compris le principe, reste à m'entrainer pour
l'assimiler.
Brunos

"Trirème" a écrit dans le message de news:

JT :
Avec un TCD on ne peut pas faire de dénombrement distinct. On peut y
parvenir avec la solution que je te propose (plus exactement, autant de
colonnes supplémentaires que tu souhaiterais de contextes différents).
L'inconvénient, tu le décris parfaitement, c'est de s'assurer que la
"colonne
de travail" est toujours à jour. Ça peut se gérer par une macro
évènementielle. Cependant, avec des données externes je n'ai jamais
essayé.

Bruno :
Ta formule n'est pas très différente de la mienne.
(Pour info et pour ceux qui n'accèdent plus à son fichier sur cjoint : En
C2
¢&B2 ; en D2 =SI(NB.SI($C$2:C2;C2)>1;0;1) )
Pour en savoir plus sur SOMMEPROD(), va voir ici, l'excellent tutoriel de
Modeste :
http://xlwiki.free.fr/wiki/wakka.php?wiki=RechercheTexte&phrase=sommeprod

Pour finir, dans ma formule, je remplace ton Si(Valeur>1; Alors 0; Sinon
1)
par N(Valeur=1) avec (Valeur le résultat de la SOMMEPROD()). Lorsque
Valeur
prend la valeur 1, le test est VRAI, et chacun sait que N(VRAI) donne 1.
Par
contre, si Valeur<>1 le test est FAUX et alors N(FAUX) donne 0.

Cordialement,
Trirème


Bonjour,

La formule de Trirème est très intéressante. Mais elle ne ne convient
pas.
Pour expliquer mon propos, j'avais donné un exemple simplifié, non
représentatif de mes données réelles. En effet, mon TCD ne s'appuie pas
sur
des données dans une feuille Excel, mais sur une source de données
externes,
qui me renvoie des lignes de commande relatives à un numéro de commande.
Pour
une commande donnée, je peux avoir plusieurs lignes de commande, donc des
doublons sur ma colonne commande. Mon souhait serait que dans un unique
TCD,
je puisse comptabliser un nombre de commande dans certains cas et un
nombre
de ligne de commande dans d'autres cas. J'ai une solution c'est de créer
2
TCD, mais je souhaitais fournir un unique outil pour les utilisateurs.
--
JT



Bonsoir JT
J'adapte une réponse que j'avais faite ici :
http://groups.google.fr/group/microsoft.public.fr.excel/browse_frm/thread/e45180a4a0cd0d9c/9890969986110bb0?tvc=1&q=compter+distinct+tcd#9890969986110bb0

....Ajoute une colonne en C intitulée par exemple 'NbUnik'
dans laquelle tu écris en C2 : =N(SOMMEPROD((A$2:A2¢)*(B$2:B2²))=1)
et que tu recopies vers le bas.
Dans le TCD il faut mettre 'Col1' en ligne et ce nouveau champ dans la
zone des
données.

1. Lorsque le tableau évoluera il faudra simplement prolonger la copie
des
formules vers le bas.
2. Les données du tableau peuvent apparaître triées dans n'importe quel
ordre.
3. Une restriction cependant, le TCD doit continuer à présenter de
manière
distincte les clients, mois et années. Il n'est pas question de filtrer
le TCD
sur un des produits ou de regrouper les années entr'elles. Si ce besoin
se fait
pressent il y aurait lieu de créer une nouvelle colonne avec une
nouvelle
formule liée à ce nouvel 'environnement'.

Cordialement.
Trirème

Bonjour,

Un TCD me compte le nombre de ligne suivant un champ de ligne.
Comment faire
pour qu'il me compte les valeurs distincts.
Exemple
col1 | col2
A|1
A|2
A|1
B|2
C|2
C|2
C|2

Mon TCD actuel donne => alors que je voudrais
A|3 => A|2
B|1 => B|1
C|3 => C|1

Merci