Запрос, индекс и фильтр - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть школьный проект, и мне нужно отфильтровать учеников по учителю.У меня есть случайный список, в котором каждому ученику назначен учитель (G2: H100), и мне нужно создать новые листы, по одному для каждого учителя, но мой путь не работает так, как мне бы хотелось.Я сделал этот лист, например, только на одной вкладке (рисунок 1):

figure 1

Это формула в ячейке L2:

=QUERY(FILTER((G2:H100);INDEX((G2:H100);0;2)=H2);"Select Col1")

В синей рамке у меня есть именно то, что я хотел: имена учеников Марии указаны в каждой строке.

Я не знаю, почему я не могу повторить те же результаты в зеленой и коричневой коробках,У меня одинаковые формулы на обеих из них, просто меняю = H2 на = H3 и = H4 соответственно.

Результаты: имена для каждого учителя в одной и той же ячейке, не перечисленные одной строкой под другой,синяя коробка.Я пробовал другие способы, но я мог найти решение.Я бы хотел, чтобы кто-нибудь помог мне разобраться, что происходит.

1 Ответ

0 голосов
/ 12 февраля 2019

попробуйте следующее:

  • L2: =QUERY($G$2:$H$100; "select G where H='"&K2&"'"; 0)
  • L12: =QUERY($G$2:$H$100; "select G where H='"&K12&"'"; 0)
  • L20: =QUERY($G$2:$H$100; "select G where H='"&K20&"'"; 0)

на случай, если будет пустой выход, используйте эти:

  • L2: =QUERY(ARRAYFORMULA(TO_TEXT($G$2:$H$100)); "select Col1 where Col2='"&K2&"'"; 0)
  • L12: =QUERY(ARRAYFORMULA(TO_TEXT($G$2:$H$100)); "select Col1 where Col2='"&K12&"'"; 0)
  • L20: =QUERY(ARRAYFORMULA(TO_TEXT($G$2:$H$100)); "select Col1 where Col2='"&K20&"'"; 0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...