Почему логические условия в Excel не срабатывают: проверка формул

Иван Корнев·18 августа 2026·3 мин

Если логические условия в Excel не срабатывают, причина чаще всего в типах данных (числа как текст), скрытых пробелах, ошибках округления или неверных разделителях в формуле ЕСЛИ.

Оглавление

Причины сбоев условий больше/меньше

  1. Числа сохранены как текст. Самая частая причина. Excel сравнивает такие значения посимвольно (например, текст "9" будет больше текста "10", так как '9' > '1'). Диагностика: число прижато к левому краю ячейки, а не к правому.
  2. Лишние пробелы и непечатаемые символы. Делают значения фактически неравными, даже если визуально данные выглядят идентично.
  3. Ошибки округления. Excel хранит числа с плавающей запятой с точностью до 15 знаков. Результат вычисления может отличаться от ожидаемого на ничтожно малую величину, из-за чего строгое равенство не срабатывает.
  4. Синтаксические ошибки. В русской локали разделитель аргументов функции ЕСЛИ — точка с запятой (;), а не запятая. Текстовые значения должны быть в кавычках, числа — без.
  5. Сравнение разных типов данных. В Excel существует внутренний приоритет типов: текст > число > ЛОЖЬ > ИСТИНА. Сравнение числа с текстом дает непредсказуемый результат.
  6. Региональные настройки. Путаница между десятичным разделителем (запятая или точка) в системных настройках и вводимыми данными, особенно при работе с отрицательными дробями.

Как исправить формулы ЕСЛИ и сравнения

Для устранения сбоев примените соответствующие решения в зависимости от установленной причины:

  • Преобразование текста в число: используйте функцию ЗНАЧЕН() для преобразования или инструмент «Текст по столбцам» для массового исправления формата ячеек.
  • Очистка от пробелов: оберните проверяемое значение в функции СЖПРОБЕЛЫ() и ПЕЧСИМВ() перед сравнением.
  • Корректировка точности: при сравнении результатов вычислений используйте функцию ОКРУГЛ() до нужного количества знаков или проверяйте разницу на пороговое значение (допуск) вместо прямого равенства.
  • Проверка синтаксиса: убедитесь, что в формуле используется ; для разделения аргументов, а текстовые критерии заключены в двойные кавычки (например, ="Да").

Всегда проверяйте, что оба операнда в условии имеют одинаковый тип данных. Сравнение числа с текстом или логическим значением нарушит логику из-за приоритета типов данных в Excel.

Частые ошибки

  • Использование запятой вместо точки с запятой в качестве разделителя аргументов в русской версии Excel.
  • Отсутствие кавычек вокруг текстовых значений в условии (например, написание =ЕСЛИ(A1=Да; ...) вместо =ЕСЛИ(A1="Да"; ...)).
  • Игнорирование скрытых символов, из-за которых функция СЖПРОБЕЛЫ() становится необходимой для корректного сравнения.
  • Прямое сравнение результатов математических операций без использования ОКРУГЛ(), что приводит к сбоям из-за особенностей хранения чисел с плавающей запятой.

FAQ

Почему Excel считает, что 9 больше 10?
Скорее всего, числа сохранены как текст. В текстовом формате сравнение идет посимвольно, и символ «9» действительно больше символа «1». Преобразуйте данные в числовой формат с помощью функции ЗНАЧЕН() или инструмента «Текст по столбцам».

Как правильно сравнить два числа с плавающей запятой в формуле ЕСЛИ?
Используйте функцию ОКРУГЛ() для обоих сравниваемых значений до нужного количества знаков. Альтернативный способ — проверять, что модуль их разницы меньше допустимого отклонения (например, 0,0001).

Почему формула ЕСЛИ выдает ошибку из-за запятой?
В русской локали Excel разделителем аргументов функций является точка с запятой (;). Если в формуле используются запятые, система распознает это как синтаксическую ошибку. Замените запятые на ;.