@mainc

Как отфильтровать данные одного массива по атрибуту промежуточной таблицы?

Сортируя сущности users и roles c разных листов столкнулся с проблемой, что не понимаю как выводить вместо массива данных по всем roleID для каждого userID, отфильтрованный по определенному атрибуту список только нужных мне roleID:
userID - Nickname - Active Role(1/2)-Class(1/15)-...
Если для userID отсутствует фильтруемый roleID/roleName, то пропускать столбец

Вводные:
лист users - сырые данные всех пользователей:
userID - основной ключ
roleID[1,2..., n] - для каждого userID один и тот же roleID может находится в абсолютно разных столбцах

лист role names - словарь:
roleID - основной ключ
roleName - присваивает roleID имя
Active Role - присваивает части roleID необязательный атрибут

лист user roles - фильтрую роли пользователей
userID - основной ключ, взят с листа users
Active Role - должен выводить roleName по отфильтрованному атрибуту Active Role, если роль с таким атрибутом отсутствует у пользователя, то ничего не выводит. Если таких ролей несколько, то выводит с максимальным значением атрибута active role

Как пробую сейчас с листом user roles:
=ARRAYFORMULA(IF(ISBLANK(USERS!A2:A);;VLOOKUP(VLOOKUP($A$2:$A;USERS!$A$2:$H;{3};);'ROLE NAMES'!$A$2:$F;{5};FALSE)))

Не понимаю как правильно встроить функцию FILTER, например

Таблица:
https://docs.google.com/spreadsheets/d/1X7_HNVcvIz...
  • Вопрос задан
  • 96 просмотров
Пригласить эксперта
Ответы на вопрос 1
oshliaer
@oshliaer Куратор тега Google Sheets
Google Products Expert
Так, я кое-что накидал. Пока не вижу противоречий в формуле, но вижу в данных.

Например, не понятно как появляется attr2 для первого пользователя.

6440d90b05097618593142.png

Попробуйте начать с этого

https://docs.google.com/spreadsheets/d/1Qb3Li8GwyJ...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы