Как получить текст из ячейки с помощью оператора select функции запроса в Google Sheets? - PullRequest
1 голос
/ 03 апреля 2020

Я пытаюсь получить некоторые данные с вкладки A на вкладку B, используя функцию запроса. Это все работает нормально, пока я не включу некоторые данные вкладки B в объект в функции запроса.

Дело в том, что я хочу создать оценочный лист, который вычисляет точки конструктора на основе первого листа с драйвером турнирная таблица. Итак, вкладка A выглядит примерно так:

  1. Питер Райт - Team Fast Racers - 85
  2. Cameron Bright - Быстрые команды - 60
  3. Mar c Feiner - Team Fast Racers - 20

В этом примере число соответствует общему количеству очков в правом столбце.

Вторая вкладка, необходимая для расчета очков конструктора, выглядит просто так:

  1. Team Fast Racers 105
  2. Team Quickies 60

Не смотрите на суммы. Это всего лишь пример.

Теперь я хочу использовать код запроса, в котором я могу попросить Google Sheets получить имя конструктора со вкладки B (т.е. Team Fast Racers) и посмотреть его на вкладке A, чтобы получить Оценка обоих водителей и подвести итог, чтобы получить общую сумму. Теперь это синтаксис:

=QUERY({'Driver Standings'!$A$4:$T$32; 'Constructor Standings'!A1:C16}; "SELECT T WHERE C = 'B2'", 1)

Проблема в том, что он не распознает B2, чтобы получить имя «Team Fast Racers», и ищет его на вкладке A. Как я могу решить эту проблему.

Опять же, 2 пилота находятся в команде, и эти результаты необходимо суммировать и отображать во второй вкладке, чтобы получить чистые результаты чемпионата. Как я могу получить данные из вкладки A на основе поиска строки из столбца B вкладки B.

И если это все сделано, я также хотел бы отсортировать позиции конструктора (вкладка B) на основе на сумму баллов, не теряя при этом структуры формул.

1 Ответ

1 голос
/ 03 апреля 2020

Прежде всего, все диапазоны в { } должны быть одинакового размера (хотя бы в одном измерении). если вы укладываете диапазоны один под другим, то количество столбцов должно быть одинаковым:

{Sheet1!A:C; Sheet2!A:C}

, тогда, когда у вас есть «построенный диапазон», как указано выше, вам нужно использовать Col ссылки в QUERY выражении

, поэтому вместо

"select A,C"

оно должно быть

"select Col1,Col3"

, тогда, если B2 - это число c, число это будет

"where Col1 = "&B2

, но если это обычный текст, это будет:

"where Col1 = '"&B2&"'"

ОБНОВЛЕНИЕ:

, все, что вам нужно:

=QUERY({'Driver Standings'!C4:C\'Driver Standings'!T4:T}; 
 "select Col1,sum(Col2)
  where Col1 is not null 
  group by Col1
  order by sum(Col2) desc 
  label sum(Col2)''")
...