Как проверить значение функции в excel

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще…Меньше

Кроме неожиданных результатов, формулы иногда возвращают значения ошибок. Ниже представлены некоторые инструменты, с помощью которых вы можете искать и исследовать причины этих ошибок и определять решения.

Примечание: В статье также приводятся методы, которые помогут вам исправлять ошибки в формулах. Этот список не исчерпывающий — он не охватывает все возможные ошибки формул. Для получения справки по конкретным ошибкам поищите ответ на свой вопрос или задайте его на форуме сообщества Microsoft Excel.

Ссылка на форум сообщества Excel

Ввод простой формулы

Формулы — это выражения, с помощью которых выполняются вычисления со значениями на листе. Формула начинается со знака равенства (=). Например, следующая формула складывает числа 3 и 1:

=3+1

Формула также может содержать один или несколько из таких элементов: функции, ссылки, операторы и константы.

Части формулы

Части формулы

  1. Функции: это специальные формулы Excel, которые выполняют определенные вычисления. Например, функция ПИ() возвращает значение числа Пи: 3,142…

  2. Ссылки: это ссылки на отдельные ячейки или диапазоны. Например, A2 возвращает значение ячейки A2.

  3. Константы. Числа или текстовые значения, введенные непосредственно в формулу, например 2.

  4. Операторы: оператор * (звездочка) служит для умножения чисел, а оператор ^ (крышка) — для возведения числа в степень. С помощью + и – можно складывать и вычитать значения, а с помощью / — делить их.

    Примечание: Для некоторых функций требуются так называемые аргументы. Аргументы — это значения, которые некоторые функции используют при вычислениях. Аргументы функции указываются в ее скобках (). Функция ПИ не требует аргументов, поэтому у нее пустые скобки. У некоторых функций несколько аргументов, в том числе необязательные. Аргументы разделяются точкой с запятой (;).

Например, функция СУММ требует только один аргумент, но у нее может быть до 255 аргументов (включительно).

Функция СУММ

Пример одного аргумента: =СУММ(A1:A10).

Пример нескольких аргументов: =СУММ(A1:A10;C1:C10).

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

Рекомендация

Дополнительные сведения

Начинайте каждую формулу со знака равенства (=)

Если опустить знак равенства, введенные данные могут отображаться в виде текста или даты. Например, при вводе СУММ(A1:A10)Excel отображает текстовую строку SUM(A1:A10) и не выполняет вычисление. Если ввести значение 11/2, вместо деления 11 на 2 Excel отображается дата 2–ноя (при условии, что ячейка имеет формат «Общий«) вместо деления 11 на 2.

Следите за соответствием открывающих и закрывающих скобок

Все скобки должны быть парными (открывающая и закрывающая). Если в формуле используется функция, для ее правильной работы важно, чтобы все скобки стояли в правильных местах. Например, формула =ЕСЛИ(B5<0);»Недопустимо»;B5*1,05) не будет работать, поскольку в ней две закрывающие скобки и только одна открывающая (требуется одна открывающая и одна закрывающая). Правильный вариант этой формулы выглядит так: =ЕСЛИ(B5<0;»Недопустимо»;B5*1,05).

Для указания диапазона используйте двоеточие

Указывая диапазон ячеек, разделяйте с помощью двоеточия (:) ссылку на первую ячейку в диапазоне и ссылку на последнюю ячейку в диапазоне. Например, =SUM(A1:A5), а не =SUM(A1 A5), которые возвращают #NULL! Ошибка.

Вводите все обязательные аргументы

У некоторых функций есть обязательные аргументы. Старайтесь также не вводить слишком много аргументов.

Вводите аргументы правильного типа

В некоторых функциях, например СУММ, необходимо использовать числовые аргументы. В других функциях, например ЗАМЕНИТЬ, требуется, чтобы хотя бы один аргумент имел текстовое значение. Если использовать в качестве аргумента данные неправильного типа, Excel может возвращать непредвиденные результаты или ошибку.

Число уровней вложения функций не должно превышать 64

В функцию можно вводить (или вкладывать) не более 64 уровней вложенных функций.

Имена других листов должны быть заключены в одинарные кавычки

Если формула содержит ссылки на значения или ячейки на других листах или в других книгах, а имя другой книги или листа содержит пробелы или другие небуквенные символы, его необходимо заключить в одиночные кавычки (‘), например: =’Данные за квартал’!D3 или =‘123’!A1.

Указывайте после имени листа восклицательный знак (!), когда ссылаетесь на него в формуле

Например, чтобы возвратить значение ячейки D3 листа «Данные за квартал» в той же книге, воспользуйтесь формулой =’Данные за квартал’!D3.

Указывайте путь к внешним книгам

Убедитесь, что каждая внешняя ссылка содержит имя книги и путь к ней.

Ссылка на книгу содержит имя книги и должна быть заключена в квадратные скобки ([Имякниги.xlsx]). В ссылке также должно быть указано имя листа в книге.

В формулу также можно включить ссылку на книгу, не открытую в Excel. Для этого необходимо указать полный путь к соответствующему файлу, например: =ЧСТРОК(‘C:My Documents[Показатели за 2-й квартал.xlsx]Продажи’!A1:A8). Эта формула возвращает количество строк в диапазоне ячеек с A1 по A8 в другой книге (8).

Примечание: Если полный путь содержит пробелы, как в приведенном выше примере, необходимо заключить его в одиночные кавычки (в начале пути и после имени книги перед восклицательным знаком).

Числа нужно вводить без форматирования

Не форматируйте числа, которые вводите в формулу. Например, если нужно ввести в формулу значение 1 000 рублей, введите 1000. Если вы введете какой-нибудь символ в числе, Excel будет считать его разделителем. Если вам нужно, чтобы числа отображались с разделителями тысяч или символами валюты, отформатируйте ячейки после ввода чисел.

Например, если для прибавления 3100 к значению в ячейке A3 используется формула =СУММ(3 100;A3), Excel не складывает 3100 и значение в ячейке A3 (как было бы при использовании формулы =СУММ(3100;A3)), а суммирует числа 3 и 100, после чего прибавляет полученный результат к значению в ячейке A3. Другой пример: если ввести =ABS(-2 134), Excel выведет ошибку, так как функция ABS принимает только один аргумент: =ABS(-2134).

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

Существуют два способа пометки и исправления ошибок: последовательно (как при проверке орфографии) или сразу при появлении ошибки во время ввода данных на листе.

