2013-01-17 3 views
42

j'ai une feuille de calcul Google avec une colonne qui ressemble à ceci:comptage des valeurs distinctes dans une feuille de calcul

City 
---- 
London 
Paris 
London 
Berlin 
Rome 
Paris 

Je veux compter les apparitions de chaque ville distincte (donc je besoin du nom de la ville et le nombre de comparutions).

City | Count 
-------+------ 
London | 2 
Paris | 2 
Berlin | 1 
Rome | 1 

Comment faire cela?

Merci

+0

supprimé ma réponse en raison de je n'étais pas en mesure de créer un exemple de travail. Je recommande d'avoir une combinaison avec 'IF()' et 'COUNTIF()' – sascha

Répondre

59

Link to Working Examples

Solution 0

Cela peut être accompished à l'aide des tableaux croisés dynamiques.

Pivot table Example - Count rows by value

Solution 1

Utilisez la formule unique pour obtenir toutes les valeurs distinctes. Ensuite, utilisez countif pour obtenir le nombre de chaque valeur. Voir le lien de l'exemple de travail en haut pour voir exactement comment cela est implémenté.

Unique Values  Count 
=UNIQUE(A3:A8)  =COUNTIF(A3:A8,B3) 
        =COUNTIF(A3:A8,B4) 
        ... 

Solution 2

Si vous configurez vos données en tant que tel:

City  
----  
London 1 
Paris 1 
London 1 
Berlin 1 
Rome  1 
Paris 1 

Puis la suivante produira le résultat souhaité.

=sort(transpose(query(A3:B8,"Select sum(B) pivot (A)")),2,FALSE) 

Je suis sûr qu'il ya un moyen de se débarrasser de la deuxième colonne puisque toutes les valeurs seront 1. une solution idéale à mon avis.

via http://googledocsforlife.blogspot.com/2011/12/counting-unique-values-of-data-set.html

Autres Peut-être Liens utiles

+0

Cela a fonctionné. Merci. C'est drôle que j'ai déjà appliqué la deuxième solution avec un autre ensemble, mais je n'y ai pas pensé. –

+0

pour la solution 2: vous pouvez laisser la colonne B vide, puis utiliser "count" au lieu de "sum": = sort (transposer (requête (A3: B8, "Sélectionner le compte (B) pivot (A)")), 2, FALSE) – wivku

+0

... mais comment créer un tableau croisé dynamique? alors que cette réponse semble grande et détaillée, la réponse plus directe de dnlbrky est celle qui m'a sauvé. ici, je n'ai même pas remarqué le plus simple des solutions alternatives 1 et 2 données. Dommage :( – Balmipour

11

=iferror(counta(unique(A1:A100))) comptages nombre de cellules uniques de A1 à A100

+0

pouvez-vous expliquer la fonction de iferror() dans ce cas? counta (unique (A1: A100)) – Stew

+3

OP ne demandait pas le comptage de valeurs uniques mais si vous le voulez, vous pouvez le simplifier en utilisant = COUNTUNIQUE (A: A) – wivku

0

Ceci est similaire à la solution 1 de @JSuar ...

Supposons que vos données de ville d'origine correspondent à une plage nommée dataCity.Dans une nouvelle feuille, entrez:

A     | B 
    ---------------------------------------------------------- 
1 | =UNIQUE(dataCity) | Count 
2 |     | =DCOUNTA(dataCity,"City",{"City";$A2}) 
3 |     | [copy down the formula above] 
4 |     | ... 
5 |     | ... 
1

Pas exactement ce que l'utilisateur a demandé, mais un moyen facile de compter juste des valeurs uniques:

Google a introduit un new function pour compter des valeurs uniques en un étape, et vous pouvez l'utiliser comme une entrée pour d'autres formules:

=COUNTUNIQUE(A1:B10)

+1

Cela retournera juste 1 chiffre. nombre de valeurs uniques Cependant, l'OP vous a demandé comment compter chaque valeur unique –

+2

@JoshuaDance Vous avez raison, mais le message de l'op est appelé "compter des valeurs distinctes dans un tableur" .Ceci ressemble à une réponse légitime à cette question. e question à moi. Il suffit de noter qu'il ne compte pas "vide" comme une valeur – Balmipour

+1

@JoshuaDance merci de le signaler –

2

vous pouvez utiliser la fonction query, donc si vos données sont en co l A où la première ligne était le titre de la colonne ...

=query(A2:A,"select A, count(A) where A != '' group by A order by count(A) desc label A 'City'", 0) 

donne

City count 
London 2 
Paris 2 
Berlin 1 
Rome 1 

Lien vers Google travail Fiche.

https://docs.google.com/spreadsheets/d/1N5xw8-YP2GEPYOaRkX8iRA6DoeRXI86OkfuYxwXUCbc/edit#gid=0

+0

Cette technique a bien fonctionné et était plus facile à appliquer dans mon cas particulier. Cependant, curieusement, la requête semblait rompre (c'est-à-dire qu'elle ne produirait rien) s'il y avait plus d'une valeur numérique distincte dans la colonne comptée. Cela a fonctionné quand j'ai converti les valeurs numériques en leurs équivalents de chaîne cependant. –

+0

@MattV. J'ai essayé d'ajouter des valeurs numériques distinctes dans la colonne en cours de comptage et la requête a bien fonctionné. https://docs.google.com/spreadsheets/d/1N5xw8-YP2GEPYOaRkX8iRA6DoeRXI86OkfuYxwXUCbc/edit#gid=0&range=A1:D10 –

Questions connexes