Урок курса
Ошибки в формулах и ЕСЛИОШИБКА
Excel с нуля: формулы, ВПР, сводные таблицы и Google ТаблицыВ предыдущем уроке мы разбирались с тем, как данные попадают в таблицу в неудобном виде: слипшийся текст, дубликаты, лишние пробелы. Всё это мешало формулам работать корректно. Сегодня смотрим на следующий уровень проблемы: формула написана, данные чистые, но ячейка всё равно показывает что-то вроде #ЗНАЧ! или #Н/Д. Разберёмся, что за этим стоит, как это диагностировать и что делать, чтобы файл не пугал пользователей кодами ошибок.
Пять кодов ошибок: причина и триггер каждого
Когда Excel не может вычислить формулу, он не оставляет ячейку пустой — он пишет код ошибки. Каждый код означает конкретный класс проблемы, и по нему можно сразу понять, в каком направлении искать.
#ЗНАЧ! — несовпадение типа данных. Формула ожидает число, а получает текст. Например, если в ячейке B2 написано «сто» (строкой), то =A2+B2 вернёт #ЗНАЧ! — сложить число с текстом нельзя. Самый частый источник — данные, скопированные из другой системы, где числа хранятся как текст.
#ДЕЛ/0! — деление на ноль или на пустую ячейку. =B2/C2 даст эту ошибку, если C2 равен 0 или ещё не заполнен. Excel трактует пустую ячейку как ноль в арифметических операциях.
#ИМЯ? — Excel не распознал имя в формуле. Чаще всего это опечатка в названии функции: =СУММ(A1:A10) Excel знает, а =СУМММ(A1:A10) с лишней буквой — уже нет. Также эта ошибка появляется, если написать текст без кавычек (=ВПР(Артикул;...) вместо =ВПР("Артикул";...)) или использовать функцию, недоступную в текущей версии.
#ССЫЛКА! — ссылка указывает на ячейку или диапазон, которых больше не существует. Типичный триггер: удалили столбец, на который ссылалась формула. У ВПР этот код появляется иначе: если третий аргумент (номер столбца для возврата) больше, чем реальное число столбцов в диапазоне. Например, =ВПР(A2;D2:E10;3;0) — диапазон D:E содержит два столбца, а запрошен третий, которого нет.
#Н/Д — значение не найдено. Это «рабочая» ошибка ВПР: если искомое значение отсутствует в первом столбце диапазона, функция возвращает именно #Н/Д. Её не стоит путать с неправильной формулой — формула может быть написана верно, просто данные не совпали.
Пять кодов, пять разных причин — и ни одна из них не означает «что-то сломалось непонятно». Увидев код, можно сразу сузить поиск: тип данных, деление, имя функции, битая ссылка или отсутствующее совпадение.
Диагностика ошибки через «Зависимости формул» и «Вычислить формулу»
Знать коды ошибок — это половина дела. Сложнее бывает найти, в каком именно месте формулы произошёл сбой, особенно если формула длинная и содержит несколько вложенных функций. Для этого на вкладке «Формулы» есть группа «Зависимости формул» с несколькими специализированными инструментами.
«Влияющие ячейки» рисует стрелки от ячеек-источников к выбранной формуле. Полезно, когда хочется визуально убедиться, что формула берёт данные оттуда, откуда надо.
«Зависимые ячейки» показывает стрелки от выбранной ячейки к формулам, которые её используют. Это помогает понять, что сломается, если изменить конкретное значение.
«Проверка наличия ошибок» — инструмент для поиска: он последовательно переходит по всем ячейкам с ошибками в листе и предлагает справку о причине или кнопку перехода к следующей ошибке. Удобно, когда ошибки разбросаны по большой таблице и нужно обойти их все.
Самый детальный инструмент — «Вычислить формулу». Выберите ячейку с ошибкой и нажмите эту кнопку. Откроется диалог, в котором формула разбивается на шаги. При каждом нажатии кнопки «Вычислить» Excel заменяет один фрагмент формулы его промежуточным результатом — буквально показывает, что именно вычислено на каждом этапе.
Предположим, у вас формула =ВПР(A2;D2:F10;4;0) возвращает #ССЫЛКА!. В диалоге «Вычислить формулу» Excel по очереди вычисляет подчёркнутые ссылки и выражения; на одном из шагов ВПР даст #ССЫЛКА!. Инструмент показывает место появления ошибки, но не всегда объясняет её причину. После этого сравните номер возвращаемого столбца с шириной диапазона: D:F содержит три столбца, а формула запрашивает четвёртый. Без пошагового просмотра такую ошибку легко пропустить глазами.
Инструменты диагностики не исправляют формулу — они только помогают найти проблемное место. После того как причина найдена, формулу редактируют вручную.

