powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Не могу понять, как работает готовая формула ранжирования
12 сообщений из 12, страница 1 из 1
Не могу понять, как работает готовая формула ранжирования
    #39546112
туплю_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Excel.
Помогите разобраться в формуле.
Для задачи вида: есть ряд чисел неупорядоченный в колонке A (например 2 5 3 8 3 7)
нужно присвоить ранг(место) без пропусков, от меньшего к большему, повторяющимся числам - одинаковое место.
Т.е. если упорядочить исходный 2 3 3 5 8 7, то места соотв-но будут у них: 1 2 2 3 4 5 (для 2ки -> 1, для 3ки -> 2, для 5ки->3 ...)

На просторах найдена формула, как это сделать. НЕ как формула массива, а обычная.
=СЧЁТ(1/ЧАСТОТА((A1>=A$1:A$6)*A$1:A$6;A$1:A$6))
Она вроде работает, но не хватает мозгов или опыта с excel-ем понять, как, что за логика заложена.
...
Рейтинг: 0 / 0
Не могу понять, как работает готовая формула ранжирования
    #39546121
туплю_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
опечатался в исходном, правильно так : "Т.е. если упорядочить исходный как 2 3 3 5 7 8 "
...
Рейтинг: 0 / 0
Не могу понять, как работает готовая формула ранжирования
    #39546546
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
=РАНГ()
...
Рейтинг: 0 / 0
Не могу понять, как работает готовая формула ранжирования
    #39546562
туплю_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PlanB=РАНГ()
ранг() будет с пропусками, т.е. места он выдаст не подряд: в указанном примере выдаст для 2ки->1, для 3ки ->2 (дважды),
а вот 3е место никому не даст, для 5ки уже даст не 3е, а 4е место.
А надо подряд, что указанная хитроумная конструкция и делает.

Как в отдельности работает сами по себе обычно функции СЧЕТ, ЧАСТОТА - понимаю, а вот в этой конструкции - не понимаю.
Какой-то искусственный разум это придумал )
...
Рейтинг: 0 / 0
Не могу понять, как работает готовая формула ранжирования
    #39548728
туплю_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну чтож, видать не только моего iq не хватает ))
хотя основная логика конечно понятна, чуть додумать только

Пригодится может кому формула )
...
Рейтинг: 0 / 0
Не могу понять, как работает готовая формула ранжирования
    #39578337
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Смотрите этапы вычисления формулы в файле.
Часть (A1>=A$1:A$6)*A$1:A$6 довольно очевидна - замена на 0 чисел, которые больше того, для которого определяется ранг. Кол-во чисел, отличных от 0, равно искомому рангу, если убрать повторы .
Определением повторов и занимается функция ЧАСТОТА. Если массив данных совпадает с массивом интервалов И все значения различны, функция возвращает массив вида {1:1:1:...:1:0}, т.е. каждое число попадает в "свой" интервал, кол-во единиц совпадает с кол-вом чисел.
Если в массиве есть один повтор, результат имеет вид {1:2:1:...:0:1:0}, потому что оба одинаковых числа попали в "свой" интервал, а следующий интервал имеет нулевой размер, в него ничего не может попасть. То есть кол-во чисел, отличных от 0, уменьшилось на 1. Если будет два повтора, кол-во не-нулей уменьшится еще на 1, и т.д. Таким образом, кол-во не-нулей в массиве, возвращаемом функцией ЧАСТОТА, равно искомому рангу.
Подсчет не-нулей в массиве производит функция СЧЁТ(1/{массив}) - при делении 0 превращается в значение ошибки и не входит в счет.

Кстати, формула некорректно работает с отрицательными числами.

Искусственный разум , который придумывает такие формулы, сосредоточен в основном тут: http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=list&FID=1
...
Рейтинг: 0 / 0
Не могу понять, как работает готовая формула ранжирования
    #39751692
pobnn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, подскажите, пожалуйста, как нужно изменить эту формулу =СЧЁТ(1/ЧАСТОТА((A1>=A$1:A$6)*A$1:A$6;A$1:A$6)), чтобы ранжирование было от большего к меньшему, т.е. наибольшее число имело порядковый номер 1 и т.д.??
...
Рейтинг: 0 / 0
Не могу понять, как работает готовая формула ранжирования
    #39751704
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pobnn,

так элементарно же - просто знак поменять:
Код: plaintext
=СЧЁТ(1/ЧАСТОТА((A1<=A$1:A$6)*A$1:A$6;A$1:A$6))
Оно?
...
Рейтинг: 0 / 0
Не могу понять, как работает готовая формула ранжирования
    #39751710
pobnn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_Prist, я тоже так предположила, но практика показала, что результат не верный(((
...
Рейтинг: 0 / 0
Не могу понять, как работает готовая формула ранжирования
    #39751714
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_Prist,

косякнул. Знак равно не убрал:
Код: plaintext
=СЧЁТ(1/ЧАСТОТА((A1<A$1:A$6)*A$1:A$6;A$1:A$6))
...
Рейтинг: 0 / 0
Не могу понять, как работает готовая формула ранжирования
    #39751719
pobnn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_Prist, не подумала об этом. Работаем, спасибо
...
Рейтинг: 0 / 0
Не могу понять, как работает готовая формула ранжирования
    #39751720
pobnn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Работает*
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Не могу понять, как работает готовая формула ранжирования
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]