Ошибку можно исправить с помощью параметров, отображаемых приложением Excel, или игнорировать, щелкнув команду Пропустить ошибку. Ошибка, пропущенная в конкретной ячейке, не будет больше появляться в этой ячейке при последующих проверках. Однако все пропущенные ранее ошибки можно сбросить, чтобы они снова появились.

  1. Для Excel в Windows щелкните Параметры > файла > формулы.
    Для Excel на Mac щелкните меню Excel > Параметры > проверки ошибок

    В Excel 2007 нажмите кнопку Microsoft Office Изображение кнопки Office и выберите Параметры Excel > Формулы.

  2. В разделе Поиск ошибок установите флажок Включить фоновый поиск ошибок. Все найденные ошибки помечаются треугольником в левом верхнем углу ячейки.

    Ячейка с неправильной формулой

  3. Чтобы изменить цвет треугольника, которым помечаются ошибки, выберите нужный цвет в поле Цвет индикаторов ошибок.

  4. В разделе Правила поиска ошибок установите или снимите флажок для любого из следующих правил:

    • Ячейки, содержащие формулы, которые приводят к ошибке. Формула не использует ожидаемый синтаксис, аргументы или типы данных. Значения ошибок: #DIV/0!, #N/A, #NAME?, #NULL!, #NUM!, #REF!и #VALUE!. Каждое из этих значений ошибок имеет разные причины и разрешается по-разному.

      Примечание: Если ввести значение ошибки прямо в ячейку, оно сохраняется как значение ошибки, но не помечается как ошибка. Но если на эту ячейку ссылается формула из другой ячейки, эта формула возвращает значение ошибки из ячейки.

    • Несогласованная формула вычисляемого столбца в таблицах. Вычисляемый столбец может содержать отдельные формулы, отличающиеся от формулы главного столбца, что создает исключение. Исключения вычисляемого столбца возникают при указанных ниже действиях.

      • Ввод данных, не являющихся формулой, в ячейку вычисляемого столбца.

      • Введите формулу в ячейку вычисляемого столбца, а затем нажмите клавиши CTRL+Z или нажмите кнопку Отменить Кнопка отмены на панели быстрого доступа.

      • Ввод новой формулы в вычисляемый столбец, который уже содержит одно или несколько исключений.

      • Копирование в вычисляемый столбец данных, не соответствующих формуле столбца. Если копируемые данные содержат формулу, эта формула перезапишет данные в вычисляемом столбце.

      • Перемещение или удаление ячейки из другой области листа, если на эту ячейку ссылалась одна из строк в вычисляемом столбце.

    • Ячейки, содержащие годы, представленные в виде 2 цифр: ячейка содержит текстовую дату, которая может быть неправильно интерпретирована как неправильный век, если она используется в формулах. Например, дата в формуле =ГОД(«1.1.31») может относиться как к 1931, так и к 2031 году. Используйте это правило для выявления дат в текстовом формате, допускающих двоякое толкование.

    • Числа в формате текста или предшествуют апострофу. Ячейка содержит числа, хранящиеся в виде текста. Обычно это является следствием импорта данных из других источников. Числа, хранящиеся как текст, могут стать причиной неправильной сортировки, поэтому лучше преобразовать их в числовой формат. ‘=SUM(A1:A10) рассматривается как текст.

    • Формулы, несовместимые с другими формулами в регионе. Формула не соответствует шаблону других формул, расположенных рядом с ней. Во многих случаях формулы, соседствующие с другими формулами, отличаются только используемыми ссылками. В следующем примере из четырех смежных формул Excel отображает ошибку рядом с формулой =СУММ(A10:C10) в ячейке D4, так как смежные формулы увеличиваются на одну строку, а одна — на 8 строк. Excel ожидает формулу =СУММ(A4:C4).

      Excel сообщает об ошибке, если формула не похожа на смежные.

      Если используемые в формуле ссылки не соответствуют ссылкам в смежных формулах, приложение Microsoft Excel сообщит об ошибке.

    • Формулы, опускающие ячейки в области. Формула не может автоматически включать ссылки на данные, которые вы вставляете между исходным диапазоном данных и ячейкой, содержащей формулу. Это правило позволяет сравнить ссылку в формуле с фактическим диапазоном ячеек, смежных с ячейкой, содержащей формулу. Если смежные ячейки содержат дополнительные значения и не являются пустыми, Excel отображает рядом с формулой ошибку.

      Например, при использовании этого правила Excel отображает ошибку для формулы =СУММ(D2:D4), поскольку ячейки D5, D6 и D7, смежные с ячейками, на которые ссылается формула, и ячейкой с формулой (D8), содержат данные, на которые должна ссылаться формула.

      Excel сообщает об ошибке, если формула пропускает ячейку в диапазоне

    • Незаблокированные ячейки, содержащие формулы. Формула не заблокирована для защиты. По умолчанию все ячейки на листе блокируются, поэтому их нельзя изменить при защите листа. Это поможет избежать случайных ошибок, таких как случайное удаление или изменение формул. Эта ошибка указывает, что ячейка была разблокирована, но лист не был защищен. Убедитесь, что ячейка не заблокирована.

    • Формулы, ссылающиеся на пустые ячейки. Формула содержит ссылку на пустую ячейку. Это может привести к неверным результатам, как показано в приведенном далее примере.

      Предположим, требуется найти среднее значение чисел в приведенном ниже столбце ячеек. Если третья ячейка пуста, она не используется в расчете, поэтому результатом будет значение 22,75. Если эта ячейка содержит значение 0, результат будет равен 18,2.

      Excel сообщает об ошибке, если формула ссылается на пустые ячейки

    • Данные, введенные в таблицу, недопустимы. В таблице возникает ошибка проверки. Проверьте параметр проверки ячейки, перейдя на вкладку Данные > группу Data Tools > Проверка данных.

  1. Выберите лист, на котором требуется проверить наличие ошибок.

  2. Если расчет листа выполнен вручную, нажмите клавишу F9, чтобы выполнить расчет повторно.

    Если диалоговое окно Поиск ошибок не отображается, щелкните вкладку Формулы, выберите Зависимости формул и нажмите кнопку Поиск ошибок.

  3. Чтобы повторно проверить пропущенные ранее ошибки, щелкните Файл > Параметры > Формулы. Для Excel на Mac щелкните меню Excel > Параметры > проверки ошибок.

    В разделе Поиск ошибок выберите Сброс пропущенных ошибок и нажмите кнопку ОК.

    Поиск ошибок

    Примечание: Сброс пропущенных ошибок применяется ко всем ошибкам, которые были пропущены на всех листах активной книги.

    Совет: Советуем расположить диалоговое окно Поиск ошибок непосредственно под строкой формул.

    Перетащите диалоговое окно "Поиск ошибок" под строку формул

  4. Нажмите одну из управляющих кнопок в правой части диалогового окна. Доступные действия зависят от типа ошибки.

  5. Нажмите кнопку Далее.

Примечание: Если нажать кнопку Пропустить ошибку, помеченная ошибка при последующих проверках будет пропускаться.

  1. Рядом с ячейкой нажмите кнопку «Проверка ошибок » Значок "Проверка ошибок" , а затем выберите нужный параметр. Доступные команды различаются для каждого типа ошибки, и первая запись описывает ошибку.

    Если нажать кнопку Пропустить ошибку, помеченная ошибка при последующих проверках будет пропускаться.

    Перетащите диалоговое окно "Поиск ошибок" под строку формул

Если формула не может правильно вычислить результат, в Excel отображается значение ошибки, например #####, #ДЕЛ/0!, #Н/Д, #ИМЯ?, #ПУСТО!, #ЧИСЛО!, #ССЫЛКА!, #ЗНАЧ!. Ошибки разного типа имеют разные причины и разные способы решения.

Приведенная ниже таблица содержит ссылки на статьи, в которых подробно описаны эти ошибки, и краткое описание.

Статья

Описание

Исправление ошибки ####

Эта ошибка отображается в Excel, если столбец недостаточно широк, чтобы показать все символы в ячейке, или ячейка содержит отрицательное значение даты или времени.

Например, результатом формулы, вычитающей дату в будущем из даты в прошлом (=15.06.2008-01.07.2008), является отрицательное значение даты.

Совет: Попробуйте автоматически изменить ширину ячейки, дважды щелкнув между заголовками столбцов. Если ### отображается потому, что Excel не может отобразить все знаки, эта проблема будет исправлена.

Ошибка с #

Исправление ошибки #ДЕЛ/0! #ПУСТО!

Эта ошибка отображается в Excel, если число делится на ноль (0) или на ячейку без значения.

Совет: Добавьте обработчик ошибок, как в примере ниже: =ЕСЛИ(C2;B2/C2;0).

Для скрытия ошибок можно использовать функцию обработки ошибок, например ЕСЛИ

Исправление ошибки #Н/Д

Эта ошибка отображается в Excel, если функции или формуле недоступно значение.

Если вы используете такую функцию, как ВПР, есть ли для искомого значения соответствие в диапазоне поиска? Скорее всего, нет.

Используйте функцию ЕСЛИОШИБКА для подавления ошибки #Н/Д. В этом случае можно ввести следующее:

=ЕСЛИОШИБКА(ВПР(D2;$D$6:$E$8;2;ИСТИНА);0)

Ошибка #Н/Д

Исправление ошибки #ИМЯ? #ПУСТО!

Эта ошибка отображается, если Excel не распознает текст в формуле. Например имя диапазона или имя функции написано неправильно.

