Страницы: 1
RSS
РАНГ с условием
 
Добрый день знатокам! Что-то не смог найти решение данной задачи, а суть состоит в том, чтобы при ранжировании данных по возрастанию не учитывалось нулевое значение..Может быть кто-то сможежет осились...С надеждой и благодарностью!
 
Было что то такое уже на форуме. Поищите, там готовое решение.
 
Вот тут посмотрите:  
http://www.planetaexcel.ru/forum.php?thread_id=4037&forumaction=newreplyquoted&post_id=18817&page_forum=lastpage&allnum_forum=3
 
ухты :) это я там отметился :)  
тогда дополню предыдущую мысль еще одним способом
 
{quote}{login=Юрий М}{date=25.09.2008 11:46}{thema=}{post}Вот тут посмотрите:  
http://www.planetaexcel.ru/forum.php?thread_id=4037&forumaction=newreplyquoted&post_id=18817&page_forum=lastpage&allnum_forum=3{/post}{/quote}  
 
Автор сообщения предлагает отсортировать данные по возрастанию и потом присвоить значениям ранги. Но это не мой случай. Мои данные представлены в динамике: в этом месяце один магазин может занять 1-е место, в следующем - другой. PS Я предварительно просмотрел архив сайт, но, увы,  предложенные формулы не подошли
 
А что нужно делать с тем, у кого нулевое значение? Вот, к примеру, такая формула просто оставит "пустое" место:  
=ЕСЛИ(D3>0;(РАНГ(D3;D3:D10;1));"")
 
{quote}{login=Юрий М}{date=25.09.2008 12:38}{thema=}{post}А что нужно делать с тем, у кого нулевое значение? Вот, к примеру, такая формула просто оставит "пустое" место:  
=ЕСЛИ(D3>0;(РАНГ(D3;D3:D10;1));""){/post}{/quote}  
 
Спасибо, Юрий! Но эта формула проблемы не решает!  ;) (Улыбаюсь, потому что сам пробовал) Нулевое значение ранжирование должно игнорировать, а в этом случае нулевому значению все равно присваивается 1-е место, хотя в ячейке не указывается...Неужели все-таки нет решения?...  :(
 
вот же якорный бабай... Пигма, вы мое сообщение смотрели? там пример есть... и там есть формула, которая нолю присваивает ноль, а далее по рангу...  
посмотрите, вдруг понравится :)
 
Может я чего не понимаю, но у значения "ноль" никакого рейтинга вообще нет. Гляньте пример. Если, как Вы говорите, всё равно присваивается, но не отображается, то поясните - как это должно выглядеть? Разве цель не достигнута?
 
ну а ={поискпоз(число;наименьший(если(массив=0;"";массив);строка(смещ($a$1;0;0;счётесли(массив;"<>0")))))}  
 
где массив - ваш массив значений  
число - одно число из этого массива(ссылка, например, A1)
 
{quote}{login=mazayZR}{date=25.09.2008 02:44}{thema=}{post}вот же якорный бабай... Пигма, вы мое сообщение смотрели? там пример есть... и там есть формула, которая нолю присваивает ноль, а далее по рангу...  
посмотрите, вдруг понравится :){/post}{/quote}  
 
Якорный бабай!! Мазай! ;) Конечно, я видел это сообщение - вот ваше предложение "сортируем" (!!!) - "нумеруеи" Для статичного состояния это бы подошло, но у меня динамика: знания и следовательно ранги могут менять из месяца в месяц, другими словами, ни о какой сортировке речи быть не может...такая вот бяка!
 
{quote}{login=Юрий М}{date=25.09.2008 02:51}{thema=}{post}Может я чего не понимаю, но у значения "ноль" никакого рейтинга вообще нет. Гляньте пример. Если, как Вы говорите, всё равно присваивается, но не отображается, то поясните - как это должно выглядеть? Разве цель не достигнута?{/post}{/quote}  
 
Юрий! Я посмотрел ваш пример и что-то ничего не понял: цифры "1" и "4" у вас на первом месте, "2" - на третьем; "3" - на втором...То, что я хотел увидеть, состоит в следующем: существует рейтинг среди магазинов по оборотам продаж, 1-е место занимает тот магазин, у которого оборот самый низкий, но, к сожалению, может оказаться и такой магазин, у которого продаж, а сл-но, и оборота в данный момент нет. По существующей в Excel'е формуле РАНГ место присваивается наименьшему числу, т.е. "нулю", что не корректно...Я это и отразил в своем примере...
 
{quote}{login=слэн}{date=25.09.2008 02:52}{thema=}{post}ну а ={поискпоз(число;наименьший(если(массив=0;"";массив);строка(смещ($a$1;0;0;счётесли(массив;"<>0")))))}  
 
где массив - ваш массив значений  
число - одно число из этого массива(ссылка, например, A1){/post}{/quote}  
 
