Requête Google SpreadSheet: Puis-je supprimer l'en-tête de colonne?

Réponses:

190

Essaye ça:

=QUERY(H4:L35,"select sum(L) where H='First Week' label sum(L) ''")

J'espère que cela pourra aider!

KRR
la source
3
Je viens de tester cela dans l'une de mes feuilles et cela supprime l'en-tête des résultats renvoyés; cela doit être marqué comme la bonne réponse. :)
FooBar
1
C'est génial et cela fonctionne, mais quelqu'un pourrait-il expliquer pourquoi les deux guillemets simples sont nécessaires à la fin? Qu'est-ce que cela fait du point de vue de la syntaxe?
y-i_guy
2
Le guillemet simple remplace l'en-tête de somme par un espace vide. J'espère que cela explique votre question !!
KRR
2
Merci d'avoir répondu! Je dois faire la même chose avec plus d'une colonne mais je ne peux pas y parvenir! Je m'attendais à ce que cela fonctionne: = QUERY (H4: L35, "select sum (L), sum (H) where H = 'First Week' label sum (L) '' label sum (H) ''")
Emilio Nicolás
11
LABEL B 'Label1', C 'Label2'pour plusieurs colonnes
sojim2
30

=QUERY(QUERY(A1:D, "SELECT *", 1), "SELECT * OFFSET 1", 0)

La requête externe: "SELECT * OFFSET 1" exclut la première ligne (l'en-tête).

La requête interne spécifie explicitement une ligne d'en-têtes (via le troisième argument fourni à QUERY), tandis que la requête externe n'en spécifie aucun.

user280150
la source
3
Un peu d'explication?
J Fabian Meier
Pourquoi le deuxième est-il QUERYnécessaire? Le paramètre "0" ne supprime-t-il pas les en-têtes, vous pouvez donc l'utiliser sur le premier QUERY, comme ceci: QUERY('Form responses 3'!$A$2:$P$1017, "SELECT max(E),max(C), max(D) WHERE B='" & B14 & "' GROUP BY B LIMIT 1 ", 0)
Steven M. Mortimer
3
Je crois que OFFSET 1la deuxième requête supprimera la toute première ligne de l'ensemble de données retourné, pas les en-têtes de la première ligne.
Steven M. Mortimer
2
Cette réponse peut être plus détaillée, mais elle est également plus robuste et peut être utilisée sans avoir à dupliquer les chaînes d'agrégation de colonnes. Il peut même être utilisé avec pivot, ce qui ne fonctionne avec aucune autre réponse ici.
7yl4r
1
Sauf erreur de ma part, cela ne résout pas réellement le défi spécifique proposé par l'affiche d'origine, à savoir la suppression des en-têtes qui sont automatiquement générés par QUERY lors de l'utilisation de fonctions d'agrégation telles que SUM. Lorsque vous utilisez SUM (ou toute autre fonction d'agrégation), QUERY crée automatiquement une ligne d'en-tête spécifiant l'agrégation effectuée, par exemple "somme". Il le fera même si vous définissez les en-têtes sur 0 et même si vous appliquez la clause OFFSET 1. La formule suivante renvoie toujours des en-têtes. = QUERY (Sheet1! A: B, "SELECT A, SUM (B) GROUP BY A OFFSET 1", 0) La réponse acceptée résout ce défi.
Dave Meindl
0

J'ai une QUERY qui renvoie le top 3. Je n'ai pas pu le faire fonctionner lors du renvoi de plusieurs lignes. J'ai fini par cacher la ligne avec la formule et seules les réponses s'affichent maintenant.

Brian Wochele
la source
0
=INDEX(QUERY(H4:L35;"select sum(L) where H='First Week'"; -1),2,1)

Cela analyse simplement le tableau retourné et sélectionne le 2ème enregistrement retourné dans la première colonne.

Vous pouvez également le faire avec la fonction de filtrage qui est moins gourmande en calcul.

=SUM(FILTER(L4:L35, H4:H35 = "First Week"))
Dean Falconer
la source
-3

Voir le format ici .

Exemple:

=QUERY(B4:C38,
   "SELECT C, sum(B) where C!='' group by C label C 'Member', sum(B) 'Sum'"
)
Andy
la source
2
L'exemple fourni ne renvoie pas de résultat sans en-têtes.
Rubén