Примечание: Если вы используете функцию, убедитесь, что ее имя написано неправильно. В данном случае слово СУММ введено с ошибкой. Удалите «а», и Excel исправит формулу.

Ошибка #ИМЯ? выводится, если в имени функции есть опечатка

Исправление ошибки #ПУСТО!

Эта ошибка отображается в Excel, когда вы указываете пересечение двух областей, которые не пересекаются. Оператором пересечения является пробел, разделяющий ссылки в формуле.

Примечание: Убедитесь, что диапазоны разделены правильно: области C2:C3 и E4:E6 не пересекаются, поэтому ввод формулы =СУММ(C2:C3 E4:E6) возвращает #NULL! Если позиция, которую вы указали, находится перед первым или после последнего элемента в поле, формула возвращает ошибку #ССЫЛКА!. Если поставить запятую между диапазонами C и E, она будет исправлена =СУММ(C2:C3;E4:E6)

#ПУСТО! #ПУСТО!

Исправление ошибки #ЧИСЛО! #ПУСТО!

Эта ошибка отображается в Excel, если формула или функция содержит недопустимые числовые значения.

Используете ли вы функцию, которая выполняет итерацию, например IRR или RATE? Если да, то #NUM! ошибка, вероятно, из-за того, что функция не может найти результат. Инструкции по устранению неполадок см. в разделе справки.

Исправление ошибки #ССЫЛКА! #ПУСТО!

Эта ошибка отображается в Excel при наличии недопустимой ссылки на ячейку. Например, вы удалили ячейки, на которые ссылались другие формулы, или вставили поверх них другие ячейки.

Вы случайно удалили строку или столбец? Смотрите, что произошло после удаления столбца B в формуле =СУММ(A2;B2;C2).

Нажмите кнопку Отменить (или клавиши CTRL+Z), чтобы отменить удаление, измените формулу или используйте ссылку на непрерывный диапазон (=СУММ(A2:C2)), которая автоматически обновится при удалении столбца B.

Ошибка #ЗНАЧ! отображается в Excel при наличии недопустимой ссылки на ячейку

Исправление ошибки #ЗНАЧ! #ПУСТО!

Эта ошибка отображается в Excel, если в формуле используются ячейки, содержащие данные не того типа.

Вы используйте математические операторы (+, -, *, / ^) с разными типами данных? В таком случае попробуйте использовать вместо них функцию. В этом случае =СУММ(F2:F5) поможет устранить проблему.

#ЗНАЧ! #ПУСТО!

Если ячейки не видны на листе, для просмотра их и содержащихся в них формул можно использовать панель инструментов «Окно контрольного значения». С помощью окна контрольного значения удобно изучать, проверять зависимости или подтверждать вычисления и результаты формул на больших листах. При этом вам не требуется многократно прокручивать экран или переходить к разным частям листа.

Окно контрольного значения позволяет отслеживать формулы на листе

Эту панель инструментов можно перемещать и закреплять, как и любую другую. Например, можно закрепить ее в нижней части окна. На панели инструментов выводятся следующие свойства ячейки: 1) книга, 2) лист, 3) имя (если ячейка входит в именованный диапазон), 4) адрес ячейки 5) значение и 6) формула.

Примечание: Для каждой ячейки может быть только одно контрольное значение.

Добавление ячеек в окно контрольного значения

  1. Выделите ячейки, которые хотите просмотреть.

    Чтобы выделить все ячейки с формулами, на вкладке Главная в группе Редактирование нажмите кнопку Найти и выделить (вы также можете нажать клавиши CTRL+G или CONTROL+G на компьютере Mac). Затем выберите Выделить группу ячеек и Формулы.

    Диалоговое окно "Специальная вставка"

  2. На вкладке Формулы в группе Зависимости формул нажмите кнопку Окно контрольного значения.

  3. Нажмите кнопку Добавить контрольное значение.

    Нажмите кнопку "Добавить контрольное значение", чтобы добавить контрольное значение на лист

  4. Убедитесь, что вы выделили все ячейки, которые хотите отследить, и нажмите кнопку Добавить.

    Введите диапазон ячеек в поле "Добавить контрольное значение"

  5. Чтобы изменить ширину столбца, перетащите правую границу его заголовка.

  6. Чтобы открыть ячейку, ссылка на которую содержится в записи панели инструментов «Окно контрольного значения», дважды щелкните запись.

    Примечание: Ячейки, содержащие внешние ссылки на другие книги, отображаются на панели инструментов «Окно контрольного значения» только в случае, если эти книги открыты.

Удаление ячеек из окна контрольного значения

  1. Если окно контрольного значения не отображается, на вкладке Формула в группе Зависимости формул нажмите кнопку Окно контрольного значения.

  2. Выделите ячейки, которые нужно удалить.

    Чтобы выделить несколько ячеек, щелкните их, удерживая нажатой клавишу CTRL.

  3. Нажмите кнопку Удалить контрольное значение.

    Удалить контрольное значение

Иногда трудно понять, как вложенная формула вычисляет конечный результат, поскольку в ней выполняется несколько промежуточных вычислений и логических проверок. Но с помощью диалогового окна Вычисление формулы вы можете увидеть, как разные части вложенной формулы вычисляются в заданном порядке. Например, формулу =ЕСЛИ(СРЗНАЧ(D2:D5)>50;СУММ(E2:E5);0) будет легче понять, если вы увидите промежуточные результаты:

Команда "Вычислить формулу" позволяет увидеть, как вычисляются части вложенной формулы

В диалоговом окне «Вычисление формулы»

Описание

=ЕСЛИ(СРЗНАЧ(D2:D5)>50;СУММ(E2:E5);0)

Сначала выводится вложенная формула. Функции СРЗНАЧ и СУММ вложены в функцию ЕСЛИ.

Диапазон ячеек D2:D5 содержит значения 55, 35, 45 и 25, поэтому функция СРЗНАЧ(D2:D5) возвращает результат 40.

=ЕСЛИ(40>50;СУММ(E2:E5);0)

Диапазон ячеек D2:D5 содержит значения 55, 35, 45 и 25, поэтому функция СРЗНАЧ(D2:D5) возвращает результат 40.

=ЕСЛИ(ЛОЖЬ;СУММ(E2:E5);0)

Поскольку 40 не больше 50, выражение в первом аргументе функции ЕСЛИ (аргумент лог_выражение) имеет значение ЛОЖЬ.

Функция ЕСЛИ возвращает значение третьего аргумента (аргумент значение_если_ложь). Функция СУММ не вычисляется, поскольку она является вторым аргументом функции ЕСЛИ (аргумент значение_если_истина) и возвращается только тогда, когда выражение имеет значение ИСТИНА.

  1. Выделите ячейку, которую нужно вычислить. За один раз можно вычислить только одну ячейку.

  2. Откройте вкладку Формулы и выберите Зависимости формул > Вычислить формулу.

  3. Нажмите кнопку Вычислить, чтобы проверить значение подчеркнутой ссылки. Результат вычисления отображается курсивом.

    Если подчеркнутая часть формулы является ссылкой на другую формулу, нажмите кнопку Шаг с заходом, чтобы отобразить другую формулу в поле Вычисление. Нажмите кнопку Шаг с выходом, чтобы вернуться к предыдущей ячейке и формуле.

    Кнопка Шаг с заходом недоступна для ссылки, если ссылка используется в формуле во второй раз или если формула ссылается на ячейку в отдельной книге.

  4. Продолжайте нажимать кнопку Вычислить, пока не будут вычислены все части формулы.

  5. Чтобы посмотреть вычисление еще раз, нажмите кнопку Начать сначала.

  6. Чтобы закончить вычисление, нажмите кнопку Закрыть.

