Отчетность по нескольким значениям и сортировка - PullRequest
0 голосов
/ 28 мая 2018

Имея небольшую проблему и неуверенный, если это действительно возможно сделать.Я работаю над файлом, в который я введу целевую прогрессию против фактической цели, сообщая о% результате.

PAGE 1
¦NAME ¦TAR 1 %¦TAR 2 %¦TAR 3 %¦TAR 4 %¦OVERALL¦SUB 1¦SUB 2¦SUB 3¦
¦NAME1¦   114%¦   121%¦   100%¦   250%¦   146%¦    2¦    0¦   0%¦
¦NAME2¦    88%¦   100%¦    90%¦    50%¦    82%¦    0¦    1¦   0%¦
¦NAME3¦    82%¦    54%¦    64%¦   100%¦    75%¦    6¦    6¦  15%¦
¦NAME4¦   103%¦    64%¦    56%¦    43%¦    67%¦    4¦    4¦  24%¦
¦NAME5¦    87%¦    63%¦    89%¦     0%¦    60%¦    3¦    2¦  16%¦

Теперь у меня уже есть его сортировка всех строк по столбцу Общий%, чтобы я мог быстро увидеть вбросьте взгляд, но я создаю вторую страницу, которая мне нужна для ссылок.

Так что на второй странице я бы хотел как-то отсортировать и ссылаться на разные столбцы, например

PAGE 2
TOP TAR 1¦Name of top %¦Top %¦
TOP TAR 2¦Name of top %¦Top %¦

Это что-то вродеэто можно сделать?По сути, я создаю форму «Сотрудник месяца», которая автоматически определяет, кто и что превысил.

Я готов отбросить пожертвование PayPal для тех, кто может понять это для меня, пока я делаю это.вручную каждый месяц и будем благодарны за сэкономленное время

1 Ответ

0 голосов
/ 29 мая 2018

Я не думаю, что для этого необходима сложная формула массива - я предлагаю довольно стандартный подход Index / Match.

Сначала настройте заголовки строк - вы можете просто скопировать и транспонировать их со страницы.1, или используйте формулу в A2, например,

=transpose('Page 1'!B1:E1)

Используйте их в индексе / совпадении, чтобы получить данные в соответствующем столбце основного листа и найти его максимум (в C2)

=max(index('Page 1'!A:E,0,match(A2,'Page 1'!A$1:E$1,0)))

Наконец, найдите максимум на главном листе, чтобы найти соответствующее имя:

=index('Page 1'!A:A,match(C2,index('Page 1'!A:E,0,match(A2,'Page 1'!A$1:E$1,0)),0))

Если вы думаете, что может быть ничья на первом месте с двумя или более людьми, получающимис тем же счетом, вы можете использовать фильтр, чтобы получить разные имена:

Так, если на этот раз максимальный счет в B8 (та же формула)

=max(index('Page 1'!A:E,0,match(A8,'Page 1'!A$1:E$1,0)))

, разные имена могут быть распределены посоответствующая строка с использованием транспонирования (в C8)

=ArrayFormula(TRANSPOSE(filter('Page 1'!A:A,index('Page 1'!A:E,0,match(A8,'Page 1'!A$1:E$1,0))=B8)))

Я немного изменил данные теста, чтобы показать эти разные сценарии

enter image description here

Результаты

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...