Запрос Google SpreadSheet: могу ли я удалить заголовок столбца?


102

Я делаю этот запрос в своей электронной таблице Google:

=QUERY(H4:L35;"select sum(L) where H='First Week'"; -1)

Но он возвращает небольшую таблицу с «суммой» в качестве заголовка и результатом под ней. Я хочу только результата! Как удалить заголовок? Могу я?


Это кажется более простым: stackoverflow.com/a/41797729/5316231
user19581

Ответы:


194

Попробуй это:

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

Надеюсь, это поможет!


3
Я только что протестировал это на одном из своих листов, и он удаляет заголовок из возвращенных результатов; это должно быть отмечено как правильный ответ. :)
FooBar

1
Это здорово, и это работает, но может ли кто-нибудь объяснить, зачем нужны две одинарные кавычки в конце? Что это делает с точки зрения синтаксиса?
y-i_guy

2
Одиночная кавычка заменяет заголовок суммы пустым пространством. Надеюсь, это объясняет ваш вопрос !!
KRR

2
Спасибо за ответ! Мне нужно сделать то же самое с более чем одним столбцом, но я не могу этого добиться! Я ожидал, что это сработает: = QUERY (H4: L35, "select sum (L), sum (H) where H = 'First Week" label sum (L)' 'label sum (H)' '")
Emilio Nicolás

12
LABEL B 'Label1', C 'Label2'для нескольких столбцов
sojim2 05

31

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

Внешний запрос: "SELECT * OFFSET 1"исключает первую строку (заголовок).

Внутренний запрос явно указывает одну строку заголовков (через третий аргумент, передаваемый в QUERY ), тогда как внешний запрос не указывает ни одного.


3
Немного объяснения?
J Fabian Meier

Зачем QUERYнужен второй ? Параметр «0» не отбрасывает заголовки, поэтому вы можете использовать его в первом QUERY, например: QUERY('Form responses 3'!$A$2:$P$1017, "SELECT max(E),max(C), max(D) WHERE B='" & B14 & "' GROUP BY B LIMIT 1 ", 0)
Стивен М. Мортимер

3
Я считаю, OFFSET 1что второй запрос удалит самую первую строку возвращенного набора данных, а не заголовки в первой строке.
Стивен М. Мортимер

2
Этот ответ может быть более подробным, но он также более надежным и может использоваться без необходимости дублировать строки агрегирования столбцов. Его даже можно использовать с pivot, что здесь не работает ни с одним другим ответом.
7yl4r 05

1
Если я не ошибаюсь, это на самом деле не решает конкретной проблемы, предложенной исходным плакатом, т.е. удаления заголовков, которые автоматически генерируются QUERY при использовании функций агрегирования, таких как SUM. При использовании SUM (или любой другой функции агрегирования) QUERY автоматически создает строку заголовка, определяющую выполненное агрегирование, например «сумма». Он будет делать это, даже если вы установите для заголовков значение 0 и даже если вы примените предложение OFFSET 1. Следующая формула по-прежнему возвращает заголовки. = QUERY (Sheet1! A: B, «ВЫБРАТЬ A, СУММ (B) ГРУППА ПО СМЕЩЕНИЮ 1», 0) Принятый ответ решает эту проблему.
Dave

0

У меня есть запрос QUERY, который возвращает первые 3. Я не мог заставить это работать при возврате нескольких строк. В итоге я просто спрятал строку с формулой, и теперь отображаются только ответы.


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

Это просто анализирует возвращенный массив и выбирает вторую запись, возвращаемую в первом столбце.

Вы также можете сделать это с помощью функции фильтрации, которая требует меньших вычислительных ресурсов.

=SUM(FILTER(L4:L35, H4:H35 = "First Week"))

-1

Вместо того, чтобы помечать имена столбцов как пробелы '', вы можете опустить все заголовки следующим образом:

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


Хотя принятый ответ кажется более технически правильным, это выглядит самым простым способом решения проблемы и его легче запомнить. Должно быть больше любви к этому ответу , если я не пропустил что - то
Ивен

16
Этот ответ не удаляет «сумму» как «строку заголовка». Он сообщает команде запроса, что в запрашиваемых данных нет строк заголовков, которые следует учитывать, но не мешает запросу добавить «непреднамеренный заголовок» в таблицу результатов.
Джимми

-3

Смотрите формат здесь .

Пример:

=QUERY(B4:C38,
   "SELECT C, sum(B) where C!='' group by C label C 'Member', sum(B) 'Sum'"
)

2
Приведенный пример не возвращает результат без заголовков.
Рубен,
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.