Примечания: 

  • Некоторые части формул, в которых используются функции ЕСЛИ и ВЫБОР, не вычисляются. В таких случаях в поле Вычисление отображается значение #Н/Д.

  • Если ссылка пуста, в поле Вычисление отображается нулевое значение (0).

  • Некоторые функции вычисляются заново при каждом изменении листа, так что результаты в диалоговом окне Вычисление формулы могут отличаться от тех, которые отображаются в ячейке. Это функции СЛЧИС, ОБЛАСТИ, ИНДЕКС, СМЕЩ, ЯЧЕЙКА, ДВССЫЛ, ЧСТРОК, ЧИСЛСТОЛБ, ТДАТА, СЕГОДНЯ, СЛУЧМЕЖДУ.

Дополнительные сведения

Подключитесь к эксперту. Учитесь у живых инструкторов.

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

См. также

Отображение связей между формулами и ячейками

Рекомендации, позволяющие избежать появления неработающих формул

Нужна дополнительная помощь?

Проверка переменных и выражений с помощью встроенных функций VBA Excel: IsArray, IsDate, IsEmpty, IsError, IsMissing, IsNull, IsNumeric, IsObject.

Проверка переменных и выражений

Встроенные функции VBA Excel — IsArray, IsDate, IsEmpty, IsError, IsMissing, IsNull, IsNumeric, IsObject — проверяют значения переменных и выражений на соответствие определенному типу данных или специальному значению.

Синтаксис функций для проверки переменных и выражений:

Expression — выражение, переменная или необязательный аргумент для IsMissing.

Все функции VBA Excel для проверки переменных и выражений являются логическими и возвращают значение типа Boolean — True или False.

Функция IsArray

Описание функции

Функция IsArray возвращает значение типа Boolean, указывающее, является ли переменная массивом:

  • True — переменная является массивом;
  • False — переменная не является массивом.

Пример с IsArray

Sub Primer1()

Dim arr1(), arr2(1 To 10), arr3

    Debug.Print IsArray(arr1)  ‘Результат: True

    Debug.Print IsArray(arr2)  ‘Результат: True

    Debug.Print IsArray(arr3)  ‘Результат: False

arr3 = Array(1, 2, 3, 4, 5)

    Debug.Print IsArray(arr3)  ‘Результат: True

End Sub

Как показывает пример, функция IsArray возвращает True и в том случае, если переменная только объявлена как массив, но еще не содержит значений.

Функция IsDate

Описание функции

Функция IsDate возвращает логическое значение, указывающее, содержит ли переменная значение, которое можно интерпретировать как дату:

  • True — переменная содержит дату, выражение возвращает дату, переменная объявлена с типом As Date;
  • False — в иных случаях.

Пример с IsDate

Sub Primer2()

Dim d1 As String, d2 As Date

    Debug.Print IsDate(d1)  ‘Результат: False

    Debug.Print IsDate(d2)  ‘Результат: True

d1 = «14.01.2023»

    Debug.Print IsDate(d1)  ‘Результат: True

    Debug.Print IsDate(Now)  ‘Результат: True

End Sub

Функция IsEmpty

Описание функции

Функция IsEmpty возвращает значение типа Boolean, указывающее, содержит ли переменная общего типа (As Variant) значение Empty:

  • True — переменная содержит значение Empty;
  • False — переменной присвоено значение, отличное от Empty.

Пример с IsEmpty

Sub Primer3()

Dim s As String, v As Variant

    Debug.Print IsEmpty(s)  ‘Результат: False

    Debug.Print IsEmpty(v)  ‘Результат: True

v = 125

    Debug.Print IsEmpty(v)  ‘Результат: False

Range(«A1»).Clear

    Debug.Print IsEmpty(Range(«A1»))  ‘Результат: True

Range(«A1») = 123

    Debug.Print IsEmpty(Range(«A1»))  ‘Результат: False

End Sub

Как видно из примера, функцию IsEmpty можно использовать для проверки ячеек на содержание значения Empty (пустая ячейка общего формата).

Функция IsError

Описание функции

Функция IsError возвращает логическое значение, указывающее, является ли аргумент функции значением ошибки, определенной пользователем:

  • True — аргумент функции является значением ошибки, определенной пользователем;
  • False — в иных случаях.

Пользователь может определить одну или несколько ошибок для своей процедуры или функции с рекомендациями действий по ее (их) исправлению. Возвращается номер ошибки с помощью функции CVErr.

Пример с IsError

Допустим, пользователь определил, что ошибка №25 означает несоответствие аргумента функции Vkuba числовому формату:

Function Vkuba(x)

    If IsNumeric(x) Then

        Vkuba = x ^ 3

    Else

        Vkuba = CVErr(25)

    End If

End Function

Sub Primer4()

    Debug.Print Vkuba(5)  ‘Результат: 125

    Debug.Print IsError(Vkuba(5))  ‘Результат: False

    Debug.Print Vkuba(«пять»)  ‘Результат: Error 25

    Debug.Print IsError(Vkuba(«пять»))  ‘Результат: True

End Sub

Функция IsMissing

Описание функции

Функция IsMissing возвращает значение типа Boolean, указывающее, был ли необязательный аргумент типа данных Variant передан процедуре:

  • True — если в процедуру не было передано значение для необязательного аргумента;
  • False — значение для необязательного аргумента было передано в процедуру.

Пример с IsMissing

Function Scepka(x, Optional y)

    If Not IsMissing(y) Then

        Scepka = x & y

    Else

        Scepka = x & » (а необязательный аргумент не подставлен)»

    End If

End Function

Sub Primer5()

    Debug.Print Scepka(«Тропинка», » в лесу»)  ‘Результат: Тропинка в лесу

    Debug.Print Scepka(«Тропинка»)  ‘Результат: Тропинка (а необязательный аргумент не подставлен)

End Sub

Функция IsNull

Описание функции

Функция IsNull возвращает логическое значение, указывающее, является ли Null значением переменной или выражения:

  • True — значением переменной или выражения является Null;
  • False — в иных случаях.

Пример с IsNull

Функция IsNull особенно необходима из-за того, что любое условие с выражением, в которое входит ключевое слово Null, возвращает значение False:

Sub Primer6()

Dim Var

Var = Null

    If Var = Null Then Debug.Print Var  ‘Результат: «»

    If Var <> Null Then Debug.Print Var  ‘Результат: «»

    If IsNull(Var) Then Debug.Print Var  ‘Результат: Null

End Sub

Функция IsNumeric

Описание функции

Функция IsNumeric возвращает значение типа Boolean, указывающее, можно ли значение выражения или переменной рассматривать как число:

  • True — если аргумент функции может рассматриваться как число;
  • False — в иных случаях.

Пример с IsNumeric

Sub Primer7()

Debug.Print IsNumeric(«3,14»)  ‘Результат: True

Debug.Print IsNumeric(«четыре»)  ‘Результат: False

End Sub

Функция IsObject

Описание функции

Функция IsObject возвращает логическое значение, указывающее, является ли переменная объектной:

  • True — переменная содержит ссылку на объект или значение Nothing;
  • False — в иных случаях.

Функция IsObject актуальна для переменных типа Variant, которые могут содержать как ссылки на объекты, так и значения других типов данных.

Пример с IsObject

Sub Primer8()

Dim myObj As Object, myVar As Variant

    Debug.Print IsObject(myObj)  ‘Результат: True

    Debug.Print IsObject(myVar)  ‘Результат: False

Set myVar = ActiveSheet

    Debug.Print IsObject(myVar)  ‘Результат: True

End Sub


На чтение 3 мин Просмотров 4к. Опубликовано 07.12.2021

Эта функция проверяет, правильно ли заданное в аргументах утверждение, если да то выполняет указанное действие. Например, можно просто вывести ИСТИНА или ЛОЖЬ.

Содержание

  1. Результат функции
  2. Формула
  3. Аргументы функции
  4. Важная информация
  5. Примеры
  6. Проверяем соответствует ли число заданным критериям с помощью функции ЕСЛИ в Excel
  7. Проверяем сразу несколько критериев
  8. Вычисляем комиссию
  9. Пример 4: Использование логических операторов (AND/OR) в функции IF в Excel
  10. Как убрать ошибки при использовании функции ЕСЛИ в Excel

