139 votes

Simple Tableau croisé dynamique à Compter de Valeurs Uniques

Cela semble être un simple Tableau croisé dynamique pour apprendre. Je voudrais faire un nombre de valeurs uniques pour une valeur particulière, je suis le regroupement.

Par exemple, j'ai ceci:

ABC   123
ABC   123
ABC   123
DEF   456
DEF   567
DEF   456
DEF   456

Ce que je veux, c'est un tableau croisé dynamique qui m'indique ceci:

ABC   1
DEF   2

Le simple tableau croisé dynamique que j'ai créer juste me donne ceci (un décompte du nombre de lignes):

ABC   3
DEF   4  

Mais je veux que le nombre de valeurs uniques à la place.

Ce que j'essaye vraiment de le faire est de trouver les valeurs dans la première colonne n'ont pas la même valeur dans la deuxième colonne pour toutes les lignes. En d'autres termes, "ABC" est "bon", "DEF" est "mauvais"

Je suis sûr qu'il ya un moyen plus facile de le faire, mais pensé que je donnerais un tableau croisé dynamique d'essayer...

252voto

Mise à JOUR: Vous pouvez maintenant le faire automatiquement avec Excel 2013. J'ai créé une nouvelle réponse parce que ma réponse précédente résout un problème un peu différent.

Si vous avez cette version, puis sélectionnez vos données pour créer un tableau croisé dynamique, et lorsque vous créez votre table, assurez-vous que l'option "Ajouter ces données dans le Modèle de Données' une case à cocher est de vérifier (voir ci-dessous).

Tick the box next to 'Add this data to the Data Model'

Puis, lorsque votre tableau croisé dynamique s'ouvre, créer des lignes, des colonnes et des valeurs normalement. Puis cliquez sur le champ que vous voulez calculer le nombre distinct de et de modifier la Valeur du Champ Paramètres: Edit field value settings

Enfin, faites défiler jusqu'à la dernière option et choisissez " compte Distinct.' Choose the option 'Distinct Count'

Cela devrait mettre à jour votre tableau croisé dynamique les valeurs à afficher les données que vous recherchez.

110voto

Siddharth Rout Points 63935

Insérer une 3ème colonne et dans la Cellule C2 coller cette formule

=IF(SUMPRODUCT(($A$2:$A2=A2)*($B$2:$B2=B2))>1,0,1)

et copier vers le bas. Maintenant, créez votre pivot, basé sur les 1er et 3e colonne. Voir instantané

enter image description here

10voto

Je voudrais jeter une option supplémentaire dans le mélange qui ne nécessite pas une formule mais pourrait être utile si vous avez besoin de compter des valeurs uniques dans les, dans deux colonnes différentes. À l'aide de l'exemple d'origine, je n'avais pas:

ABC 123

et vous voulez qu'il apparaisse comme:


Mais quelque chose comme:

ABC 123

et je voulais qu'il apparaisse comme:


J'ai trouvé le meilleur moyen de récupérer mes données dans ce format et ensuite être capable de les manipuler en outre d'utiliser les éléments suivants:

enter image description here

Une fois que vous sélectionnez 'total en cours d'Exécution dans" puis choisissez l'en-tête du secondaire ensemble de données (dans ce cas, il serait l'en-tête ou le titre de la colonne de l'ensemble de données comprend 123, 456 et 567). Cela vous donnera un maximum de valeur avec le nombre total d'éléments contenus dans cet ensemble, au sein de votre ensemble de données primaires.

J'ai ensuite copié ces données, collés comme des valeurs, puis le mettre dans un autre tableau croisé dynamique pour les manipuler plus facilement.

Pour info, j'ai eu environ un quart de millions de lignes de données, de sorte que cela a fonctionné beaucoup mieux que certains de la formule approches, en particulier ceux qui essaient de faire des comparaisons entre deux colonnes/ensembles de données, car il gardé de plantage de l'application.

7voto

Greg Points 86

La possibilité de faire un "comptage" est une partie de Excel 2013, mais n'est pas activé automatiquement.

Donc, si vous exécutez un fichier EXCEL 2013 copie, voici une excellente manière de résoudre ce sans les tracas de passer par une fonction: http://datapigtechnologies.com/blog/index.php/distinct-count-in-pivot-tables-finally-in-excel-2013/

4voto

brettdj Points 26353

Voir Debra Dalgleish de Compter des Objets Uniques

enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X