СЛЭН! А вы могли бы прописать предлагаемую формулу в моем примере - например, в столбце "рейтинг" за январь..Просто, что-то она у меня не "пашет" (видимо, мозгов не хватает)
 
{quote}{login=pygma}{date=25.09.2008 03:51}{thema=Re: }{post}{quote}{login=mazayZR}{date=25.09.2008 02:44}{thema=}{post}вот же якорный бабай... Пигма, вы мое сообщение смотрели? там пример есть... и там есть формула, которая нолю присваивает ноль, а далее по рангу...  
посмотрите, вдруг понравится :){/post}{/quote}  
 
Якорный бабай!! Мазай! ;) Конечно, я видел это сообщение - вот ваше предложение "сортируем" (!!!) - "нумеруеи" Для статичного состояния это бы подошло, но у меня динамика: знания и следовательно ранги могут менять из месяца в месяц, другими словами, ни о какой сортировке речи быть не может...такая вот бяка!{/post}{/quote}  
 
ыыыы )))  
прилагаю файло снова, но уже выделив тот самый ЕЩЕ один вариант зелененьким.  
не? не годитсо?
 
ыыыы )))  
прилагаю файло снова, но уже выделив тот самый ЕЩЕ один вариант зелененьким.  
не? не годитсо?{/post}{/quote}  
 
Гм...А вот это, пожалуй и есть то, что надо!  ;) Ведь можете, когда захотите! ;) Большое Вам, Мазай, спасибо! А также Вам, Юрий и Вам, Слэн!
 
А еще вот так можно - практическая реализация варианта, предложенного ув. Слэном.
 
Мало вариантов? Их есть еще :)  
Формула для C3 исходного файла:  
=РАНГ(B3;B$3:B$10;1)-ЕСЛИ(МИН(B$3:B$10)=0;1;0)
 
{quote}{login=mazayZR}{date=25.09.2008 04:06}{thema=Re: Re: }{post}{quote}{login=pygma}{date=25.09.2008 03:51}{thema=Re: }{post}{quote}{login=mazayZR}{date=25.09.2008 02:44}{thema=}{post}  
прилагаю файло снова, но уже выделив тот самый ЕЩЕ один вариант зелененьким.  
не? не годитсо?{/post}{/quote}  
МАЗАЙ, не очень годитсо, с двумя нулями не работает:((
 
{quote}{login=Raptor}{date=25.09.2008 04:26}{thema=}{post}А еще вот так можно - практическая реализация варианта, предложенного ув. Слэном.{/post}{/quote}  
 
Спасибо!
 
Действительно, Мазай, ваша формула с двумя и более значениями нулей не работает - хотя ваше решение мне понравилось свеой простатой
 
{quote}{login=Raptor}{date=25.09.2008 04:26}{thema=}{post}А еще вот так можно - практическая реализация варианта, предложенного ув. Слэном.{/post}{/quote}  
 
Проверил на практике - замечательно работает (и в том случае, когда нулевых значений несколько) Еще раз благодарю ВАС и всех участников обсуждения!
 
{quote}{login=:)}{date=25.09.2008 04:37}{thema=}{post}Мало вариантов? Их есть еще :)  
Формула для C3 исходного файла:  
=РАНГ(B3;B$3:B$10;1)-ЕСЛИ(МИН(B$3:B$10)=0;1;0){/post}{/quote}  
 
да, если отрицательных значений нет, то это , наверное, лучший способ..  
можно его чуть изменить(не меняя сути):  
=РАНГ(F3;$F$3:$F$10;1)+ЕОШИБКА(ПОИСКПОЗ(0;$F$3:$F$10))-1  
- чтобы не перебирать весь массив(актуально только для больших массивов :) )
 
Пигма, а таки посчитать количество нолей? ;)  
ЕСЛИ(ЧСТРОК($A$2:$A$9)-СЧЁТЕСЛИ($A$2:$A$9;0)-РАНГ(A2;$A$2:$A$9;0)>0;ЧСТРОК($A$2:$A$9)-СЧЁТЕСЛИ($A$2:$A$9;0)-РАНГ(A2;$A$2:$A$9;0);"")  
 
то есть тут работает эта часть:  
ЧСТРОК($A$2:$A$9)-СЧЁТЕСЛИ($A$2:$A$9;0)-РАНГ(A3;$A$2:$A$9;0)  
 
остальное ради проверки...  
 
ЗЫ: "...хотя ваше решение мне понравилось свеой простатой  
..."  
аккуратнее с правописанием ;)  
ибо:  
Простата - Предстательная железа - непарная железа мужской половой системы. Расположена в малом тазу, между дном мочевого пузыря и прямой кишкой. Секрет предстательной железы обеспечивает жизнедеятельность…
 
Применительно к какому-то файлу в этой теме =ЕСЛИ(D3=0;"";(РАНГ(D3;$D$3:$D$10;1))-СЧЁТЕСЛИ($D$3:$D$10;0))  
С уважением, Александр.
Страницы: 1
Читают тему
Наверх