Результат функции

Результатом функции будет указанное вами значение, указать это самое значение можно для двух исходов(истина или ложь)

Формула


=ЕСЛИ(проверяемый_аргумент; значение_если_истина; значение_если_ложь)

Аргументы функции

  • проверяемый аргумент — аргумент, который, в результате выполнения функции, будет проверен. Результатом будет ИСТИНА либо ЛОЖЬ;
  • значение_если_истина — значение, которое вернет функция ЕСЛИ в случае, если проверяемый аргумент оказался истиной.
  • значение_если_ложь — значение, которое вернет функция ЕСЛИ в случае, если проверяемый аргумент оказался ложью.

Важная информация

  • Максимум проверяемых аргументов может быть 64;
  • В случае, когда вы используете функцию для проверки каких-либо условий относительно массива, будет проверено каждое значение этого самого массива;
  • Если вместо аргумента вы оставите пустое место, результатом выполнения функции будет 0, то есть.

На картинке ниже, мы оставили пустое место для значения, которое будет результатом, если проверяемый аргумент оказался ложью:

Пример функции ЕСЛИ в Excel

Тоже самое, но для аргумента «Истины»:

Ещё пример функции ЕСЛИ в Excel

Примеры

Итак, давайте рассмотрим различные ситуации.

Проверяем соответствует ли число заданным критериям с помощью функции ЕСЛИ в Excel

В проверяемом аргументе функции, при работе с обычными числами, вы указываете оператор(или операторы) чтобы проверить, соответствует ли число каким-либо критериям. Вот список этих операторов:

Логические операторы в Excel

Сразу же рассмотрим такую ситуацию:

Пример ЕСЛИ с логическими операторами

Если число в столбце A больше либо равно 35, то результатом выполнения функции будет «Сдал», если же нет, то «Не сдал».

Проверяем сразу несколько критериев

Итак, давайте рассмотрим ситуацию, когда вам нужно проверить, соответствует ли число сразу нескольким критериям. Мы помним, что максимальное число проверяемых аргументов — 64. Давайте попробуем проверить хотя бы 2 критерия.

В приведенном ниже примере мы проверяем два условия.

  • Меньше ли значение в ячейке чем число 35;
  • В случае, когда в результате первой проверки возвращается ЛОЖЬ, проверяется больше или равно значение в ячейке чем число 75.

Пример ЕСЛИ с логическими операторами

Вычисляем комиссию

Итак, с помощью этой функции мы можем даже посчитать комиссию, которую забирает себе конкретный продавец.

В ситуации описанной ниже, продавец не получает комиссию, если у него меньше 50-ти продаж. Если первое проверочное условие он прошел, тогда проверяем второе. Если у продавца меньше 100 продаж, его комиссия будет продажи*2%, а если больше, то — продажи*4%

Пример ЕСЛИ с логическими операторами

Пример 4: Использование логических операторов (AND/OR) в функции IF в Excel

Также, мы можем использовать функции И и ИЛИ для проверки по сразу нескольким критериям.

Допустим, как указано на картинке ниже, мы имеем такую табличку:

Пример ЕСЛИ + И ИЛИ

Наша задача — рассчитать у кого из студентов будет стипендия. Данные для выдачи стипендии будут сразу же в формуле:

=ЕСЛИ(И(B2>80;C2>80%); "Да"; "Нет")

Пример ЕСЛИ + И

Как убрать ошибки при использовании функции ЕСЛИ в Excel

Теперь давайте разберемся как мы можем фильтровать ошибки при использовании функции.

Формула:

=ЕСЛИ(ЕСЛИОШИБКА(A1);0;A1)

Теперь, если в результате выполнения функции мы получим ошибку, она будет отфильтрована и превращена в 0. А если ошибки не произойдет — мы просто получим значение.

Точно также можно использовать функцию ЕПУСТО:

=ЕСЛИ(ЕПУСТО(A1);0;A1)

Как убрать ошибку в ЕСЛИ

#Руководства

  • 18 янв 2023

  • 0

Показали, как работать с логическими функциями Excel: ИСТИНА, ЛОЖЬ, И, ИЛИ, НЕ, ЕСЛИ, ЕСЛИОШИБКА, ЕОШИБКА, ЕПУСТО.

Иллюстрация: Merry Mary для Skillbox Media

Ксеня Шестак

Рассказывает просто о сложных вещах из мира бизнеса и управления. До редактуры — пять лет в банке и три — в оценке имущества. Разбирается в Excel, финансах и корпоративной жизни.

Логические функции в Excel проверяют, выполняются ли заданные условия в выбранном диапазоне. Пользователь указывает критерии, соответствие которым нужно проверить, — функции проверяют и выдают результат: ИСТИНА или ЛОЖЬ.

Также логические функции используют в сложных расчётах для того, чтобы убрать промежуточные шаги вычисления и объединить несколько действий в одной ячейке. Это значительно сокращает время обработки данных.

В статье рассмотрим основные логические функции Excel — расскажем, для чего они нужны, и на примерах покажем, как они работают.

  • Функции ИСТИНА и ЛОЖЬ
  • Функции И и ИЛИ
  • Функция НЕ
  • Функция ЕСЛИ
  • Функция ЕСЛИОШИБКА
  • Функция ЕОШИБКА
  • Функция ЕПУСТО

В конце расскажем, как узнать больше о работе в Excel.

Функции ИСТИНА и ЛОЖЬ не используют самостоятельно — только внутри других логических функций. Они нужны, чтобы отмечать значения как истинные или ложные.

Функция ИСТИНА возвращает только истинные значения. Её синтаксис: =ИСТИНА().

Функция ЛОЖЬ возвращает только ложные значения. Её синтаксис: =ЛОЖЬ().

Функции И и ИЛИ нужны для того, чтобы показать связь между условиями пользователя. Они определяют, будут соблюдены все условия  или только некоторые из них.

Функция И. Её используют, чтобы показать, что указанные число или текст должны соответствовать одновременно всем критериям. В этом случае функция возвращает значение ИСТИНА. Если один из критериев не соблюдается, функция И возвращает значение ЛОЖЬ.

Синтаксис функции И такой: =И(логическое_значение1;логическое_значение2;…), где логическое_значение — условия, которые функция будет проверять. Задано может быть до 255 условий.

Пример работы функции И. Проверим, соблюдены ли два условия:

  • число 662 больше 300;
  • число 8626 больше 9000.

Для этого выберем любую ячейку и в строке формул введём: =И(A1>300;A2>9000), где А1 — ячейка с числом 662, А2 — ячейка с числом 8626.

Нажмём Enter. Функция возвращает значение ЛОЖЬ — одно из условий не соблюдено (число 8626 < 9000).

Функция И вернула значение ЛОЖЬ, так как один из критериев не соблюдён
Скриншот: Excel / Skillbox Media

Проверим другие условия:

  • число 662 меньше 666;
  • число 8626 больше 5000.

Снова выберем любую ячейку и в строке формул введём: =И(A1<666;A2>5000).

Функция возвращает значение ИСТИНА — оба условия соблюдены.

Функция И вернула значение ИСТИНА, так как соблюдены оба критерия
Скриншот: Excel / Skillbox Media

Функция ИЛИ. Её используют, чтобы показать, что указанные число или текст должны соответствовать одному из условий. Если хотя бы одно условие соблюдено, функция возвращает значение ИСТИНА. Если все условия не соблюдены, функция ИЛИ возвращает значение ЛОЖЬ.

Синтаксис функции ИЛИ: =ИЛИ(логическое_значение1;логическое_значение2;…).

Максимальное количество логических значений (условий) — тоже 255.

Пример работы функции ИЛИ. Проверим три условия:

  • число 662 меньше 666;
  • число 8626 больше 5000;
  • число 567 больше 786.

В строке формул введём: =ИЛИ(A1<666;A2>5000;A3>786).

Функция возвращает значение ИСТИНА, несмотря на то, что одно условие не соблюдено (число 567 < 786).

