Функция фильтра в Google Sheet - несколько столбцов - PullRequest
1 голос
/ 28 июня 2019

У меня есть таблица с именами исполнителей и действиями, которые они выполняли в каких городах.Теперь я пытаюсь выяснить, кто все выступал в каком городе, используя формулу фильтра - проверьте C15 в таблице ниже.

https://docs.google.com/spreadsheets/d/19U0vjtABXQ-MltxZoW7v0vjt1L6gM2Lc2VP3Z-BuKwE/edit?usp=sharing

Формула, которую я пытаюсь использовать:

=join(", ",transpose(iferror(filter(A2:A11,REGEXMATCH(C2:G11,"Chicago")))))

Если я изменю G11 на C11 в приведенной выше формуле, я могу увидеть некоторый вывод, которыйневерен.

  • (а) Я хочу, чтобы имена исполнителей, которые выступали в Чикаго из колонок С вплоть до G.
  • (б) Даже если я оставлю это как С11, это дастимя только первого исполнителя ... и не всех тех, кто выступал в Чикаго в колонке C

Для только Чикаго, вывод должен быть:

Нильс, Томв F15
Нильс, Том, Джек, Аманда, Сэм в C15

Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

1 голос
/ 28 июня 2019
=join(", ",transpose(iferror(filter(A2:A11,REGEXMATCH(B2:B11,"Chicago")))))

работает на меня, и я получаю Нильса, Тома в F15.

Один из способов получить совпадения во всех столбцах - это получить итоговые значения по строкам следующим образом: в них они не равны нулю, чтобы объединить значения в первом столбце:

=ArrayFormula(textjoin(",",true,if(mmult(n(regexmatch(B$2:G$11,A15)),transpose(column(B:G))),A$2:A$11,)))

enter image description here

0 голосов
/ 28 июня 2019

Вы можете использовать что-то вроде этого:

=join(", ",transpose(filter(A2:A11,REGEXMATCH(C2:C11&D2:D11&E2:E11&F2:F11&G2:G11,"Chicago"))))
...