Ошибки в формулах Excel.Причины и решения.
Почему Excel выдает ошибку?
Во время работы с Excel часто приходится сталкиваться с вычислениями. При этом время от времени вместо определенного значения введенная функция или формула Excel выдает ошибку. Сегодня мы попробуем разобраться с значениями ошибок и их источниками. Что делать, если Excel выдает ошибку и как это исправить?
Ошибки, связанные с неверным вводом формулы.
. Источники ошибочных результатов могут быть самыми разными. Ошибки Excel могут быть связаны как с введенными данными, так и с другими условиями. В частности, к ошибкам в расчете могут приводить действия самого пользователя. Прежде всего, необходимо при вводе функций соблюдать тип вводимых параметров. Нельзя использовать в вложенных формулах число уровней более 64. Если в формуле используется ссылка на другой лист, то после названия листа обязательно должен быть восклицательный знак, а если в названии есть пробел или другой не буквенно-числовой символ, то имя должно быть заключено в одинарные кавычки (апострофы). Нельзя так же форматировать данные для вычислений во время их ввода.
Все эти варианты приводят если не к прямому значению ошибки, то в любом случае к неверным результатам.
Пример 1. Перепутан порядок параметров для функции СУММЕСЛИ. В результате общий размер депонированной зарплаты по выбранному отделу стал равен нулю, что конечно не соответствует данным.
Рисунок 1
Пример 2. В формулах идет вычисления на пересечении указанных диапазонов, само пересечение задано знаком пробела между адресами диапазонов. Во второй формуле диапазоны не пресекаются, поэтому результатом стала ошибка.
Рисунок 2
Еще одним вариантом источника ошибочного результата будет ввод числового значения более чем из15 знаков, с учетом разделителей, приводит к тому что начальные разряды будут принудительно обнулены. Это наглядно видно на следующем примере
Рисунок 3
Частые ошибки, связанные с результатом.
В ходе работы случаются ситуации, когда вроде бы все сделано правильно, но в результате выходи не конкретное значение, пусть и неверное, а непосредственно название ошибки. В таких случаях в начале названия ошибки ставится знак решетки (#). Как распознать причину возникновения таких ошибок: на самом деле, все не так и сложно. Причина ошибки зачастую кроется в ее названии.
Наиболее распространены следующие варианты таких ошибок.
#### – такая ошибка говорит о том, что введено число, не умещающееся в границах ячейки. Исправить ее, наверное, проще всего – достаточно поменять ширину столбца. Но не всегда все так радужно. Например, такая же ошибка получится при получении в ходе расчета отрицательной даты или отрицательного времени.
#ДЕЛ/0! –эта ошибка возникает в результате деления на пустое значение. Так как ноль тоже является пустым значением – и не положительным, и не отрицательным, то эта же ошибка возникает и при попытке деления на ноль. Чтобы избежать такой ошибки, надо убедиться ячейки, на которые ссылается формула, на наличие данных. Учтите, что это может быть не настолько очевидно, как кажется! Например, функции ЧАСТНОЕ, ОСТАТ и другие в качестве второго аргумента используют указанный делитель.
#Н/Д! – Ошибка, связанная с недоступными данными. В примере ниже данная ошибка появилась, так как указан код, отсутствующий в таблице с данными.
Рисунок 4
#ИМЯ! – а вот эту ошибку я называю ошибка зеваки. Ее появление говорит о том, что введено неверное название. Обычно она возникает при попытке ввода в формуле адреса ячеек русскими буквами – как вариант, А10 – буква здесь русская. К этой же ошибке приведет неверный ввод имени диапазона, таблицы, названия формулы и так далее. Проще говоря, она чаще всего возникает при элементарной опечатке во время ввода.
#ПУСТО! – такая ошибка возникнет при попытке обратиться к несуществующему пересечению областей. Обычно к такому результату приводит попытка отсебятины при вводе данных. Например, когда пытаются ввести число, разделяя разряды пробелами. Обратите внимание, именно ввести, а не получить с разделителями разрядов из ячейки. Запомните простые правила указания ячеек в диапазонах
А) двоеточие. Используется для указания границ диапазона. Например, запись А1:А12 говорит о использовании ячеек в диапазоне от А1 до А12 включительно.
Б) точка с запятой. Указывает на перечисление диапазонов или отдельных ячеек. В качестве примера можно привести запись А1:А12;С1:С12
В) пробел определяет пересечение диапазонов. Результатом будет новый диапазон, состоящий из общих ячеек исходных диапазонов. Например, запись =СУММ(B1:C5 A2:D3) идентична записи =СУММ(B2:C3) так как при пересечении диапазонов B1:C5 A2:D3 образуется диапазон B2:C3. Это наглядно видно на изображении ниже. Обратите внимание, что результат вычисления функции СУММ в обеих случаях одинаков.
Рисунок 5
#ЧИСЛО! Распространенный вариант ошибки, связанной с типом данных. Ошибка говорит о недопустимом вводе числового значения. Обычно означает о вводе числа в недопустимом формате, либо о получаемом в результате значении, выходящем за пределы числовых данных, используемых Excel. На примере ниже происходит попытка возвести число 1000000000 в степень с показателем 1000.
Рисунок 6
Естественно, в таком виде ошибка сразу будет распознано. Однако чаще все не так просто, ведь аналогичный результат может появиться и в ходе вычислений в большой формуле, когда не так просто отследить последовательно итоги операций. Кстати, это еще один аргумент против больших формул, применение которых не оправдано конкретной ситуацией.
#ССЫЛКА! Так же довольно распространенный вариант. Возникает при попытке обратиться к несуществующему диапазону или ячейке. В следующем примере выводится ошибка именно такого типа при вставке функции ВПР. Дело в том, что в обрабатываемом диапазоне $D$2:$H$715 шестого столбца нет и в помине. Такая же ошибка может появится непосредственно в формуле, если диапазон, на который ссылалась формула или функция, был удален.
Рисунок 7
#ЗНАЧ! – как и в случае с ошибкой #ЧИСЛО, эта ошибка говорит о неверных данных, но не только именнно о неверных числовых данных, а о любой ошибке при вводе, когда данные не совпадают с параметрами, указанными в синтаксисе функции. Например, в качестве исходных данных в формуле ячейки использован текст, а сама формула применяет стандартные математические действия для чисел. Ну нельзя перемножать буквы. Часто именно такой вариант возникает при попытке использовать для расчета данные, полученные из различных баз данных. Такое часто происходит с той же 1С при некорректной работе ее разработчиков. В таком случае данные выгружаются в excel по стандарту, а так как разделителем дробной части в них обычно выступает точка, то Excel закономерно в русском варианте считает, что это текст.
Как определить ячейки с ошибками и как их исправить?
Вот в этом месте вынужден своих читателей разочаровать. Если речь идет о неверном вводе пользователем в формуле, то автоматически никак. Только если проверять каждую формулу по очереди. В частности, на вкладке ФОРМУЛЫ есть кнопка «ВЫЧИСЛИТЬ ФОРМУЛУ». С ее помощью можно по шагам проверить ход выполнения формулы и при возникновении ошибки определить место ее возникновения.
Рисунок 8
Однако этот вариант работает только для составных формул. Если же вы применили простой вариант, например, функцию СУММЕСЛИ или ВПР, не применяя вложенных формул, то она не помощник. Другими словами, если вы ошиблись в простой формуле вроде перечисленных, то вы получите сообщение о имеющейся ошибке, и на этом все. Дальше разбирайтесь сами.
Если же ошибка связана с тем, что ошибочные значения присутствуют в исходных данных, которые вы используете, тут все проще.
Прежде всего с помощью команды «Найти и выделить» → «выделить группу ячеек», расположенной на вкладке «Главная». Этот же вариант можно вызвать, нажав сочетание F5 или Ctrl+G, а затем кнопку «выделить».
Рисунок 9
В открывшемся окне установить переключатель в позицию «константы» или «формулы», а заем отметить галочкой вариант «Ошибки» и нажать «ОК». предварительно все ячейки должны быть выделены. После применения команды останутся выделены только ячейки с ошибками. Можно сразу их отметить определенным цветом, и далее уже подробно разбираться с каждой из них.
Так же можно и использовать условное форматирование или проверку данных, применив в них формулы для определения ячеек с ошибками. Можно использовать кнопки «влияющие ячейки» и «Зависимые ячейки» на вкладке «Формулы».
Рисунок 10
На этой же вкладке можно, используя диспетчер имен, просмотреть имена диапазонов и при необходимости их откорректировать. Однако стоит заметить, что если данные находятся на другом листе или книге, то просмотреть указатели на исходные диапазоны с помощью кнопки влияющие ячейки не получится. Вы увидите только ссылку на другой лист в виде пиктограммы таблицы.
Рисунок 11
Рисунок 12
В таких случая можно попробовать сочетания клавиш Ctrl+[ или Ctrl+Shift+{ для перехода к влияющим ячейкам на другом листе. Более подробно о поиске неверных данных с помощью условного форматирования и проверки данных можно прочитать в наших материалах здесь.
Однако все эти инструменты смогут лишь определить данные, которые уже неправильны.
Чтобы избежать ошибок при вводе данных, необходимо соблюдать ряд простых правил.
- При вводе информации не применять никаких форматирований. Формат внешнего вида применяется к ячейкам, но не к самим данным.
- При вставке функций, как по отдельности, так и в составной формуле, соблюдайте ее синтаксис и назначение аргументов. Например, если в функции ИНДЕКС первым параметром вы зададите номер строки или столбца, то программа просто вас не поймет.
- Внимательно следить за введенными данными. Именно из-за невнимательности появляются такие ошибки как #ЗНАЧ, #ЧИСЛО, #ССЫЛКА и другие.
- Использовать вложенность формул только тогда, когда это действительно необходимо. Например, если необходимо проверить количество знаков в ячейке В1 и при необходимости довести их до 12, добавив недостающие нули в начале, можно написать так
=СЦЕПИТЬ(ПОВТОР(«0»;12-ДЛСТР(В1));В1)
А можно так
=ТЕКСТ(В1;«000000000000»).
Естественно, что в первом варианте гораздо проще запутаться. Кроме этого, он занимает больше времени вычислений, что в итоге приводит к замедлению программы.
- Не изменять расположение файлов с исходными данными, листов и диапазонов с ними без крайней необходимости.
- Если все же формула выдала ошибку, не надо ее удалять и писать заново. От того, что вы десятки раз напишите формулу с ошибкой, ошибка не исчезнет. Внимательно просмотрите все диапазоны и адреса, которые в формуле применяются, проверьте соответствие данных параметрам функций и так далее. На практике часто случаюсь, что люди первым параметром функции СУММЕСЛИ указывали диапазон для суммирования, при работе с ВПР для приблизительного поиска четвертым аргументом указывали ноль, а для точного поиска четвёртый параметр вообще оказывался не задан, случалось, что при расчете количества позиций пытались ввести в качестве исходного значения сразу несколько вариантов ну и так далее.
При соблюдении этих правил ошибки в расчетах будут сведены к минимуму. Если же они все же появятся, то вы уже знаете, как определить их причины.