Гость
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Не могу понять, как работает готовая формула ранжирования / 12 сообщений из 12, страница 1 из 1
01.11.2017, 15:27
    #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
01.11.2017, 15:30
    #39546121
туплю_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу понять, как работает готовая формула ранжирования
опечатался в исходном, правильно так : "Т.е. если упорядочить исходный как 2 3 3 5 7 8 "
...
Рейтинг: 0 / 0
02.11.2017, 10:20
    #39546546
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу понять, как работает готовая формула ранжирования
=РАНГ()
...
Рейтинг: 0 / 0
02.11.2017, 10:47
    #39546562
туплю_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу понять, как работает готовая формула ранжирования
PlanB=РАНГ()
ранг() будет с пропусками, т.е. места он выдаст не подряд: в указанном примере выдаст для 2ки->1, для 3ки ->2 (дважды),
а вот 3е место никому не даст, для 5ки уже даст не 3е, а 4е место.
А надо подряд, что указанная хитроумная конструкция и делает.

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

Пригодится может кому формула )
...
Рейтинг: 0 / 0
31.12.2017, 02:01
    #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
22.12.2018, 18:30
    #39751692
pobnn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу понять, как работает готовая формула ранжирования
Здравствуйте, подскажите, пожалуйста, как нужно изменить эту формулу =СЧЁТ(1/ЧАСТОТА((A1>=A$1:A$6)*A$1:A$6;A$1:A$6)), чтобы ранжирование было от большего к меньшему, т.е. наибольшее число имело порядковый номер 1 и т.д.??
...
Рейтинг: 0 / 0
22.12.2018, 19:39
    #39751704
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу понять, как работает готовая формула ранжирования
pobnn,

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

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


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