У меня есть следующая функция:
=ЕСЛИ(B4<5, "Отлично", ЕСЛИ(ИЛИ(B4>5, B4<7), "Хорошо", ЕСЛИ(B4>=7, "Удовлетворительно")))
Я хочу поставить оценку «отлично», если значение ячейки меньше 5%, «хорошо», если оно находится между 5 и 7 процентами, и поставить «удовлетворительно», если значение ячейки больше 7%.
Значения ячеек (B4), на которые ссылается функция, выражены в процентах. Кто-нибудь видит, в чем ошибка?
решение1
Отображение в виде % — это форматирование; значение сохраняется как фактическое (десятичное) значение, а не целое число процентов. Для проверки на <5% используйте <.05 и т. д.
Кстати, если вы хотите проверить значение от 5% до 7%, используйте AND вместо OR. OR будет верным, скажем, для 3%, потому что это <7%, или для 8%, потому что это больше 5%.
Кроме того, у вас будут дыры в диапазонах, если вы будете проверять только < и >; вам нужно предусмотреть, когда значения точно равны. Определите, хотите ли вы <= против > или < против >=.
Вы также можете сохранить IF. Ваши первые два IF проверяют все <.07, поэтому ложное условие будет >=.07. Общая форма для IF — IF(условие, истинный результат, ложный результат). Поэтому ваша формула будет выглядеть так:
=IF(B4<.05, "Excellent", IF(AND(B4>=.05, B4<=.07), "Good", "Satisfactory"))
решение2
Поскольку процентная форма находится в диапазоне от 0 до 1, вам следует переписать функцию, например, B4<0,05... Она должна выглядеть следующим образом:
=IF(B4<0.05, "Excellent", IF(OR(B4>0.05, B4<0.07), "Good", IF(B4>=0.07, "Satisfactory")))
Как я вижу, вы забыли определить 5% в своей функции.