Страницы: 1
RSS
Автоматическая расстановка мест в турнирной таблице, Прошу подсказать.
 
Доброго дня.
Прошу подсказать, как реализовать автоматическое определение и расстановку призовых мест в турнирной таблице?
Условия: призовых мест должно быть три(1, 2, 3), если у победителей одинаковое количество очков, то призовых мест может быть несколько(например два вторых).
Так-же не плохо бы вывод места отобразить римскими цифрами.
Диапазон турнирной таблицы: B34:O56
Диапазон вывода призовых мест: H41:H52
Спасибо.
Изменено: SLONik24 - 19.01.2020 11:54:27
 
SLONik24, в Н41 массивную
Код
=ЕСЛИОШИБКА(РИМСКОЕ(ПОИСКПОЗ(СУММ(($G$41:$G$52>G41)/СЧЁТЕСЛИ($G$41:$G$52;$G$41:$G$52))+1;{1;2;3};));"")
Изменено: artyrH - 19.01.2020 13:12:44
 
Подскажите, что значит массивную?
 
SLONik24, Ctrl+Shift+Enter
 
Добрый день.
Вариант 2, не массивный:
=ЕСЛИ(СУММ(--(ЧАСТОТА((G41<G$41:G$52)*G$41:G$52;G$41:G$52)>0))<=3;РИМСКОЕ(СУММ(--(ЧАСТОТА((G41<G$41:G$52)*G$41:G$52;G$41:G$52)>0));0);"")
Изменено: Aleksey1107 - 19.01.2020 18:24:04
 
Огромное спасибо. Вариант 2, мне нравится больше.
Код
=ЕСЛИОШИБКА(ЕСЛИ(РАНГ(G41;$G$41:$G$52)<=3;РИМСКОЕ(РАНГ(G41;$G$41:$G$52);0);"");"")
Изменено: SLONik24 - 19.01.2020 17:42:39
 
Цитата
SLONik24 написал:
мне нравится
но эта формула не работает
 
У меня работает
 
:D
вот это работает?
Цитата
SLONik24 написал: если у победителей одинаковое количество очков, то призовых мест может быть несколько
 
artyrH, спасибо, что то не внимательно прочитал задание)) видимо мне хотелось покороче, да не получилось :)
SLONik24, формула из #6 будет работать не верно,изменил формулу в #5 сообщении, так же не массивная.
Изменено: Aleksey1107 - 20.01.2020 03:10:02
 
Aleksey1107, и вам спасибо за формулу
можно и так использовать
Код
=ЕСЛИОШИБКА(РИМСКОЕ(ПОИСКПОЗ(СУММ(--(ЧАСТОТА((G41<G$41:G$52)*G$41:G$52;G$41:G$52)>0);0);{1;2;3};));"")
Изменено: artyrH - 19.01.2020 18:53:05
 
Ребята я не большой специалист, но у меня работает. Может не внимательно проверил? Прошу Вас посмотреть и прокомментировать. Спасибо.
 
SLONik24, при таком раскладе все правильно?
 
Действительно, так не работает. Спасибо за участие и подсказку. Уже думал, что я закончил. Придётся ещё пару ночей протупить.
Не хочу показаться навязчивым, но:
Формула из #5 и #11, имеет недостаток. Если хотя бы одна ячейка остается пустой, формула не работает. Не могли бы Вы доработать, я сам с этим точно не справлюсь. Спасибо.
Изменено: SLONik24 - 19.01.2020 20:16:37
 
Посмотрите, вдруг так подойдет
 
Vilema, ваша формула так же не обрабатывает условие
Цитата
SLONik24 написал:
если у победителей одинаковое количество очков, то призовых мест может быть несколько(например два вторых).
которое я изначально и проглядел :(
Цитата
SLONik24 написал:
Если хотя бы одна ячейка остается пустой, формула не работает.
Это единственное, что Вы упустили ? Или потом еще что-то всплывет, не поймите не правильно, просто сразу опишите все подобные моменты.
Изменено: Aleksey1107 - 19.01.2020 20:54:04
 
Цитата
Aleksey1107 написал:
Это единственное, что Вы упустили ?
Сложно сказать без теста. Пожалуй, ещё необходимо, чтобы пустая ячейка не воспринималась, как место. Т.е. Если таблица пустая формула не должна проставить всем первые места. Или если заполнено всего две ячечки, всем пустым присваивать 3 место не верно.  
 
Цитата
SLONik24 написал:
чтобы пустая ячейка не воспринималась, как место
массивная
Код
=ЕСЛИОШИБКА(РИМСКОЕ(ЕСЛИ(G41="";"";ПОИСКПОЗ(СУММ(ЕСЛИ($G$41:$G$52<>0;($G$41:$G$52>G41)/СЧЁТЕСЛИ($G$41:$G$52;$G$41:$G$52)))+1;{1;2;3};)));"")
 
При не полном заполнении таблицы работает не верно. см. D9:H36
Изменено: SLONik24 - 20.01.2020 13:35:54
 
.
 
Приветствую! Я решил эту задачу таким способом.
Страницы: 1
Наверх