PDA

Просмотр полной версии : Выражение "если" в эксель


Ink
21.09.2010, 19:56
Значится такая проблемка. Есть ячейка A1 c данными. Эти данные нужно сравнить с тремя контрольными значениями и, в зависимости от того, в какой интервал между контрольными значениями попадают наши данные выставить оценку 5,4,3 или 2. Проще говоря я шаманю рейтинг студентов в эксель и чего-то ничего не выходит :( Для условности давайте считать, что оценка 3 начинается от 30 баллов (соответственно 29 и ниже это "2"), "4" от 40 баллов (соответственно, всё, что входит в диапазон 30-39), и "5" от 50 баллов. Т.е.
0-29=2
30-39=3
40-49=4
>50=5
И вот эту задачку надо решить через эксель...

Добавлено через 9 минут 19 секунд
Вроде бы получилось:
=ЕСЛИ(A1>50;"5";ЕСЛИ(A1>40;"4";ЕСЛИ(A1>30;"3";ЕСЛИ(A1<=29;"2";"2"))))

Добавлено через 33 секунды
Но я сомневаюсь...

Jacky
21.09.2010, 21:32
А вот так визуально не проще ли?
=ПРОСМОТР(A1;{0;30;40;50};{2;3;4;5})

Ink
21.09.2010, 21:38
А вот так визуально не проще ли?
И та, и та формула дают одинаковый рейтинг... Так что не знаю... Первую я делал по инструкции из справки, а вот про вторую надо будет почитать. :cool:

Jacky
21.09.2010, 21:55
Ink, через "Если" можно тоже чуть проще визуально:
=ЕСЛИ(A1>49;5;ЕСЛИ(A1>39;4;ЕСЛИ(A1>29;3;2)))
В общем-то пофиг, если работает как надо.

Добавлено через 10 минут 13 секунд
Ink, я присмотрелся чуть внимательнее к формуле из первого поста, она неверная для граничных условий. Для 30 баллов поставит двойку, а по условиям должна быть тройка уже. С остальными баллами (40, 50) так же.
И самая последняя вложенная функция, вот этот кусок:
ЕСЛИ(A1<=29;"2";"2")
бессмысленна, т.к. возвращает "2" при любом значении, не важно, истина или ложь. И в таком виде оно просто не нужно.
В общем, если это всё поправить, то и приходим к моему варианту чуть выше. :cool:

Да, еще цифровые значения не обязательно обрамлять кавычками, excel справится и так, зато будет нагляднее и меньше мельтешить в глазах от кучи служебных символов. Вот если бы там был текст, тогда да.