Функция ИЛИ вернула значение ИСТИНА — соблюдены два критерия из трёх
Скриншот: Excel / Skillbox Media

Проверим другие условия:

  • число 662 меньше 500;
  • число 8626 больше 9000;
  • число 567 больше 600.

В строке формул введём: =ИЛИ(A1<500;A2>9000;A3>600).

Функция возвращает значение ЛОЖЬ, так как ни одно из условий не соблюдено.

Функция ИЛИ вернула значение ЛОЖЬ — все критерии не соблюдены
Скриншот: Excel / Skillbox Media

С помощью этой функции возвращают значения, которые противоположны по отношению к заданному параметру.

Если в качестве параметра функции НЕ указать ложное значение — она вернёт значение ИСТИНА. Наоборот, если указать истинное значение, функция вернёт ЛОЖЬ.

Синтаксис функции НЕ: =НЕ(логическое_значение), где «логическое_значение» — выражение, которое нужно проверить на соответствие значениям ИСТИНА или ЛОЖЬ. В этой функции можно использовать только одно такое выражение.

Пример работы функции НЕ. Проверим выражение «662 меньше 500». Выберем любую ячейку и в строке формул введём: =НЕ(A1<500), где А1 — ячейка с числом 662.

Нажмём Enter.

Выражение «662 меньше 500» ложное. Но функция НЕ поменяла значение на противоположное и вернула значение ИСТИНА.

Функция НЕ поменяла ложное значение на противоположное и вернула значение ИСТИНА
Скриншот: Excel / Skillbox Media

Функцию ЕСЛИ используют, когда нужно сравнить данные таблицы с условиями, заданными пользователем.

У этой функции также два результата: ИСТИНА и ЛОЖЬ. Первый результат функция выдаёт, когда значение ячейки совпадает с заданным условием, второй — когда значение условию не соответствует.

Например, если нужно определить в таблице значения меньше 1000, то значение 700 будет отмечено функцией как истинное, а значение 3500 — как ложное.

Можно задавать несколько условий одновременно. Например, найти значения меньше 300, но больше 200. В этом случае функция определит значение 100 как ложное, а 250 — как истинное. Так можно проверять не только числовые значения, но и текст.

Синтаксис функции ЕСЛИ: =ЕСЛИ(лог_выражение;значение_если_истина;значение_если_ложь), где:

  • лог_выражение — запрос пользователя, который функция будет проверять;
  • значение_если_истина — результат, который функция принесёт в ячейку, если значение совпадёт с запросом пользователя;
  • значение_если_ложь — результат, который функция принесёт в ячейку, если значение не совпадёт с запросом пользователя.

Пример работы функции ЕСЛИ. Предположим, из столбца с ценами нам нужно выбрать значения менее 2 млн рублей.

Создадим отдельный столбец для результатов работы функции и выберем первую ячейку.

Создаём отдельный столбец, куда функция ЕСЛИ принесёт результаты
Скриншот: Excel / Skillbox Media

В строке формул введём: =ЕСЛИ(A2<2000000;»Подходит»;»Не подходит»)

В строке формул вводим параметры функции ЕСЛИ
Скриншот: Excel / Skillbox Media

Дальше нажимаем Enter и растягиваем результат из первой ячейки вниз до конца таблицы.

Так выглядит результат работы функции ЕСЛИ
Скриншот: Excel / Skillbox Media

Функция показала, какие значения соответствуют условию «меньше 2000000», и отметила их как «Подходит». Значения, которые не соответствуют этому условию, отмечены как «Не подходит».

В Skillbox Media есть статья, где подробно объясняли, как использовать функцию ЕСЛИ в Excel — в частности, как запустить функцию ЕСЛИ с несколькими условиями.

Эту функцию используют, чтобы определить, есть ли ошибки в значениях таблицы или в формулах.

Синтаксис функции ЕСЛИОШИБКА: =ЕСЛИОШИБКА(значение;значение_если_ошибка), где:

  • значение — выражение, которое нужно проверить;
  • значение_если_ошибка — текст, число или формула, которые будут выводиться или выполняться в случае, если в результате проверки аргумента «значение» получен результат ЛОЖЬ.

Если ошибка есть, возвращается значение второго аргумента. Если ошибки нет — первого.

Пример работы функции ЕСЛИОШИБКА. Предположим, нам нужно разделить значения ячеек столбца A на значения ячеек столбца B. Проверим, будут ли ошибки в этих выражениях.

Выделим первую ячейку столбца C и введём: =ЕСЛИОШИБКА(A1/B1;»Ошибка в расчёте»)

В строке формул вводим параметры функции ЕСЛИОШИБКА
Скриншот: Excel / Skillbox Media

Дальше нажмём Enter и растянем результат из первой ячейки вниз до конца таблицы.

Результат работы функции ЕСЛИОШИБКА
Скриншот: Excel / Skillbox Media

В первой строке функция не нашла ошибок в выражении (360/60), поэтому провела расчёт и показала результат (6).

Во второй строке функция тоже не нашла ошибок (деление 0 на 76) — и показала результат расчёта (0).

В третьей строке функция нашла ошибку — делить на 0 нельзя. Поэтому вместо результата расчёта показала второй аргумент функции: «Ошибка в расчёте».

Эта функция проверяет, не содержат ли заданные ячейки ошибочных значений:

  • #Н/Д
  • #ЗНАЧ
  • #ЧИСЛО!
  • #ДЕЛ/0!
  • #ССЫЛКА!
  • #ИМЯ?
  • #ПУСТО!

Синтаксис функции ЕОШИБКА: =ЕОШИБКА(значение), где значение — ячейка или диапазон ячеек, которые нужно проверить.

Если функция находит ошибочные значения, она возвращает значение ИСТИНА. Если не находит — возвращает значение ЛОЖЬ.

Пример работы функции ЕОШИБКА. Обычно функцию ЕОШИБКА применяют в работе с большими диапазонами, где искать ошибочные значения самостоятельно долго и энергозатратно. Но для примера покажем, как она работает на небольшом диапазоне.

Выберем любую ячейку, в которой функция должна будет вывести результат. В строке формул введём: =ЕОШИБКА(A1:A6), где A1:A6 — диапазон, который нужно проверить.

В строке формул вводим параметры функции ЕОШИБКА
Скриншот: Excel / Skillbox Media

Нажимаем Enter — функция возвращает значение ИСТИНА. Это значит, что она нашла ошибку в выделенном диапазоне.

Результат работы функции ЕОШИБКА
Скриншот: Excel / Skillbox Media

Дальше эту функцию используют для выполнения других действий.

Например, при возникновении ошибки можно использовать функцию ЕОШИБКА в сочетании с функцией ЕСЛИ: =ЕСЛИ(ЕОШИБКА(B1);»Произошла ошибка»;B1*6).

Эта формула проверит наличие ошибки в ячейке B1. При возникновении ошибки функция ЕСЛИ возвращает сообщение «Произошла ошибка». Если ошибки отсутствуют, функция ЕСЛИ вычисляет произведение B1*6.

Функция ЕПУСТО проверяет, есть ли в выбранной ячейке какие-либо значения — например, число, текст, формула, пробел — или эти ячейки пустые. Если ячейка пустая, функция возвращает значение ИСТИНА, если в ячейке есть данные — ЛОЖЬ.

Синтаксис функции ЕПУСТО: =ЕПУСТО(значение), где значение — ячейка, которую нужно проверить.

Пример работы функции ЕПУСТО. Проверим, есть ли скрытые символы в ячейках А5 и А6. Визуально эти ячейки пустые.

Выберем любую ячейку и в строке формул введём: =ЕПУСТО(A5), где A5 — ячейка, которую нужно проверить.

В строке формул вводим параметры функции ЕПУСТО
Скриншот: Excel / Skillbox Media

Нажимаем Enter — функция возвращает значение ЛОЖЬ. Это значит, что ячейка А5 на самом деле не пустая, в ней есть значение, которое не видно, — например, пробел.

