
Программное обеспечение
Как изменить место ячеек исходя из их содержимого Excel
Подскажите пожалуйста, как в Excel сделать так, чтобы ячейки в столбцах автоматически меняли свое место (рейтинг) исходя из значений внутри ячейки. Условие: Есть 2 столбца, в одном имена людей (Скргей, Александр, Иван), во втором значение выторга этих людей (к примеру: 150,300,600).Как сделать так, чтобы Excel автоматически поднимал ячейку с максимальным значением выторга и именем человека на 1-е место, среднем на 2-е и самым низким значением на 3-е место. Т. е. необходимо, чтобы поднималась или опускалась ячека не только с максимальным значением, а поднимала/опускала с собой ячейку с именем человека, которому соответствует максимальный/средний/низкий показатель. Ячейкам задано условное форматирование, но только в столбце 2.Условие такое: ячейку с максимальным значением выделять зеленой заливкой, среднее желтой, низкое-красной. Можно как тосделать, чтобы на соответствующий цвет менялось значение ячейки и в первом столбце (с именем человека)?


Как заставить Эксель автоматически поднимать и опускать ячейки?
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)
-------
Ну а Про условное форматирование - отдельный вопрос.

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)
-------
Ну а Про условное форматирование - отдельный вопрос.

ошибочно отправил ответ в комментарий
Если это надо сделать единоразово - тогда обычная сортировка по столбцу "В"
Если машина должна проверять и переставлять имена после каждого ввода - тогда макросы
Можно обойтись и без макроса, но тогда необходимо продублировать исходную таблицу
"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))
*убрать все пробелы

Если это надо сделать единоразово - тогда обычная сортировка по столбцу "В"
Если машина должна проверять и переставлять имена после каждого ввода - тогда макросы
Можно обойтись и без макроса, но тогда необходимо продублировать исходную таблицу
"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))
*убрать все пробелы

http://www.planetaexcel.ru/techniques/2/80/ вам должно помочь.
Циклом с проверкой значений, то есть если а больше б, тогда не менять, иначе менять а на б. Начинай писать в любой ячейки =если и. т. д
Похожие вопросы
- Вопр. по Excel - Как заставить ячейку изменять цвет, скажем на красный, через определенный промежуток времени.
- #ЗНАК! - В Excel при вводе в формулы со ссылкой на ячейку в другой таблице в другом каталоге появляется значение #ЗНАК!
- Помогите с формулой в Excel для выведения слова, исходя из заданного диапазона
- Подскажите, как использовать функцию СЧЕТЕСЛИ в Excel если диапазоп ячеек находится на разных листах.
- в Excel посчитать суммы каждых двух ячеек
- Про Excel. Как сделать мигающую ячейку?
- Как объединить ячейки в Excel при помощи формул?
- Есть в Excel подстановка? Можно сделать в ячейке Excel выбор значений из раскрывающегося списка, как в Access? Как?
- Как в Excel сделать так, что бы в ячейке автоматически считался возраст человека, от установленой даты рождения?
- excel как задать формат ячейки что б я например вес в тоннах забивала 23,45 например а он мне в кг писал? 23450?
Если машина должна проверять и переставлять имена после каждого ввода - тогда макросы
Можно обойтись и без макроса, но тогда необходимо продублировать исходную таблицу