Добрый день! Возникла необходимость установить ранг значений диапазона следующим образом: если в основном диапазоне попадаются повторяющиеся значения, то для определения приоритета между этими повторяющимися значениями должен использоваться второй диапазон. В прилагаемом файле есть получившееся у меня решение, но формула мне кажется неоптимальной. Кроме того, не очень удобно её переносить на другие диапазоны (в силу большого количества ссылок).
Прошу помочь,если это возможно, оптимизировать формулу.
Заранее благодарен.
[p.s.]По мере написания данного сообщения возникла проблема со вставкой формулы: Получается либо "обрамить" её тегами для формулы, либо раскрасить. И то и другое одновременно почему-то не получается (ну или может не отображается при предпросмотре...). Подскажите пожалуйста что делать.[/p.s.]
Добрый день! Возникла необходимость установить ранг значений диапазона следующим образом: если в основном диапазоне попадаются повторяющиеся значения, то для определения приоритета между этими повторяющимися значениями должен использоваться второй диапазон. В прилагаемом файле есть получившееся у меня решение, но формула мне кажется неоптимальной. Кроме того, не очень удобно её переносить на другие диапазоны (в силу большого количества ссылок).
Прошу помочь,если это возможно, оптимизировать формулу.
Заранее благодарен.
[p.s.]По мере написания данного сообщения возникла проблема со вставкой формулы: Получается либо "обрамить" её тегами для формулы, либо раскрасить. И то и другое одновременно почему-то не получается (ну или может не отображается при предпросмотре...). Подскажите пожалуйста что делать.[/p.s.]Nikkei
Вариант с доп.столбцом (чтобы можно было использовать РАНГ() в стандартном виде + показатель уровня первого параметра можно было менять динамически)
Вариант с доп.столбцом (чтобы можно было использовать РАНГ() в стандартном виде + показатель уровня первого параметра можно было менять динамически)AndreTM
Попробовал использовать массив внутри формулы РАНГ(), но она почему-то выдает ошибку если диапазон задан не ссылкой, а расчётом (через формулы массива) или забит вручную.
Код
=РАНГ(4;{3:4:5:6};1)
При подобной записи Excel даже ввести формулу не даёт. Я правильно понимаю, что в некоторых формулах рассчитанный массив (заданный не ссылкой) не работает? Или что-то не так вставляю?
В прилагаемом файле мои попытки сделать ранжировку без дополнительного столбца. Формулы забиты без знака равенства потому, что в противном случае они не вводятся.
Попробовал использовать массив внутри формулы РАНГ(), но она почему-то выдает ошибку если диапазон задан не ссылкой, а расчётом (через формулы массива) или забит вручную.
Код
=РАНГ(4;{3:4:5:6};1)
При подобной записи Excel даже ввести формулу не даёт. Я правильно понимаю, что в некоторых формулах рассчитанный массив (заданный не ссылкой) не работает? Или что-то не так вставляю?
В прилагаемом файле мои попытки сделать ранжировку без дополнительного столбца. Формулы забиты без знака равенства потому, что в противном случае они не вводятся.
Попробовал использовать массив внутри формулы РАНГ(), но она почему-то выдает ошибку если диапазон задан не ссылкой, а расчётом (через формулы массива) или забит вручную.
Код
=РАНГ(4;{3:4:5:6};1)
При подобной записи Excel даже ввести формулу не даёт. Я правильно понимаю, что в некоторых формулах рассчитанный массив (заданный не ссылкой) не работает? Или что-то не так вставляю?
В прилагаемом файле мои попытки сделать ранжировку без дополнительного столбца. Формулы забиты без знака равенства потому, что в противном случае они не вводятся.
Попробовал использовать массив внутри формулы РАНГ(), но она почему-то выдает ошибку если диапазон задан не ссылкой, а расчётом (через формулы массива) или забит вручную.
Код
=РАНГ(4;{3:4:5:6};1)
При подобной записи Excel даже ввести формулу не даёт. Я правильно понимаю, что в некоторых формулах рассчитанный массив (заданный не ссылкой) не работает? Или что-то не так вставляю?
В прилагаемом файле мои попытки сделать ранжировку без дополнительного столбца. Формулы забиты без знака равенства потому, что в противном случае они не вводятся.
А "Вариант предлагаемый _Boroda_" (как у тебя в файле написано) - ничего, что написан был вообще без файла твоего, по словесному описанию, а? А то опозорил меня почти с ног до головы всего.
А "Вариант предлагаемый _Boroda_" (как у тебя в файле написано) - ничего, что написан был вообще без файла твоего, по словесному описанию, а? А то опозорил меня почти с ног до головы всего._Boroda_
Я правильно понимаю, что в некоторых формулах рассчитанный массив (заданный не ссылкой) не работает?
Правильно. Существуют функции, которые либо не работают с виртуальными массивами, либо работают с ними, но недокументированными средствами РАНГ - одна из таких функций
Я правильно понимаю, что в некоторых формулах рассчитанный массив (заданный не ссылкой) не работает?
Правильно. Существуют функции, которые либо не работают с виртуальными массивами, либо работают с ними, но недокументированными средствами РАНГ - одна из таких функцийSerge_007
Существуют функции, которые либо не работают с виртуальными массивами, либо работают с ними, но недокументированными средствами РАНГ - одна из таких функций
Существуют функции, которые либо не работают с виртуальными массивами, либо работают с ними, но недокументированными средствами РАНГ - одна из таких функций
А как сделать, так чтобы из второго диапазона значений действовало правило ни чем меньше тем лучше, а наоборот - наибольшее значение из второго диапазона (при одинаковости значений из первого) является критерием определения приоритета (меньшего значения) первого диапазона.
А как сделать, так чтобы из второго диапазона значений действовало правило ни чем меньше тем лучше, а наоборот - наибольшее значение из второго диапазона (при одинаковости значений из первого) является критерием определения приоритета (меньшего значения) первого диапазона.MagicMSK
Спасибо! Работает. А вот для такой формулы, как тоже самое сделать?: =ЕСЛИ(СУММ(--(C22=$C$22:$C$32))>1;РАНГ(C22;$C$22:$C$32;1)+СУММПРОИЗВ(--(D22>ЕСЛИ((--(C22=$C$22:$C$32));$D$22:$D$32;0));(--(0<>ЕСЛИ(--(C22=$C$22:$C$32);$D$22:$D$32;0))));РАНГ(C22;$C$22:$C$32;1))
Спасибо! Работает. А вот для такой формулы, как тоже самое сделать?: =ЕСЛИ(СУММ(--(C22=$C$22:$C$32))>1;РАНГ(C22;$C$22:$C$32;1)+СУММПРОИЗВ(--(D22>ЕСЛИ((--(C22=$C$22:$C$32));$D$22:$D$32;0));(--(0<>ЕСЛИ(--(C22=$C$22:$C$32);$D$22:$D$32;0))));РАНГ(C22;$C$22:$C$32;1))MagicMSK
MagicMSK, Ваш первый вопрос был уточняющим по приведённой выше формуле, второй вопрос уже к данному обсуждению не относится. Поэтому прочитайте Правила форума, создайте свою тему и приложите файл с примером. И не забудьте оформить формулу тегами с помощью кнопки fx. А эта тема закрыта
MagicMSK, Ваш первый вопрос был уточняющим по приведённой выше формуле, второй вопрос уже к данному обсуждению не относится. Поэтому прочитайте Правила форума, создайте свою тему и приложите файл с примером. И не забудьте оформить формулу тегами с помощью кнопки fx. А эта тема закрытаPelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816