= если(x>0;1; если(x<0; -1; 0))
x - вводимое число в ячейке. Функция возвращает 1 при x>0, -1 при x<0 и 0 при x=0. В чем суть проблемы, как написал x - число, но заметил, что, если ввести любой знак, то функция также выводит 1, а для пустых ячеек - 0. Хотя должна же возвращать ошибку?
Школы
Помогите, пожалуйста, найти, где неправильно что-то сделал или не добавил: в ячейку excel ввел функцию если:
= если(x>0;1; если(x<0; -1; 0))
Надо показывать НАСТОЯЩУЮ формулу .
похоже что вы вместо ячейки ввели просто "х"
=--(Ч(B3)>0)
эта формула выбирает только числа больше нуля
отрицательные числа , ноль и буквы приравниваются к нулю
если буквы надо как-то отметить/выделить - тогда пишите в комментах
Надо показывать НАСТОЯЩУЮ формулу .
похоже что вы вместо ячейки ввели просто "х"
=--(Ч(B3)>0)
эта формула выбирает только числа больше нуля
отрицательные числа , ноль и буквы приравниваются к нулю

Для ваших целей лучше использовать функцию "ЗНАК" - если аргумент не число - будет давать ошибку. Для чисел - работает ка вам надо. И аргумент всего один.
Если надо реализовать именно через "ЕСЛИ" то стоит добавить проверку на текст вида:
"=ЕСЛИ(Т(х)="";"ОШИБКА: введено не число!; ...) "
где ... - ваша функция.
NB: Для ЕСЛИ "0" это не только "0" и но и "ничего", а значит ввод в строку любого символа - даже пробела, даст значение не ноль - и проверку если пройдет как положительное число (на самом деле для ПК любой символ - это число, туту Ексель просто "умнее" нас с вами).
Если надо реализовать именно через "ЕСЛИ" то стоит добавить проверку на текст вида:
"=ЕСЛИ(Т(х)="";"ОШИБКА: введено не число!; ...) "
где ... - ваша функция.
NB: Для ЕСЛИ "0" это не только "0" и но и "ничего", а значит ввод в строку любого символа - даже пробела, даст значение не ноль - и проверку если пройдет как положительное число (на самом деле для ПК любой символ - это число, туту Ексель просто "умнее" нас с вами).
Марина Агаева
Спасибо, да это попроще.
Проблема в том, что функция IF в Excel не проверяет, является ли аргумент числом, поэтому если в ячейку ввести любой символ, кроме цифр, функция просто будет считать его нулем, и выполняться будет условие "0=0", что верно.
Для того чтобы избежать такой ситуации и возвращать ошибку при некорректном вводе, можно воспользоваться функцией IFERROR в сочетании с функцией IF:
=IFERROR(IF(x>0,1,IF(x<0,-1,0)),"Ошибка")
В этом случае, если в ячейку будет введен не числовой символ, функция IFERROR выведет сообщение "Ошибка". Если же введено число, то функция IF выполнит условие, как описано в вопросе
Для того чтобы избежать такой ситуации и возвращать ошибку при некорректном вводе, можно воспользоваться функцией IFERROR в сочетании с функцией IF:
=IFERROR(IF(x>0,1,IF(x<0,-1,0)),"Ошибка")
В этом случае, если в ячейку будет введен не числовой символ, функция IFERROR выведет сообщение "Ошибка". Если же введено число, то функция IF выполнит условие, как описано в вопросе
Марина Агаева
Спасибо! А то на разных форумах читал, но там только про синтаксис и т.п., а вот про это не знал!!!
Валентина Лола
Не будет работать - для Екселя не ошибка, что он строку с текстом считает положительным числом, а не текстом. Проверять нужно с помощью функции "ЕСЛИ" и "Т" или "Ч".
Похожие вопросы
- Помогите пожалуйста найти реферат по теме "применение фотоэффекта"
- Помогите пожалуйста найти диктант 8 класса
- Помогите пожалуйста найти доклад на литературу про ДЕДА некрасова!!!!
- помогите пожалуйста найти сочинение: История России в произведениях Пушкина помогите пожалуйста я в вас надеюсь
- Помогите пожалуйста решите задачу вот половину я сделала а остальное не знаю пожалуйста помогите мне!
- помогите пожалуйста найти сочинение=(
- Евгений Онегин. Помогите пожалуйста найти ответы на некоторые вопросы ..
- Помогите пожалуйста найти информацию о вкладе Сеченова в изучении сна и сновидений!! ! Пожалуйста
- помогите пожалуйста найти сочинение на тему: "Поведение человека на войне" ( по роману "Война и мир") помогите а
- ПОМОГИТЕ ПОЖАЛУЙСТА! Найдите пожалуйста короткий и не слёзный рассказ о Великой Отечественной войне. Заранее спасибо!