Результат работы функции ЕПУСТО
Скриншот: Excel / Skillbox Media

Проверим вторую ячейку. Выберем любую ячейку и в строке формул введём: =ЕПУСТО(A6) и нажмём Enter. Функция возвращает значение ИСТИНА. Это значит, что в ячейке А6 нет никаких значений.

Результат работы функции ЕПУСТО
Скриншот: Excel / Skillbox Media

Как и в случае с функцией ЕОШИБКА, эту функцию можно использовать для выполнения других действий. Например, в сочетании с функцией ЕСЛИ.

  • В Excel много функций, которые упрощают и ускоряют работу с таблицами. В этой подборке перечислили 15 статей и видео об инструментах Excel, необходимых в повседневной работе.
  • В Skillbox есть курс «Excel + Google Таблицы с нуля до PRO». Он подойдёт как новичкам, которые хотят научиться работать в Excel с нуля, так и уверенным пользователям, которые хотят улучшить свои навыки. На курсе учат быстро делать сложные расчёты, визуализировать данные, строить прогнозы, работать с внешними источниками данных, создавать макросы и скрипты.
  • Кроме того, Skillbox даёт бесплатный доступ к записи онлайн-интенсива «Экспресс-курс по Excel: осваиваем таблицы с нуля за 3 дня». Он подходит для начинающих пользователей. На нём можно научиться создавать и оформлять листы, вводить данные, использовать формулы и функции для базовых вычислений, настраивать пользовательские форматы и создавать формулы с абсолютными и относительными ссылками.

Другие материалы Skillbox Media по Excel

Научитесь: Excel + Google Таблицы с нуля до PRO
Узнать больше

Skip to content

Функция ЕСЛИОШИБКА – примеры формул

В статье описано, как использовать функцию ЕСЛИОШИБКА в Excel для обнаружения ошибок и замены их пустой ячейкой, другим значением или определённым сообщением. Покажем примеры, как использовать функцию ЕСЛИОШИБКА с функциями визуального просмотра и сопоставления индексов, а также как она сравнивается с ЕСЛИ ОШИБКА и ЕСНД.

«Дайте мне точку опоры, и я переверну землю», — сказал однажды Архимед. «Дайте мне формулу, и я заставлю ее вернуть ошибку», — сказал бы пользователь Excel. Здесь мы не будем рассматривать, как получить ошибки в Excel. Мы узнаем, как предотвратить их, чтобы ваши таблицы были чистыми, а формулы — понятными и точными.

Итак, вот о чем мы поговорим:

Что означает функция Excel ЕСЛИОШИБКА

Функция ЕСЛИОШИБКА (IFERROR по-английски) предназначена для обнаружения и устранения ошибок в формулах и вычислениях. Это значит, что функция ЕСЛИОШИБКА должна выполнить определенные действия, если видит какую-либо ошибку. Более конкретно, она проверяет формулу и, если вычисление дает ошибку, то она возвращает какое-то другое значение, которое вы ей укажете. Если же всё хорошо, то просто возвращает результат формулы.

Синтаксис функции Excel ЕСЛИОШИБКА следующий:

ЕСЛИОШИБКА(значение; значение_если_ошибка)

Где:

  • Значение (обязательно) — что проверять на наличие ошибок. Это может быть формула, выражение или ссылка на ячейку.
  • Значение_если_ошибка (обязательно) — что возвращать при обнаружении ошибки. Это может быть пустая строка (получится пустая ячейка), текстовое сообщение, числовое значение, другая формула или вычисление.

Например, при делении двух столбцов чисел можно получить кучу разных ошибок, если в одном из столбцов есть пустые ячейки, нули или текст.

Рассмотрим простой пример:

Чтобы этого не произошло, используйте формулу ЕСЛИОШИБКА, чтобы перехватывать и обрабатывать их нужным вам образом.

Если ошибка, то пусто

Укажите пустую строку (“”) в аргументе значение_если_ошибка, чтобы вернуть пустую ячейку, если обнаружена ошибка:

=ЕСЛИОШИБКА(A4/B4; «»)

Вернемся к нашему примеру и используем ЕСЛИОШИБКА:

Как видите по сравнению с первым скриншотом, вместо стандартных сообщений мы видим просто пустые ячейки.

Если ошибка, то показать сообщение

Вы также можете отобразить собственное сообщение вместо стандартного обозначения ошибок Excel:

=ЕСЛИОШИБКА(A4/B4; «Ошибка в вычислениях»)

Перед вами – третий вариант  нашей небольшой таблицы.

5 фактов, которые нужно знать о функции ЕСЛИОШИБКА в Excel

  1. ЕСЛИОШИБКА в Excel обрабатывает все типы ошибок, включая #ДЕЛ/0!, #Н/Д, #ИМЯ?, #NULL!, #ЧИСЛО!, #ССЫЛКА! и #ЗНАЧ!.
  2. В зависимости от содержимого аргумента значение_если_ошибка функция может заменить ошибки вашим текстовым сообщением, числом, датой или логическим значением, результатом другой формулы или пустой строкой (пустой ячейкой).
  3. Если аргумент значение является пустой ячейкой, он обрабатывается как пустая строка (»’), но не как ошибка.
  4. ЕСЛИОШИБКА появилась в Excel 2007 и доступна во всех последующих версиях Excel 2010, Excel 2013, Excel 2016, Excel 2019, Excel 2021 и Excel 365.
  5. Чтобы перехватывать ошибки в Excel 2003 и более ранних версиях, используйте функцию ЕОШИБКА в сочетании с функцией ЕСЛИ, например как показано ниже: 

=ЕСЛИ(ЕОШИБКА(A4/B4);»Ошибка в вычислениях»;A4/B4)

Далее вы увидите, как можно использовать ЕСЛИОШИБКА в Excel в сочетании с другими функциями для выполнения более сложных задач.

ЕСЛИОШИБКА с функцией ВПР

Часто встречающаяся задача в Excel – поиск нужного значения в таблице в соответствии с определёнными критериями. И не всегда этот поиск бывает успешным. Одним из наиболее распространенных применений функции ЕСЛИОШИБКА является сообщение пользователям, что искомое значение не найдено в базе данных. Для этого вы заключаете формулу ВПР в функцию ЕСЛИОШИБКА примерно следующим образом:

ЕСЛИОШИБКА(ВПР(  );»Не найдено»)

Если искомое значение отсутствует в таблице, которую вы просматриваете, обычная формула ВПР вернет ошибку #Н/Д:

Для лучшего понимания таблицы и улучшения ее внешнего вида, заключите функцию ВПР в ЕСЛИОШИБКА и покажите более понятное для пользователя сообщение:

=ЕСЛИОШИБКА(ВПР(D3; $A$3:$B$5; 2;ЛОЖЬ); «Не найдено»)

На скриншоте ниже показан пример ЕСЛИОШИБКА вместе с ВПР в Excel:

Если вы хотите перехватывать только #Н/Д, но не все подряд ошибки, используйте функцию ЕНД вместо ЕСЛИОШИБКА. Она просто возвращает ИСТИНА или ЛОЖЬ в зависимости от появления ошибки #Н/Д. Поэтому нам здесь еще понадобится функция ЕСЛИ, чтобы обработать эти логические значения:

=ЕСЛИ(ЕНД(ВПР(D3; $A$3:$B$5; 2;ЛОЖЬ)); «Не найдено»;ВПР(D3; $A$3:$B$5; 2;ЛОЖЬ))

Дополнительные примеры формул Excel ЕСЛИОШИБКА ВПР можно также найти в нашей статье Как убрать сообщение #Н/Д в ВПР?

Вложенные функции ЕСЛИОШИБКА для выполнения последовательных ВПР

В ситуациях, когда вам нужно выполнить несколько операций ВПР в зависимости от того, была ли предыдущая ВПР успешной или неудачной, вы можете вложить две или более функции ЕСЛИОШИБКА одну в другую.

