Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Сортировка по убыванию с исключением строк с показателем < 2
 
помогите отсортировать таблицу по убыванию с исключением строк с показателем < 2, не используя формулы массивов, обычной сортировки/фильтра
ИмяПоказатель
A10
B2
C4
d1
e4
F3
 
Обязательно использовать только функцию? макрос подойдет ?
Изменено: Андрей_26 - 19 Июл 2019 12:30:40
 
Если в Excel у вас установлена надстройка Power Query, то вариант в приложении. В исходной таблице вносите изменения, в результирующей - они сразу отобразятся в том виде, как вам надо.  
Изменено: turbidgirl - 19 Июл 2019 16:33:39
 
Нет такой надстройки Powe Query. В результирующей таблице нет никаких прописанных формул. А требуется как раз прописать формулы, чтобы произошла сортировка
 
Одна из двух формула массива.
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
Цитата
dolguick написал:
не используя формулы массивов
Цитата
Максим В. написал:
Одна из двух формула массива.
:D
 
Михаил, а в фале написано "Не рекомендуется...". Не знаю как сделать многоразовый ВПР без ФМ.
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
Максим В., спасибо за вариант. Хотя в условии стоит, что не рекомендуется использоваться формулы массивов, но мне тоже не приходит в голову как это сделать не используя формулу массивов
 
Цитата
dolguick написал:
мне тоже не приходит в голову как это сделать не используя формулу массивов
То что можно сделать функцией-массива также можно повторить при помощи дополнительных ячеек.

Посмотрите возможное решение. Если нужно отсортировать результат наоборот - используйте функцию НАИМЕНЬШИЙ()
 
Посмотрите здесь: https://www.planetaexcel.ru/techniques/25/2728/
 
Спасибо за статью. Я ее уже находила. В ней нет решения данной задачи...

Цитата
IKor написал: ...можно повторить при помощи дополнительных ячеек)
Не поняла. В вашем варианте в ячейке F та же формула массива. И в дополнительной ячейке цифры не отсортированы в убывающем порядке. То есть, вообще не отсортированы
 
Я было испугался, что отправил на форум не-сохраненную версию документа (без последних изменений)....

dolguick,
Раз Вы не показали желаемый результат, то я решил, что достаточно отсортировать данные из столбца B (имя) по убыванию данных в столбце С (показатель). Что и сделал (в столбце F) без использования формул-массива, но при помощи вспомогательного столбца данных (в столбце D).

Как это работает:
- Во вспомогательном столбце отсекаются лишние (меньше 2) строки, а также к совпадающим показателям добавляются уникальные дробные части - для того, чтобы в последствии к ним можно было обращаться напрямую (для простой сортировки это делать необязательно!)
- Столбец результатов возвращает данные из столбца имен в порядке убывания значений во вспомогательном столбце.

Мое решение возвращает тот же столбец решений, что и решение Максима (на базе формул-массива) с точностью до позиционирования имен, имеющих равные показатели...
Что же именно вызывает Ваши сомнения?


P.S. Возможно мы с Вами по разному понимаем термин "формула-массива" - я отношу его к варианту использования любых формул Excel'я, вводимых при помощи сочетания клавиш CTRL+SHFT+ENTER вместо ENTER - эти формулы возвращают диапазон значений вместо единственного значения.


======================после прочтения последующих комментариев===============================
dolguick,
Формула для отсортированного по убыванию столбца показателей:
=ЕСЛИОШИБКА(ИНДЕКС($C$11:$C$16;ПОИСКПОЗ(НАИБОЛЬШИЙ($D$11:$D$16;СТРОКА()-СТРОКА($D$10));$D$11:$D$16;0);1);"")
Изменено: IKor - 19 Июл 2019 14:22:08
 
ну может задание подразумевало знание Aggregate ,
=IF(F11="";"";INDEX(B:B;AGGREGATE(15;6;ROW($C$11:$C$16)/($C$11:$C$16=F11);COUNTIF($F$11:F11;F11))))
 
Это решение частный случай. Поясню, что имею ввиду: ABCDEF - шестнадцатиричная система, переводим в десятичную, прибавляем значение умноженное на 100 и формула НАИМЕНЬШИЙ, начиная с 3, т.к. должно быть больше 2.
 
в результате сортировки с отсечкой где в отсортированной таблице должна оказаться строка Д с показателем 1, который < 2?
(в начале таблицы, в конце, в 4-й позиции, где она находится на старте, или все что < 2 вообще не должно попасть в отсортированную таблицу)
Изменено: Ігор Гончаренко - 19 Июл 2019 14:25:22
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
не нужно в цитату копировать сообщения. Кнопка цитирования не для этого [МОДЕРАТОР]

я так понимаю, что строка с показателем меньше 2 должна стоять в отсортированной таблице в конце с нулевым значением либо вообще не попасть в таблицу
 
Цитата
БМВ написал: ну может задание подразумевало знание Aggregate
попробовала применить эту формулу, не работает, посмотрите во вложении
 
Взял на себя смелость записать формулу Михаила в документ, подготовленный Максимом - все работает.
AGGREGATE()= АГРЕГАТ()
 
Off
Ігор Гончаренко,  все согласно названию
Сортировка с исключением показатеей. авторы задания такие затейники.
 
Сортировка чисел:
=ЕСЛИ(СТРОКА(A1)>СЧЁТЕСЛИ($C$11:$C$16;">=2");;НАИБОЛЬШИЙ($C$11:$C$16;СТРОКА(A1)))
Буква:
=ЕСЛИ(F11;ИНДЕКС($B$11:$B$16;НАИБОЛЬШИЙ(МУМНОЖ(--($C$11:$C$16=F11);1)*{1:2:3:4:5:6};СЧЁТЕСЛИ($F$11:F11;F11)));"")
 
БМВ,
ну, с отсечкой - это не с обрезанием, можно и посортировать
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
vikttur написал:
Буква:
Не проснулся? :-) там же друга буква по 4ке должна второй быть :-)
 
Заметил... Переделал. Но вряд ли в тесте подразумевалось подобное. Покажите тем, кто тест задавал. Может, разберутся :)
Там, наверное, с доп. столбцом подходит.
 
всем спасибо за помощь. Помогли
 
Цитата
vikttur написал:
МУМНОЖ(--(
Борода меня садистом в такие моменты обзывает.

Тему то , тему подправь, затейник.
Изменено: БМВ - 19 Июл 2019 15:40:40
 
ОФФ

я вообще не понимаю почему садисты обижаются, когда их называют садистами?
потому что программисты обижаются, когда их не называют программистами)
Изменено: Ігор Гончаренко - 19 Июл 2019 15:42:54
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
БМВ написал: ...садистом в такие моменты обзывает
Как просили. Формула полностью удовлетворяет условиям.

Цитата
тему подправь, затейник.
Сразу, как увидел, переименовал. Зуб даю )
Написать-то написал, но, видимо, не сохранил.
 
Цитата
vikttur написал:
Зуб даю )
Которого еще нет?   :D
 
Молочный выпал, не жалко )
 
Для буковок
=IF(F11="";"";INDEX(B:B;MOD(LARGE(INDEX($C$11:$C$16+ROW($C$11:$C$16)%;);ROW(A1));1)/1%))
правда порядок немного другой, но кто сказал что он должен быть именно таким :-)
Изменено: БМВ - 19 Июл 2019 16:15:22
Страницы: 1
Читают тему (гостей: 1)
Наверх