Bug Query Gsheet qui élimine aléatoirement des résultats

Hello à tous,

J'ai créé une query pour grouper des ventes sur plusieurs mois par catégorie. J'utilise en argument de ma query group by et sum(D)+sum(E)+sum(F) etc... (dynamique via un INDIRECT, en fonction du choix de la période de reporting dans le modèle)

Le problème c'est que certaines valeurs sont omises par la query, et réapparaissent en retirant une colonne...je n'arrive pas à trouver d'où vient le bug.

Merci d'avance pour vos lumières!

Bonjour,

C'est-à-dire, que query au lieu d'afficher qu'une valeur il va en afficher 2 cote à cote c'est cela ?

Bonjour Pierre, non, il zap des valeurs quand je lui demande sum(D)+sum(E)+sum(F)+sum(G) mais si je demande juste Sum(D) la valeur va y etre...

Sur la query cible, avec la somme des 4 colonne, ça donne la colonne de gauche, et pour une raison que j'ignore il ne prend pas les valeurs des 3 dernières catégories..peut etre une limitation du nombre de cellules traitées? Je n'en sais rien...

image

C'est possible de partager une version accessible du fichier ? Sinon une copie avec des données bidons.

Bien sur, voici un lien public (aucune info nominative donc pas trop de pb). Il faut regarder la query de l'onglet dashboard, A71

https://docs.google.com/spreadsheets/d/1-LStYrJE_ddQqJhuutsayv2JmFj0rg-XM5AGFgkpZgQ/edit?usp=sharing

Alors, si on reprends le fonctionne de ta formule :

=query(Revenue!$A:$AA;"Select Col2,sum(Col4)+sum(Col5)+sum(Col6)+sum(Col7)+sum(Col8)+sum(Col9) WHERE Col2 is not null group by Col2 order by (sum(Col4)+sum(Col5)+sum(Col6)+sum(Col7)+sum(Col8)+sum(Col9)) DESC")

Tu affiche la colonne 2 (canal distribution) puis, la somme des colonnes 4 à 9, lorsqu'il y a une donnée en colonne 2, tu regroupe par colonne 2 et tu tri par résultat décroissant.

Sauf que ta sur ta feuille de données, il est illogique d’additionner les colonne puisque les montants sont en ligne.

En dessous je t'ai fais un exemple en utilisant UNIQUE, puis, FILTER ET SOMME, voici le résultat :

image

Merci Pierre, mais l'intérêt pour moi est de rendre les colonnes que je sélectionne glissantes, et en meme temps, obtenir la plage filtrée par CA sur la période sélectionnée décroissante. Or là, la solution implique de le faire en 3 blocs : en-têtes, données, puis plage totale filtrées?

P.S. Il n'y a jamais de cellule vide en colonne 2, donc je ne vois pas pourquoi ça créerait un pb? :)

Les colonnes sont dynamiques, si tu ajoutes des données dans la plage C4:AA elles seront prises en compte.
Par contre, en effet pour avoir un tableau avec CA décroissant, voici je ne vois que passer par une étape supplémentaire de =SORT :

image

et du coup, tu comprends ce qui, dans ma query, ne fonctionne pas?

Je pense que c'est de faire des sommes de sommes de colonnes, alors que tu souhaites des sommes de lignes.

Une solution simple sinon, dans l'onglet "Revenue" en colonne C ajoute insère une colonne "Total" et là fait une somme de la ligne.

Ensuite un plus simple query fera l'affaire : =QUERY('Copie de Revenue'!A4:C;"select B,sum(C) where B is not null group by B order by sum(C) DESC label sum(C) ''")

screenshot 2024 04 05 15 10 59

Je t'ai dupliqué l'onglet "Copie de Revenue" afin d'ajoute une colonne total et faire cette formule, je te laisse jeter un coup d'oeil.

Effectivement passer par un pivot est sans doute prudent...je ne connaissais pas sequence et MMULT, trop bien!
Sinon, je pense avec ton explication, à un truc qui est peut etre compliqué mais qui pourrait marcher avec des transpose? (le but étant de transformer le moins possible l'onglet source, pour qu'un débutant puisse faire la maj :)

En effet, peut être qu'avec une combinaisons alambiqué de transpose, index, equiv, flatten il est possible d'atteindre cet objectif, si une personne saurait quoi faire c'est @Filoche

Une alternative serait un script sinon.

Rechercher des sujets similaires à "bug query gsheet qui elimine aleatoirement resultats"