Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как изменить место ячеек исходя из их содержимого Excel

Сергей Петрикеев Ученик (101), закрыт 7 лет назад
Подскажите пожалуйста, как в Excel сделать так, чтобы ячейки в столбцах автоматически меняли свое место (рейтинг) исходя из значений внутри ячейки. Условие: Есть 2 столбца, в одном имена людей (Скргей, Александр, Иван), во втором значение выторга этих людей (к примеру: 150,300,600).Как сделать так, чтобы Excel автоматически поднимал ячейку с максимальным значением выторга и именем человека на 1-е место, среднем на 2-е и самым низким значением на 3-е место. Т. е. необходимо, чтобы поднималась или опускалась ячека не только с максимальным значением, а поднимала/опускала с собой ячейку с именем человека, которому соответствует максимальный/средний/низкий показатель. Ячейкам задано условное форматирование, но только в столбце 2.Условие такое: ячейку с максимальным значением выделять зеленой заливкой, среднее желтой, низкое-красной. Можно как тосделать, чтобы на соответствующий цвет менялось значение ячейки и в первом столбце (с именем человека)?
Лучший ответ
Арбузо Л.З. Мудрец (11456) 7 лет назад
Как заставить Эксель автоматически поднимать и опускать ячейки?
1.В таблицу вставь ещё один столбик «Место».
2.В этом столбике вставь формулу =РАНГ (B2;$B$2:$B$4)
3.После изменения чисел во втором столбике – отсортируй таблицу по столбику «Место».

--------
Когда надоест каждый раз сортировать таблицу вручную – поручи сотрировку макросу, который будет запускаться при любом изменении на листе.
Как сделать такой макрос – просто – найди в меню кнопочку «ЗАПИСАТЬ МАКРОС» - нажми её и после этого отсортируй таблицу по столбику «Место».
Когда таблица отсортируется, нажми кнопочку «ОСТАНОВИТЬ ЗАПИСЬ».
В редакторе VBA в модуле «Module1» появится созданный макрос по имени «Макрос1».

Этот макрос, по необходимости, можно запускать вручную, а можно поручить Экселю запускать его автоматически, после любого изменения данных на лист3 с нужной таблицей.
Для этого в редакторе VBA макрос надо перенести из модуля «Module1» в «Лист3» и там у макроса изменить имя с
Sub Макрос1()
на
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
-------
Ну а Про условное форматирование - отдельный вопрос.
Остальные ответы
Сергеевич Гуру (3874) 7 лет назад
Циклом с проверкой значений, то есть если а больше б, тогда не менять, иначе менять а на б. Начинай писать в любой ячейки =если и. т. д
Сергей ПетрикеевУченик (101) 7 лет назад
если можно подробнее, не понимаю
Сергей ПетрикеевУченик (101) 7 лет назад
какие кнопки нажимать и какую функцию использовать. Не могу понять, какой запрос датьяндекс или гуглу, чтобы они мне выдали хоть одну правильную ссылку.
Abram PupkinГений (98888) 7 лет назад
Если это надо сделать единоразово - тогда обычная сортировка по столбцу "В"
Если машина должна проверять и переставлять имена после каждого ввода - тогда макросы
Можно обойтись и без макроса, но тогда необходимо продублировать исходную таблицу
Abram Pupkin Гений (98888) 7 лет назад
ошибочно отправил ответ в комментарий
Если это надо сделать единоразово - тогда обычная сортировка по столбцу "В"
Если машина должна проверять и переставлять имена после каждого ввода - тогда макросы
Можно обойтись и без макроса, но тогда необходимо продублировать исходную таблицу

"J" дополнительный столбец для определения ранга можно скрыть или использовать белые чернила
J2=РАНГ (B2;B$2:B$11;1)+СТРОКА ()*0,01
E2=ИНДЕКС (A$2:A$11;ПОИСКПОЗ (НАИБОЛЬШИЙ (J$2:J$11;СТРОКА (L1));J$2:J$11;0))
F2=ИНДЕКС (B$2:B$11;ПОИСКПОЗ (НАИБОЛЬШИЙ (J$2:J$11;СТРОКА (L1));J$2:J$11;0))
*убрать все пробелы
Похожие вопросы