Здравствуйте, уважаемые!) Смотрел на форуме и на гугле, но там примеры более простые. А если не простые, то не подходят. Может кто подскажет как сделать сложную сортировку таблицы по 4-ем столбцам? Формулами, с дополнительными столбцами или может какой-нибудь пользовательской функцией...
Есть умная таблица сыгранных матчей. Из нее в турнирную таблицу извлекаются и суммируются нужные данные по домашним играм команд: количество этих самых домашних игр, очки, заброшенные шайбы и т.д. Таблицу-то сделал и все бы хорошо, но в этой турнирной таблице команды расположены по алфавиту, а хотелось бы чтобы при добавлении данных в таблицу сыгранных матчей турнирная таблица сортировалась и команды размещались согласно количеству очков. А при равенстве очков у нескольких команд более высокое место в турнирной таблице предоставляется команде, у которой больше выигрышей в основное время (столбец "В"). Если же и в этом столбце у двух (или более) команд с одинаковым количеством очков равенство показателей, то дальше учитываются значения в столбце "ВО". А при равенстве с столбце "ВО" необходимо сортировать по наибольшему показателю в столбце "+/-". Один столбец сортировать при помощи функции НАИБОЛЬШИЙ - это не тяжело. Но как совместить все эти условия - это мне пока не удается.
Здравствуйте, уважаемые!) Смотрел на форуме и на гугле, но там примеры более простые. А если не простые, то не подходят. Может кто подскажет как сделать сложную сортировку таблицы по 4-ем столбцам? Формулами, с дополнительными столбцами или может какой-нибудь пользовательской функцией...
Есть умная таблица сыгранных матчей. Из нее в турнирную таблицу извлекаются и суммируются нужные данные по домашним играм команд: количество этих самых домашних игр, очки, заброшенные шайбы и т.д. Таблицу-то сделал и все бы хорошо, но в этой турнирной таблице команды расположены по алфавиту, а хотелось бы чтобы при добавлении данных в таблицу сыгранных матчей турнирная таблица сортировалась и команды размещались согласно количеству очков. А при равенстве очков у нескольких команд более высокое место в турнирной таблице предоставляется команде, у которой больше выигрышей в основное время (столбец "В"). Если же и в этом столбце у двух (или более) команд с одинаковым количеством очков равенство показателей, то дальше учитываются значения в столбце "ВО". А при равенстве с столбце "ВО" необходимо сортировать по наибольшему показателю в столбце "+/-". Один столбец сортировать при помощи функции НАИБОЛЬШИЙ - это не тяжело. Но как совместить все эти условия - это мне пока не удается.AwdBor
buchlotnik, спасибо, но не вариант)) смысл-то в том, что вниз таблицы матчей добавляются последние результаты, а таблица сама согласно новым результатам перестраиваться должна.
buchlotnik, спасибо, но не вариант)) смысл-то в том, что вниз таблицы матчей добавляются последние результаты, а таблица сама согласно новым результатам перестраиваться должна.AwdBor
buchlotnik, эх... спасибо за отзывчивость)) как пел в свое время В.С. Высоцкий: "Всё равно что в лоб ему, что по лбу - всё едино..." ))
Макрос - это не то что надо. можно ведь и без всяких макросов просто зайти на сайт лиги (или на любые другие сайты, публикующие результаты матчей) и посмотреть таблицу. там уже все отсортировано, все готово.
А в данном случае именно формулами как-то надо. буду пока пытаться через дополнительные столбцы, ПОИСКПОЗ, ИНДЕКС, ВПР и прочее
buchlotnik, эх... спасибо за отзывчивость)) как пел в свое время В.С. Высоцкий: "Всё равно что в лоб ему, что по лбу - всё едино..." ))
Макрос - это не то что надо. можно ведь и без всяких макросов просто зайти на сайт лиги (или на любые другие сайты, публикующие результаты матчей) и посмотреть таблицу. там уже все отсортировано, все готово.
А в данном случае именно формулами как-то надо. буду пока пытаться через дополнительные столбцы, ПОИСКПОЗ, ИНДЕКС, ВПР и прочееAwdBor
Сообщение отредактировал AwdBor - Пятница, 21.11.2014, 23:32
Формулами можно что-то такое сделать, но как правильно (с учетом значимости столбцов) составить формулу для ранжирования??? Не могу сообразить пока...
Формулами можно что-то такое сделать, но как правильно (с учетом значимости столбцов) составить формулу для ранжирования??? Не могу сообразить пока...Rustem
Rustem, вот и я посмотрел различные примеры типа "яблоки-продажи-менеджеры" - там все понятно. Здесь последний штрих - сделать самосортирующуюся таблицу и все. Застрял.
Надо, наверное, сначала столбец "Очки" по убыванию сортировать. И уже от него потом плясать.
Rustem, вот и я посмотрел различные примеры типа "яблоки-продажи-менеджеры" - там все понятно. Здесь последний штрих - сделать самосортирующуюся таблицу и все. Застрял.
Надо, наверное, сначала столбец "Очки" по убыванию сортировать. И уже от него потом плясать.AwdBor
Сообщение отредактировал AwdBor - Пятница, 21.11.2014, 23:51
Жизнь налаживается. Оказывается при определении места в турнирной таблице учитывается сначала значение по убыванию в столбце "Очки", потом в столбце "+/-"и если там одинаковые показатели у команд, то по значениям столбца "ЗШ". Ну, а там уже история личных встреч команд. Но это уже совсем другая история. С этой бы разобраться. Стало быть, название темы надо подкорректировать на "Сортировка по трем столбцам".
Жизнь налаживается. Оказывается при определении места в турнирной таблице учитывается сначала значение по убыванию в столбце "Очки", потом в столбце "+/-"и если там одинаковые показатели у команд, то по значениям столбца "ЗШ". Ну, а там уже история личных встреч команд. Но это уже совсем другая история. С этой бы разобраться. Стало быть, название темы надо подкорректировать на "Сортировка по трем столбцам".AwdBor
Стало быть, название темы надо подкорректировать на "Сортировка по трем столбцам".
Не надо ничего переименовывать, сортировка по 3 столбцам - это совершенно обычная, не способная никого удивить, операция, существующая в Excel с доископаемых версий прошлого века и до версии 2003 включительно. Начиная с версии 2007 кол-во столбцов сортировки может быть вообще до 64. Со снятием всех мыслимых вопросов на эту тему.
В ранних же версиях сортировка более чем по 3-м столбцам также возможна - путем последовательного применения нескольких сортировок по 3 столбцам. Нюанс состоит в том, что такая многоходовая сортировка выполняется с конца списка столбцов.
Например, чтобы отсортировать строки по возрастанию по 10 столбцам, надо сначала отсортировать по 10-му столбцу (т.е. самому последнему в списке столбцов), затем по 9-му, 8-му и так далее до 1-го. Потребуется 10 последовательных операций сортировки по одному столбцу. Для ускорения (т.е. уменьшения количеств сортировок) можно сортировать сразу по тройкам столбцов: первая сортировка - по 8,9,10 столбцам, вторая - по 5,6,7, далее - 2,3,4, и, наконец - по оставшемуся 1-му столбцу.
Решающую роль в этом процессе играет тот факт, что Excel трепетно сохраняет порядок значений перед сортировкой в столбцах, по которым сортировка в данный момент НЕ производится. В отличие от СУБД, которые не гарантируют порядок значений в столбцах, не перечисленных в предложении ORDER BY запроса SQL. Иными словами, 10 аналогичных последовательных запросов в СУБД не гарантируют такую же окончательную последовательность записей как в одном запросе с 10-ю перечисленными столбцами в ORDER BY (Excel же, как можно убедиться, гарантирует).
Еще раз повторю, что это всё имеет смысл только в версиях Excel 2003-. В версиях же 2007+ только в том случае, если потребуется сортировка более чем по 64 столбцам
Стало быть, название темы надо подкорректировать на "Сортировка по трем столбцам".
Не надо ничего переименовывать, сортировка по 3 столбцам - это совершенно обычная, не способная никого удивить, операция, существующая в Excel с доископаемых версий прошлого века и до версии 2003 включительно. Начиная с версии 2007 кол-во столбцов сортировки может быть вообще до 64. Со снятием всех мыслимых вопросов на эту тему.
В ранних же версиях сортировка более чем по 3-м столбцам также возможна - путем последовательного применения нескольких сортировок по 3 столбцам. Нюанс состоит в том, что такая многоходовая сортировка выполняется с конца списка столбцов.
Например, чтобы отсортировать строки по возрастанию по 10 столбцам, надо сначала отсортировать по 10-му столбцу (т.е. самому последнему в списке столбцов), затем по 9-му, 8-му и так далее до 1-го. Потребуется 10 последовательных операций сортировки по одному столбцу. Для ускорения (т.е. уменьшения количеств сортировок) можно сортировать сразу по тройкам столбцов: первая сортировка - по 8,9,10 столбцам, вторая - по 5,6,7, далее - 2,3,4, и, наконец - по оставшемуся 1-му столбцу.
Решающую роль в этом процессе играет тот факт, что Excel трепетно сохраняет порядок значений перед сортировкой в столбцах, по которым сортировка в данный момент НЕ производится. В отличие от СУБД, которые не гарантируют порядок значений в столбцах, не перечисленных в предложении ORDER BY запроса SQL. Иными словами, 10 аналогичных последовательных запросов в СУБД не гарантируют такую же окончательную последовательность записей как в одном запросе с 10-ю перечисленными столбцами в ORDER BY (Excel же, как можно убедиться, гарантирует).
Еще раз повторю, что это всё имеет смысл только в версиях Excel 2003-. В версиях же 2007+ только в том случае, если потребуется сортировка более чем по 64 столбцам Gustav
Но эту тему можно закрывать в любом случае. У Вас здесь всё толково изложено. Так что если по ходу дела возникнут вопросы или (чем чёрт не шутит? ) своими наработками похвастаться - то я, пожалуй, к Вам в ту тему буду писать. Надо же хорошие темы время от времени оживлять
Gustav, спасибо. Просветили
Но эту тему можно закрывать в любом случае. У Вас здесь всё толково изложено. Так что если по ходу дела возникнут вопросы или (чем чёрт не шутит? ) своими наработками похвастаться - то я, пожалуй, к Вам в ту тему буду писать. Надо же хорошие темы время от времени оживлять AwdBor