Я использую Excel для отслеживания командной игры, в которой игроки делятся на команды и подгруппы внутри команд. Каждый игрок в подгруппе набирает определенное количество очков, и я хотел бы, чтобы для каждого игрока была представлена сводная строка с количеством очков, набранных другими игроками в том же подгруппе.
Пример:
A B C D
PLAYER TEAM SUBTEAM POINTS
Alice Red 1 70
Bob Red 1 20
Charlie Red 1 10
Dave Red 2 70
Erin Red 2 30
Frank Blue 1 55
Grace Blue 1 45
Мой желаемый вывод выглядит так:
A B C D E
PLAYER TEAM SUBTEAM POINTS SUMMARY
Alice Red 1 70 Bob:20, Charlie:10
Bob Red 1 20 Alice:70, Charlie:10
Charlie Red 1 10 Alice:70, Bob:20
Dave Red 2 70 Erin:30
Erin Red 2 30 Dave:70
Frank Blue 1 55 Grace:45
Grace Blue 1 45 Frank:55
Самое дальнее, что я смог сделать, это сочетание CONCATENATE, INDEX и MATCH в формуле массива:
{=CONCATENATE(INDEX($A$2:$A$8,MATCH(1,(C2=$C$2:$C$8)*(B2=$B$2:$B$8),0)), ":", INDEX($D$2:$D$8,MATCH(1,(C2=$C$2:$C$8)*(B2=$B$2:$B$8),0)))}
К сожалению, это выводит сводку для первого игрока в подгруппе:
A B C D E
PLAYER TEAM SUBTEAM POINTS SUMMARY
Alice Red 1 70 Alice:70
Bob Red 1 20 Alice:70
Charlie Red 1 10 Alice:70
Dave Red 2 70 Dave:70
Erin Red 2 30 Dave:70
Frank Blue 1 55 Grace:45
Grace Blue 1 45 Grace:45
Что мне нужно сделать сейчас:
- Исключая игрока для резюме (я не хочу, чтобы Алиса в резюме для Алисы, но только Боб и Чарли)
- Работа с несколькими матчами (в каждой подгруппе может быть произвольное количество игроков)
- Получение CONCATENATE для работы с неизвестным количеством строк (потому что, как сказано выше, в каждой подгруппе может быть произвольное количество игроков).
Идеи приветствуются!