Предположим, у вас есть несколько отчетов о продажах из региональных отделений вашей компании, и вы хотите получить сумму по определенному идентификатору заказа. С ячейкой В9 в качестве критерия поиска (номер заказа) и тремя небольшими таблицами поиска (таблица 1, 2 и 3), формула выглядит следующим образом:

=ЕСЛИОШИБКА(ВПР(B9;A3:B6;2;0);ЕСЛИОШИБКА(ВПР(B9;D3:E6;2;0);ЕСЛИОШИБКА(ВПР(B9;G3:H6;2;0);»Не найден»)))

Результат будет выглядеть примерно так, как на рисунке ниже:

То есть, если поиск завершился неудачей (то есть, ошибкой) первой таблице, начинаем искать во второй, и так далее. Если нигде ничего не нашли, получим сообщение «Не найден».

ЕСЛИОШИБКА в формулах массива

Как вы, наверное, знаете, формулы массива в Excel предназначены для выполнения нескольких вычислений внутри одной формулы. Если вы в аргументе значение функции ЕСЛИОШИБКА  укажете формулу или выражение, которое возвращает массив, она также обработает и вернет массив значений для каждой ячейки в указанном диапазоне. Пример ниже поможет пояснить это.

Допустим, у вас есть Сумма в столбце B и Цена в столбце C, и вы хотите вычислить Количество. Это можно сделать с помощью следующей формулы массива, которая делит каждую ячейку в диапазоне B2:B4 на соответствующую ячейку в диапазоне C2:C4, а затем суммирует результаты:

=СУММ(($B$2:$B$4/$C$2:$C$4))

Формула работает нормально, пока в диапазоне делителей нет нулей или пустых ячеек. Если есть хотя бы одно значение 0 или пустая строка, то возвращается ошибка: #ДЕЛ/0! Из-за одной некорректной позиции мы не можем получить итоговый результат.

Чтобы исправить эту ситуацию, просто вложите деление внутрь формулы ЕСЛИОШИБКА:

=СУММ(ЕСЛИОШИБКА($B$2:$B$4/$C$2:$C$4;0))

Что делает эта формула? Делит значение в столбце B на значение в столбце C в каждой строке (3500/100, 2000/50 и 0/0) и возвращает массив результатов {35; 40; #ДЕЛ/0!}. Функция ЕСЛИОШИБКА перехватывает все ошибки #ДЕЛ/0! и заменяет их нулями. Затем функция СУММ суммирует значения в итоговом массиве {35; 40; 0} и выводит окончательный результат (35+40=75).

ПримечаниеПомните, что ввод формулы массива должен быть завершен нажатием комбинации  Ctrl + Shift + Enter (если у вас не Office365 или Excel2021 – они понимают формулы массива без дополнительных телодвижений).

ЕСЛИОШИБКА или ЕСЛИ + ЕОШИБКА?

Теперь, когда вы знаете, как использовать функцию ЕСЛИОШИБКА в Excel, вы можете удивиться, почему некоторые люди все еще склоняются к использованию комбинации ЕСЛИ + ЕОШИБКА. Есть ли у этого старого метода преимущества по сравнению с ЕСЛИОШИБКА? 

В старые недобрые времена Excel 2003 и более ранних версий, когда ЕСЛИОШИБКА не существовало, совместное использование ЕСЛИ и ЕОШИБКА было единственным возможным способом перехвата ошибок. Это просто немного более сложный способ достижения того же результата.

Например, чтобы отловить ошибки ВПР, вы можете использовать любую из приведенных ниже формул.

В Excel 2007 — Excel 2016:

ЕСЛИОШИБКА(ВПР(  ); «Не найдено»)

Во всех версиях Excel:

ЕСЛИ(ЕОШИБКА(ВПР(…)); «Не найдено»; ВПР(…))

Обратите внимание, что в формуле ЕСЛИ ЕОШИБКА ВПР вам нужно дважды выполнить ВПР.  Чтобы лучше понять, расшифруем: если ВПР приводит к ошибке, вернуть «Не найдено», в противном случае вывести результат ВПР.

А вот простой пример формулы Excel ЕСЛИ ЕОШИБКА ВПР:

=ЕСЛИ(ЕОШИБКА(ВПР(D2; A2:B5;2;ЛОЖЬ)); «Не найдено»; ВПР(D2; A2:B5;2;ЛОЖЬ ))

ЕСЛИОШИБКА против ЕСНД

Представленная в Excel 2013, ЕСНД (IFNA в английской версии) — это еще одна функция для проверки формулы на наличие ошибок. Его синтаксис похож на синтаксис ЕСЛИОШИБКА:

ЕСНД(значение; значение_если_НД)

Чем ЕСНД отличается от ЕСЛИОШИБКА? Функция ЕСНД перехватывает только ошибки #Н, тогда как ЕСЛИОШИБКА обрабатывает все типы ошибок.

В каких ситуациях вы можете использовать ЕСНД? Когда нецелесообразно скрывать все ошибки. Например, при работе с важными данными вы можете захотеть получать предупреждения о возможных ошибках в вашем наборе данных (случайном делении на ноль и т.п.), а стандартные сообщения об ошибках Excel с символом «#» могут быть яркими визуальными индикаторами проблем.

Давайте посмотрим, как можно создать формулу, отображающую сообщение «Не найдено» вместо ошибки «Н/Д», которая появляется, когда искомое значение отсутствует в наборе данных, но при этом вы будете видеть все  другие ошибки Excel.

Предположим, вы хотите получить Количество из таблицы поиска в таблицу с результатами, как показано на рисунке ниже.  Проще всего было бы использовать ЕСЛИОШИБКА с ВПР. Таблица приобрела бы красивый вид, но при этом за надписью «Не найдено» были бы скрыты не только ошибки поиска, но и все другие ошибки. И мы не заметили бы, что в исходной таблице поиска у нас есть ошибка деления на ноль, так как не заполнена цена персиков. Поэтому более разумно использовать ЕСНД, чтобы с ее помощью обработать только ошибки поиска:

=ЕСНД(ВПР(F3; $A$3:$D$6; 4;ЛОЖЬ); «Не найдено»)

Или подойдет комбинация ЕСЛИ ЕНД для старых версий Excel:

=ЕСЛИ(ЕНД(ВПР(F3; $A$3:$D$6; 4;ЛОЖЬ));»Не найдено»; ВПР(F3; $A$3:$D$6; 4;ЛОЖЬ))

Как видите, формула ЕСНД с ВПР возвращает «Не найдено» только для товара, которого нет в таблице поиска (Сливы). Для персиков она показывает #ДЕЛ/0! что указывает на то, что наша таблица поиска содержит ошибку деления на ноль.

Рекомендации по использованию ЕСЛИОШИБКА в Excel

Итак, вы уже знаете, что функция ЕСЛИОШИБКА — это самый простой способ отлавливать ошибки в Excel и маскировать их пустыми ячейками, нулевыми значениями или собственными сообщениями. Однако это не означает, что вы должны обернуть каждую формулу в функцию обработки ошибок. 

Эти простые рекомендации могут помочь вам сохранить баланс.

  1. Не ловите ошибки без весомой на то причины.
  2. Оберните в ЕСЛИОШИБКА только ту часть формулы, где по вашему мнению могут возникнуть проблемы.
  3. Чтобы обрабатывать только определенные ошибки, используйте другую функцию обработки ошибок с меньшей областью действия:
    • ЕСНД или ЕСЛИ ЕНД для обнаружения только ошибок #H/Д.
    • ЕОШ для обнаружения всех ошибок, кроме #Н/Д.

Мы постарались рассказать, как можно использовать функцию ЕСЛИОШИБКА в Excel. Примеры перехвата и обработки ошибок могут быть полезны и для «чайников», и для более опытных пользователей. 

Также рекомендуем:

Понравилась статья? Поделить с друзьями:
  • Как проверить значение в ячейке excel vba
  • Как проверить знание word
  • Как проверить знание excel на собеседовании
  • Как проверить знаки препинания в word
  • Как присвоить ячейке абсолютный адрес в ms excel