Синтаксис ЕСЛИОШИБКА и выбор запасного значения
Когда ошибка ожидаемая — например, ВПР не всегда находит совпадение, и это нормально для конкретной задачи — код ошибки в ячейке выглядит некрасиво и мешает читать отчёт. Для таких случаев есть функция ЕСЛИОШИБКА.
Синтаксис:
=ЕСЛИОШИБКА(значение; значение_если_ошибка)
Первый аргумент — это ваша основная формула. Второй — то, что Excel покажет вместо кода ошибки, если первый аргумент вернёт любую ошибку (#ЗНАЧ!, #ДЕЛ/0!, #ИМЯ?, #ССЫЛКА!, #Н/Д — ЕСЛИОШИБКА перехватывает все). Если первый аргумент вычисляется без ошибки, второй аргумент просто игнорируется.
Пример с ВПР:
=ЕСЛИОШИБКА(ВПР(A2;$D$2:$E$10;2;0);"Не найдено")
Если товар из A2 есть в диапазоне D2:E10, функция вернёт цену из второго столбца. Если нет — вернёт текст «Не найдено» вместо #Н/Д.
Пример с делением:
=ЕСЛИОШИБКА(B2/C2; "Нет базы")
Если C2 равен нулю или пуст, в ячейке появится понятная метка. Отсутствие базы не равно нулевому показателю, поэтому подставлять 0 можно только тогда, когда предметное правило явно определяет результат как ноль.
Выбор второго аргумента зависит от того, как потом используется этот столбец:
- Текст вроде «Не найдено» или «—» подходит для отчётов, которые читает человек.
- Число
0подходит только когда ошибка по смыслу действительно означает нулевой результат. Иначе ноль исказит средние и смешает отсутствие данных с реальным нулём. - Пустая строка
""или текстовая метка подходят для отсутствующих данных; последующие расчёты должны явно обрабатывать такой пропуск.
В этом примере нужно перехватить #Н/Д от самой ВПР, поэтому оборачивайте ВПР целиком: =ЕСЛИОШИБКА(ВПР(...); "Не найдено"). Обёртка только вокруг A2 решает другую задачу и не перехватит ошибку, которую вернула ВПР. В других формулах ЕСЛИОШИБКА можно осознанно применять и к отдельному выражению, если требуется обработать именно его ошибку.
Когда ЕСЛИОШИБКА мешает найти настоящую ошибку
У ЕСЛИОШИБКА есть неочевидная опасность: она перехватывает любую ошибку без разбора. Это значит, что если в вашей формуле есть логическая ошибка — неверный диапазон, перепутанные аргументы, опечатка в имени листа — ЕСЛИОШИБКА тихо покажет запасное значение, и вы ничего не заметите.
Конкретный сценарий: вы написали ВПР, но случайно указали диапазон из другого листа, где нужных данных нет. Формула стабильно возвращает #Н/Д для всех строк. Оборачиваете в ЕСЛИОШИБКА — и во всём столбце появляется «Не найдено». Выглядит опрятно. Но данные не подтягиваются вообще, и файл молча выдаёт неверный результат.
Правило простое: сначала убедитесь, что формула работает на одной тестовой строке, где значение точно должно найтись — и только потом оборачивайте в ЕСЛИОШИБКА.
Проверка выглядит так:
- Возьмите строку, где искомое значение заведомо есть в справочном диапазоне.
- Проверьте, что формула без ЕСЛИОШИБКА возвращает ожидаемый результат.
- Только после этого добавляйте обёртку и распространяйте формулу на остальные строки.
ЕСЛИОШИБКА — это инструмент для обработки ожидаемых ситуаций отсутствия данных, а не способ заглушить непонятную ошибку. Разница между «этот товар просто не числится в справочнике» и «справочник указан неверно» снаружи не видна — видна только изнутри формулы до того, как её обернули.
Попробуйте решить
Формула в ячейке D5 возвращает ошибку #ЗНАЧ!. Какая из перечисленных причин наиболее вероятно вызывает именно эту ошибку?
Продолжить с проверкой и прогрессом
Откройте интерактивный раннер с заданиями урока.
