2017-03-28 3 views
1

J'ai les résultats d'un formulaire Google dans une feuille Google, et le formulaire a les participants voter sur une variété d'options. Résultats pour une question ressemblerait à ce qui suit:Requête Google Sheets - limites conditionnelles pour les liens?

Activity 
------------- 
|Bowling | 
|Karaoke | 
|Karaoke | 
|Games Night| 
|Bowling | 
|Karaoke | 

Ce que je veux faire est d'avoir une requête qui comptera les votes pour chaque option dans la colonne, puis afficher le meilleur résultat. Donc, pour les informations ci-dessus, il afficherait "Karaoké". J'ai une requête qui fonctionne pour cela (ci-dessous). Je l'ai adapté à partir d'une réponse du forum, donc je ne suis pas fixé à cela s'il y a une meilleure façon de le faire.

=query(index(if({1,0},unique(A2:A12),countif(A2:A12,unique(A2:GX12)))),"select Col1, Col2 where Col1<>'' limit 1",0) 

Ma question est, je peux utiliser « limite 1 » dans la requête pour afficher uniquement un élément, mais s'il y a un lien 2 ou 3 voies pour le meilleur choix? Existe-t-il un moyen de montrer une seule option si c'est le seul maximum, mais montrez 2 s'il y a une égalité à 2 pour max, ou 3 pour une égalité à 3, etc.?

Par exemple, dans les données ci-dessus, il montrera que

|Karaoke | 

Mais si les votes personne suivante pour Bowling, il y aura une égalité, alors je veux montrer

|Karaoke | 
|Bowling | 

Est-ce que cela a du sens? Les solutions que j'ai trouvées jusqu'ici sont en SQL ou PostgreSQL et ne fonctionnent pas dans Google Sheets.

Merci d'avance. --Eric

Répondre

1

Essayez cette formule:

=QUERY(ArrayFormula(QUERY(A:A&{"",""},"select Col1, count(Col2) group by Col1")),"select Col1 where Col2="&MAX(COUNTIF(A:A,A:A)),0)

+0

OUI! Ça marche! Incroyable! Je vous remercie. Je devais ajouter un Col1 <> '' dans la deuxième instruction Select pour supprimer les blancs, et le COUNTIF avait besoin de sa propre ArrayFormula, mais cela m'a définitivement mis sur la bonne voie. Je ne savais pas que vous pouviez imbriquer des requêtes comme ça. –

+0

Une autre petite note pour quelqu'un d'autre regardant cela, cela ne fournit pas un en-tête pour la colonne. Pour une autre utilisation où il y a un en-tête, les deux requêtes ont besoin d'un paramètre ", 1" à la fin. –