J'ai un tableau avec des états / régions du Royaume-Uni. Certaines régions apparaissent plus d'une fois dans cette liste, j'ai donc effectué un COUNTIF pour déterminer le nombre de fois où chacune d'elles se produit.
Je dois maintenant exécuter un QUERY code > pour lister les 5 premières régions.
En général, la plupart des occurrences concernent la région de Londres.
Le problème est que dans les régions, il y a 2 États qui font référence à la région du Grand Londres - Londres et le Grand Londres.
Ces deux, je dois fusionner et additionner leurs valeurs. Il ne doit y avoir qu'une seule région - le Grand Londres, et sa valeur doit contenir la somme de Londres et du Grand Londres.
Voici l'ensemble de données que j'ai:
+----------------+-----------------------+ | State/Province | Number of occurrences | +----------------+-----------------------+ | Greater London | 9 | +----------------+-----------------------+ | Cheshire | 6 | +----------------+-----------------------+ | West Lothian | 3 | +----------------+-----------------------+ | Kent | 2 | +----------------+-----------------------+ | Hampshire | 1 | +----------------+-----------------------+
3 Réponses :
=QUERY(QUERY(ARRAYFORMULA(
{SUBSTITUTE(IF(A1:A="London","â¥",A1:A),"â¥","Greater London"),B1:B}),
"select Col1, sum(Col2)
where Col1 is not null
group by Col1"),
"select Col1, max(Col2)
group by Col1
order by max(Col2) desc
limit 5
label max(Col2)'Number of occurrences'",1)
=QUERY(ARRAYFORMULA(SUBSTITUTE( IF((A1:A="London")+(A1:A="London2")+(A1:A="London3"), "â¥",A1:A),"â¥","Greater London")), "select Col1, count(Col1) where Col1 is not null and not Col1 = '#N/A' group by Col1 order by count(Col1) desc limit 5 label count(Col1) 'Number of occurrences'", 1)
@ playr0 Excellent travail! Fait le travail correctement. Je voudrais demander, comment puis-je implémenter une autre colonne comme condition s? Ce que je pense, c'est de limiter le COUNT aux enregistrements qui ont 1 dans la colonne supplémentaire? ...
Quelque chose de tel, mais avec le ARRAYFORMULA (SUBSTITUTE (IF ( part implicite pour les deux requêtes dans ce qui suit: = {Query ({Report_dataRange}, "Sélectionnez Col24, Count (Col24) où Col27) = 1 group by Col24 order by Count (Col24) desc limit 5 label count (Col24) '' ", 0), QUERY ({Report_dataRange}," Sélectionnez Count (Col24) group by Col24 order by Count (Col24) desc limit 5 nombre d'étiquettes (Col24) '' ", 0)}
=QUERY(ARRAYFORMULA(SUBSTITUTE(
IF((QUERY(A1:B,"where B=1")="London")+
(QUERY(A1:B,"where B=1")="London2")+
(QUERY(A1:B,"where B=1")="London3"),
"â¥",QUERY(A1:B,"where B=1")),"â¥","Greater London")),
"select Col1, count(Col1)
where Col1 is not NULL and not Col1 = '#N/A'
group by Col1
order by count(Col1) desc
limit 5
label count(Col1) 'Number of occurrences'", 1)