Дело 0

Ошибки Excel 2007

Дело 0

Индык Игорь Викторович
e-mail:exelentc@yandex.ru

Я ввожу формулу, но вместо результата я вижу текст #Н/Д или #####. Что это значит?

 

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

 

Ошибка #####

 

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

 

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

Ошибка #Н/Д
 

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

  • В функции не указаны один или несколько обязательных аргументов.
  • В функциях ВПР, ГПР, ПРОСМОТР или ПОИСКПОЗ указано неправильное значение аргумента искомое_значение.
  • Функции ВПР, ГПР или ПОИСКПОЗ применяются для поиска в несортированной таблице.
  • В исходной таблице вместо пропущенных данных было введено значение #Н/Д или НД().

Ошибка #ДЕЛ/0!

 

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

  • В формуле явно задано деление на ноль (например, =10/0).
  • В формуле или функции в качестве делителя стоит ссылка на пустую ячейку или на ячейку, которая содержит ноль.

Ошибка #ПУСТО!

 

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

 

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

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

Ошибка #ЧИСЛО!

 

Данная ошибка возникает, если в формуле или функции указаны некорректные числовые значения. Например:

  • В функции, которая использует числовой аргумент, в его качестве указан текст или ссылка на ячейку с нечисловым значением.
  • Функция, которая выполняет итерации (вычисление, которое повторяется до тех пор, пока не будет выполнено заданное условие, например ВСД или СТАВКА) не может вычислить результат (например, заданное условие не наступило).
  • Результатом вычисления стало число, слишком большое или слишком малое для использования в Excel. Напоминаем, что максимальное число в Excel не может превышать 10307 и быть меньше минус 10307.

Ошибка #ССЫЛКА!

 

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

 

Ошибка #ЗНАЧ!

 

Такая ошибка возникает при использовании неверного типа аргумента или операнда. Например, пользователь может ошибиться в следующем:

  • В формулу вместо числа или логического значения (ИСТИНА или ЛОЖЬ) введен текст.
  • После ввода или редактирования формулы массива нажимается клавиша ВВОД вместо комбинации CTRL+SHIFT+ВВОД.
  • Ссылка, формула или функция указана как массив.
  • В качестве условия функции, который требует единичное значение, указан диапазон.

Я понял, что означает ошибка. Но моя формула очень большая/работает с большим объемом данных. Как мне найти место, где допущена ошибка?

 

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

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

После нажатия на этот пункт Excel покажет Вам ячейку с некорректными данными автоматически:

 
 

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

 У меня ошибка #ИМЯ? и я не могу найти её причину.

  • Проверьте правильность написания имени (названия) функции. Для этого можно вызвать Мастер функций (группа Библиотека функций вкладки Формулы), и выбрать нужную функцию из предлагаемого списка.
  • В формулу был введен текст, не заключенный в двойные кавычки. Допустим, результатом формулы должен был быть текст с числом – например, Итого 200 р. Если при введении текста Итого в формулу этот текст не заключен в двойные кавычки, Excel интерпретирует такие данные как имя, что вызывает ошибку.

Примечание: Имя – это слово, словосочетание или другой набор знаков, заданные пользователем и обозначающие ячейку, диапазон ячеек, формулу или константу.

  • В формуле или функции используется имя, которое не было определено. Проверьте, что данное имя существует. На вкладке Формулы в группе Именованные ячейки выберите Диспетчер имен и выясните, присутствует ли данное имя в списке. Если данное имя отсутствует, его можно добавить его путем выбора команды Создание имени.
  • Была допущена ошибка в написании имени. Для проверки правильности указания имен в строке формул нужно нажать клавишу F3, щелкнуть требуемое имя, а затем нажать ОК.
  • В формуле или функции используется ссылка на другой лист, не заключенный в ординарные кавычки. Если имя другого листа или книги содержит небуквенные знаки или пробел, то это имя необходимо заключить в апострофы ( ' ).

У меня огромная база данных клиентов – покупателей. Каждый день в базе данных добавляется столбец, в котором указывается сумма выручки от каждого покупателя. Если покупатель ничего не купил, в ячейке ставится #Н/Д. Как мне просуммировать столбец, если там есть такие данные?

 

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

 

Но если основную таблицу изменить невозможно (по разным причинам), эту проблему можно попробовать решить с помощью функции БДСУММ.

 

Допустим, исходная таблица имеет следующий вид:

 
 

Применив функцию БДСУММ, мы сможем выбрать для суммирования те ячейки, которые не содержат значения #Н/Д. Функция БДСУММ имеет следующий синтаксис:

=БДСУММ(база_данных, поле, условия) , где

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

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

 
 

Далее мы вводим следующую формулу:

=БДСУММ(C2:C18;1;E2:E3) где

  • C2:C18 – наша таблица,
  • E2:E3 – наше условие.

Обратите внимание, что диапазоны базы данных, и условий обязательно должны содержать заголовки столбцов! При этом заголовок условия должен совпадать с заголовком столбца, над которым производятся вычисления!

 

Наш результат указан под таблицей:

 
 

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

 

Этот способ также может использоваться для функций СЧЁТ, БСЧЁТА, ДМАКС, ДМИН, БДПРОИЗВЕД и им подобных.

 

В начало страницы

В начало страницы

Источник: http://on-line-teaching.com/excel/lsn036.html

Типы ошибок в формулах Excel: какие бывают и как исправить

Дело 0

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

1) Ошибка ###############################

Если ячейка вдруг целиком заполнилась символами решётки, то варианта всего два: либо значение ячейки не помещается в нее, либо в ней введено отрицательное значение времени (случается, если формат ячейки – “Время”).

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

2) Ошибка #ДЕЛ/0!

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

3) Ошибка

Самая распространенная ошибка. Возникает тогда, когда функция поиска данных не находит искомое значение в диапазоне. Функции поиска данных это: ВПР, ГПР, ПОИСКПОЗ, ПРОСМОТР.

Соответственно, решается либо изменением поискового запроса (“что ищем”), либо внесением в диапазон искомого значения. Однако, чаще всего эта ошибка вполне ожидаема и просто помогает проверить наличие того или иного значения в списке.

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

=ЕСЛИОШИБКА(ВПР(A1;B:C;2;0);”Отсутствует в справочнике”)

4) Ошибка #ИМЯ?

Возникает, когда в формуле используется нераспознанное программой имя. Именем Excel считает любой текст, не являющийся названием функции, ссылкой на ячейку/диапазон и не взятый в кавычки. Например, в формуле =СЕГОДНЯ()+СЕГ-A4 слово СЕГ будет распознано как имя.

Когда распознанного имени нет в списке именованных диапазонов, появляется данная ошибка. Способы решения:

  • Создать нужное имя в диспетчере имен;
  • Проверить правильность написания уже существующего имени;
  • Проверить, верно ли написаны функции рабочего листа (опечатки приведут к возникновению ошибки)

5) Ошибка #ССЫЛКА!

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

=A1+C3

и Вы удалите столбец С, то формула выдаст ошибку #ССЫЛКА!, так как вместе со столбцом С была удалена и ячейка C3. Обратите внимание, что на листе по-прежнему есть ячейка с таким адресом, но физически это уже не та ячейка, которая раньше располагалась на этом месте (хотя адрес тот же).

Чтобы исправить ошибку, нужно отменить удаление ячейки (если есть такая возможность) или заново сослаться на нужный диапазон. Другой вариант – использовать функцию ДВССЫЛ для тех ячеек, которые могут быть удалены. Например, формула =A1+ДВССЫЛ(“C3”) будет работать даже тогда, когда мы удалим столбец C.

Другой вариант возникновения – файлы, на которые есть ссылки были перемещены, удалены или переименованы. Любое из этих действий при последующем обновлении связей выдаст указанную ошибку. Вывод – будьте аккуратнее с файлами, на которые делаете ссылки.

6) Ошибка #ЗНАЧ!

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

Если передать, например, функции ДЕНЬНЕД() ссылку на ячейку с текстом, то появится указанная ошибка. То же самое произойдет, если попытаетесь вычесть из 100 слово “десять”.

Для исправления – проверьте все аргументы Соответствуют ли они требуемым типам данных? Если нет – укажите правильные типы.

7) Ошибка #ПУСТО!

Крайне редкая ошибка, так как мало кто использует в работе оператор пересечения диапазонов (про него можно почитать тут). Собственно, возникает тогда, когда диапазоны не пересекаются. Для исправления – укажите пересекающиеся диапазоны. Например, формула:

={A1:B5 A6:B10}

выдаст ошибку. А формула:

={A1:B5 A5:B10}

будет работать безошибочно и вернет диапазон A5:B5

8) Ошибка #ЧИСЛО!

Еще одна не самая распространенная ошибка. Встречается, если задан недопустимый числовой аргумент. То есть, тип данных указан верно (поэтому не #ЗНАЧ!), но само число выбрано недопустимое. Чаще всего встречается в финансовых функциях. Например, формула:

=ПЛТ(-40;2;2)

выдаст эту ошибку, так как аргумент “Ставка” не может быть отрицательным.

Для исправления – введите допустимый числовой аргумент.

Знать, что означают ошибки – полбеды. Нужно еще понять, какая именно часть формулы генерирует ошибку. Для этого формулу нужно проанализировать. Советы на эту тему можно найти в этой статье. Желаем Вам только исправных формул!

версию данной статьи смотрите на нашем канале на

Чтобы не пропустить новые уроки и постоянно повышать свое мастерство владения Excel – подписывайтесь на наш канал в Telegram Excel Everyday

Много интересного по другим офисным приложениям от Microsoft (Word, Outlook, Power Point, Visio и т.д.) – на нашем канале в Telegram Office Killer

Вопросы по Excel можно задать нашему боту обратной связи в Telegram @ExEvFeedbackBot

Вопросы по другому ПО (кроме Excel) задавайте второму боту – @KillOot

По заказам и предложениям обращайтесь к нам на сайте tDots.ru

С уважением, команда tDots.ru

Источник: https://zen.yandex.ru/media/id/59affb7afd96b11e8eadd771/tipy-oshibok-v-formulah-excel-kakie-byvaiut-i-kak-ispravit-5ac4737a482677d85ca90caf

Как в ячейке с формулой вместо ошибки показать 0

Дело 0
Хитрости » 7 Октябрь 2015       Дмитрий       30211 просмотров

Случаются ситуации, когда в рабочей книге на листах создано много формул, выполняющих различные задачи. При этом формулы созданы когда-то давно, возможно даже на вами. И формулы возвращают ошибки. Например #ДЕЛ/0!(#DIV/0!).

Эта ошибка возникает, если внутри формулы происходит деление на ноль: =A1/B1, где в B1 ноль или пусто. Но могут быть и другие ошибки(#Н/Д, #ЗНАЧ! и т.д.).

Можно изменить формулу, добавив проверку на ошибку:
=ЕСЛИ(ЕОШ(A1/B1);0; A1/B1)
=IF(ISERR(A1/B1),0, A1/B1)аргументы:

=ЕСЛИ(ЕОШ(1 аргумент);2 аргумент; 1 аргумент)

Эти формулы будут работать в любой версии Excel. Правда, функция ЕОШ не обработает ошибку #Н/Д(#N/A). Чтобы так же обработать и #Н/Д необходимо использовать функцию ЕОШИБКА:
=ЕСЛИ(ЕОШИБКА(A1/B1);0; A1/B1)
=IF(ISERROR(A1/B1),0, A1/B1)
Однако далее по тексту я буду применять ЕОШ(т.к. она короче) и к тому же не всегда надо “не видеть” ошибки #Н/Д.
Но для версий Excel 2007 и выше можно применить чуть более оптимизированную функцию ЕСЛИОШИБКА(IFERROR):
=ЕСЛИОШИБКА(A1/B1;0)
=IFERROR(A1/B1,0)аргументы:=ЕСЛИОШИБКА(1 аргумент; 2 аргумент)1 аргумент: выражение для вычисления

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

Почему ЕСЛИОШИБКА лучше и я называю её более оптимизированной? Разберем первую формулу подробнее:
=ЕСЛИ(ЕОШ(A1/B1);0; A1/B1)
Если вычислить пошагово, то увидим, что сначала происходит вычисление выражения A1/B1(т.е. деление). И если его результат ошибка – то ЕОШ вернет ИСТИНА(TRUE), которое будет передано в ЕСЛИ(IF). И тогда функцией ЕСЛИ(IF) будет возвращено значение из второго аргумента 0.
Но если результат не является ошибочным и ЕОШ(ISERR) возвращает ЛОЖЬ(FALSE) – то функция заново будет вычислять уже вычисленное ранее выражение: A1/B1
С приведенной формулой это особой роли не играет. Но если применяется формула вроде ВПР (VLOOKUP) с просмотром на несколько тысяч строк – то вычисление два раза может значительно увеличить время пересчета формул.
Функция же ЕСЛИОШИБКА(IFERROR) один раз вычисляет выражение, запоминает его результат и если он ошибочен возвращает записанное вторым аргументом. Если же ошибки нет, то возвращает запомненный результат вычисления выражения из первого аргумента. Т.е. вычисление по факту происходит один раз, что практически не будет влиять на скорость общего пересчета формул.
Поэтому если у вас Excel 2007 и выше и файл не будет использоваться в более ранних версиях – то имеет смысл использовать именно ЕСЛИОШИБКА(IFERROR).

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

Итак, есть на листе такие формулы, ошибки которых надо обработать. Если подобных формул для исправления одна-две(да даже 10-15) – то проблем почти нет заменить вручную. Но если таких формул несколько десятков, а то и сотен – проблема приобретает почти вселенские масштабы :-). Однако процесс можно упростить через написание относительно простого кода Visual Basic for Application.
Для всех версий Excel:

Sub IfIsErrNull() Const sToReturnVal As String = “0” 'если необходимо вместо нуля возвращать пусто 'Const sToReturnVal As String = “””””” Dim rr As Range, rc As Range Dim s As String, ss As String On Error Resume Next Set rr = Intersect(Selection, ActiveSheet.UsedRange) If rr Is Nothing Then MsgBox “Выделенный диапазон не содержит данных”, vbInformation, “www.excel-vba.ru” Exit Sub End If  For Each rc In rr If rc.HasFormula Then s = rc.Formula s = Mid(s, 2) ss = “=” & “IF(ISERR(” & s & “),” & sToReturnVal & “,” & s & “)” If Left(s, 9) “IF(ISERR(” Then If rc.HasArray Then rc.FormulaArray = ss Else rc.Formula = ss End If If Err.Number Then ss = rc.Address rc.Select Exit For End If End If End If Next rc If Err.Number Then MsgBox “Невозможно преобразовать формулу в ячейке: ” & ss & vbNewLine & _ Err.Description, vbInformation, “www.excel-vba.ru” Else MsgBox “Формулы обработаны”, vbInformation, “www.excel-vba.ru” End IfEnd Sub

Sub IfIsErrNull() Const sToReturnVal As String = “0” 'если необходимо вместо нуля возвращать пусто 'Const sToReturnVal As String = “””””” Dim rr As Range, rc As Range Dim s As String, ss As String On Error Resume Next Set rr = Intersect(Selection, ActiveSheet.

UsedRange) If rr Is Nothing Then MsgBox “Выделенный диапазон не содержит данных”, vbInformation, “www.excel-vba.ru” Exit Sub End If For Each rc In rr If rc.HasFormula Then s = rc.Formula s = Mid(s, 2) ss = “=” & “IF(ISERR(” & s & “),” & sToReturnVal & “,” & s & “)” If Left(s, 9) “IF(ISERR(” Then If rc.

HasArray Then rc.FormulaArray = ss Else rc.Formula = ss End If If Err.Number Then ss = rc.Address rc.Select Exit For End If End If End If Next rc If Err.Number Then MsgBox “Невозможно преобразовать формулу в ячейке: ” & ss & vbNewLine & _ Err.Description, vbInformation, “www.excel-vba.

ru” Else MsgBox “Формулы обработаны”, vbInformation, “www.excel-vba.ru” End If End Sub

Для версий 2007 и выше

Sub IfErrorNull() Const sToReturnVal As String = “0” 'если необходимо вместо нуля возвращать пусто 'Const sToReturnVal As String = “””””” Dim rr As Range, rc As Range Dim s As String, ss As String On Error Resume Next Set rr = Intersect(Selection, ActiveSheet.UsedRange) If rr Is Nothing Then MsgBox “Выделенный диапазон не содержит данных”, vbInformation, “www.excel-vba.ru” Exit Sub End If  For Each rc In rr If rc.HasFormula Then s = rc.Formula s = Mid(s, 2) ss = “=” & “IFERROR(” & s & “,” & sToReturnVal & “)” If Left(s, 8) “IFERROR(” Then If rc.HasArray Then rc.FormulaArray = ss Else rc.Formula = ss End If If Err.Number Then ss = rc.Address rc.Select Exit For End If End If End If Next rc  If Err.Number Then MsgBox “Невозможно преобразовать формулу в ячейке: ” & ss & vbNewLine & _ Err.Description, vbInformation, “www.excel-vba.ru” Else MsgBox “Формулы обработаны”, vbInformation, “www.excel-vba.ru” End IfEnd Sub

Sub IfErrorNull() Const sToReturnVal As String = “0” 'если необходимо вместо нуля возвращать пусто 'Const sToReturnVal As String = “””””” Dim rr As Range, rc As Range Dim s As String, ss As String On Error Resume Next Set rr = Intersect(Selection, ActiveSheet.

UsedRange) If rr Is Nothing Then MsgBox “Выделенный диапазон не содержит данных”, vbInformation, “www.excel-vba.ru” Exit Sub End If For Each rc In rr If rc.HasFormula Then s = rc.Formula s = Mid(s, 2) ss = “=” & “IFERROR(” & s & “,” & sToReturnVal & “)” If Left(s, 8) “IFERROR(” Then If rc.HasArray Then rc.

FormulaArray = ss Else rc.Formula = ss End If If Err.Number Then ss = rc.Address rc.Select Exit For End If End If End If Next rc If Err.Number Then MsgBox “Невозможно преобразовать формулу в ячейке: ” & ss & vbNewLine & _ Err.Description, vbInformation, “www.excel-vba.

ru” Else MsgBox “Формулы обработаны”, vbInformation, “www.excel-vba.ru” End If End Sub

Как это работает
Если не знакомы с макросами, то для начала лучше прочитать как их создавать и вызывать: Что такое макрос и где его искать?, т.к. может случиться так, что все сделаете правильно, но забудете макросы разрешить и ничего не заработает.

Копируете приведенный код, переходите в редактор VBA(Alt+F11), создаете стандартный модуль(InsertModule) и просто вставляете в него этот код.

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

Жмете Alt+F8, выбираете код IfIsErrNull(или IfErrorNull, в зависимости от того, какой именно скопировали) и жмете Выполнить.Ко всем формулам в выделенных ячейках будет добавлена функция обработки ошибки.

Приведенные коды учитывают так же:-если в формуле уже применена функция ЕСЛИОШИБКА или ЕСЛИ(ЕОШ, то такая формула не обрабатывается;-код корректно обработает так же функции массива;-выделять можно несмежные ячейки(через Ctrl).

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

Если значение ошибки надо заменить на пусто, а не на ноль, то надо строку

Const sToReturnVal As String = “0”

Const sToReturnVal As String = “0”

Удалить, а перед строкой

'Const sToReturnVal As String = “”””””

'Const sToReturnVal As String = “”””””

Удалить апостроф (')

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

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

Потому как если формула возвращает #ИМЯ!(#NAME!), то это означает, что в формуле неверно записан какой-то аргумент и это ошибка записи формулы, а не ошибка результата вычисления.

Такие формулы лучше проанализировать и найти ошибку, чтобы избежать логических ошибок расчетов на листе.
Статья помогла? Поделись ссылкой с друзьями!     уроки

{“Bottom bar”:{“textstyle”:”static”,”textpositionstatic”:”bottom”,”textautohide”:true,”textpositionmarginstatic”:0,”textpositiondynamic”:”bottomleft”,”textpositionmarginleft”:24,”textpositionmarginright”:24,”textpositionmargintop”:24,”textpositionmarginbottom”:24,”texteffect”:”slide”,”texteffecteasing”:”easeOutCubic”,”texteffectduration”:600,”texteffectslidedirection”:”left”,”texteffectslidedistance”:30,”texteffectdelay”:500,”texteffectseparate”:false,”texteffect1″:”slide”,”texteffectslidedirection1″:”right”,”texteffectslidedistance1″:120,”texteffecteasing1″:”easeOutCubic”,”texteffectduration1″:600,”texteffectdelay1″:1000,”texteffect2″:”slide”,”texteffectslidedirection2″:”right”,”texteffectslidedistance2″:120,”texteffecteasing2″:”easeOutCubic”,”texteffectduration2″:600,”texteffectdelay2″:1500,”textcss”:”display:block; padding:12px; text-align:left;”,”textbgcss”:”display:block; position:absolute; top:0px; left:0px; width:100%; height:100%; background-color:#333333; opacity:0.6; filter:alpha(opacity=60);”,”titlecss”:”display:block; position:relative; font:bold 14px \”Lucida Sans Unicode\”,\”Lucida Grande\”,sans-serif,Arial; color:#fff;”,”descriptioncss”:”display:block; position:relative; font:12px \”Lucida Sans Unicode\”,\”Lucida Grande\”,sans-serif,Arial; color:#fff; margin-top:8px;”,”buttoncss”:”display:block; position:relative; margin-top:8px;”,”texteffectresponsive”:true,”texteffectresponsivesize”:640,”titlecssresponsive”:”font-size:12px;”,”descriptioncssresponsive”:”display:none !important;”,”buttoncssresponsive”:””,”addgooglefonts”:false,”googlefonts”:””,”textleftrightpercentforstatic”:40}}

Поиск по меткам

Accessapple watchMultexPower Query и Power BIVBA управление кодамиБесплатные надстройкиДата и времяЗапискиНадстройкиПечатьПолитика КонфиденциальностиПочтаПрограммыРабота с приложениямиРазработка приложенийТренинги и вебинарыФинансовыеФорматированиеФункции Excelакции MulTExссылки

Источник: https://www.excel-vba.ru/chto-umeet-excel/kak-v-yachejke-s-formuloj-vmesto-oshibki-pokazat-0/

Обзор ошибок, возникающих в формулах Excel – Информационные технологии

Дело 0

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

Несоответствие открывающих и закрывающих скобок

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

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

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

Ячейка заполнена знаками решетки

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

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

      …или изменить числовой формат ячейки.

  1. В ячейке содержится формула, которая возвращает некорректное значение даты или времени. Думаю, Вы знаете, что Excel не поддерживает даты до 1900 года. Поэтому, если результатом формулы оказывается такая дата, то Excel возвращает подобный результат.

В данном случае увеличение ширины столбца уже не поможет.

Ошибка #ДЕЛ/0!

Ошибка #ДЕЛ/0! возникает, когда в Excel происходит деление на ноль. Это может быть, как явное деление на ноль, так и деление на ячейку, которая содержит ноль или пуста.

Ошибка #Н/Д

Ошибка #Н/Д возникает, когда для формулы или функции недоступно какое-то значение. Приведем несколько случаев возникновения ошибки #Н/Д:

  1. Функция поиска не находит соответствия. К примеру, функция ВПР при точном поиске вернет ошибку #Н/Д, если соответствий не найдено.
  2. Формула прямо или косвенно обращается к ячейке, в которой отображается значение #Н/Д.
  3. При работе с массивами в Excel, когда аргументы массива имеют меньший размер, чем результирующий массив. В этом случае в незадействованных ячейках итогового массива отобразятся значения #Н/Д.Например, на рисунке ниже видно, что результирующий массив C4:C11 больше, чем аргументы массива A4:A8 и B4:B8.

    Нажав комбинацию клавиш Ctrl+Shift+Enter, получим следующий результат:

Ошибка #ИМЯ?

Ошибка #ИМЯ? возникает, когда в формуле присутствует имя, которое Excel не понимает.

  1. Например, используется текст не заключенный в двойные кавычки:
  2. Функция ссылается на имя диапазона, которое не существует или написано с опечаткой:

В данном примере имя диапазон не определено.

  1. Адрес указан без разделяющего двоеточия:
  2. В имени функции допущена опечатка:

Ошибка #ПУСТО!

Ошибка #ПУСТО! возникает, когда задано пересечение двух диапазонов, не имеющих общих точек.

  1. Например, =А1:А10 C5:E5 – это формула, использующая оператор пересечения, которая должна вернуть значение ячейки, находящейся на пересечении двух диапазонов. Поскольку диапазоны не имеют точек пересечения, формула вернет #ПУСТО!.
  2. Также данная ошибка возникнет, если случайно опустить один из операторов в формуле. К примеру, формулу =А1*А2*А3 записать как =А1*А2 A3.

Ошибка #ЧИСЛО!

Ошибка #ЧИСЛО! возникает, когда проблема в формуле связана со значением.

  1. Например, задано отрицательное значение там, где должно быть положительное. Яркий пример – квадратный корень из отрицательного числа.
  2. К тому же, ошибка #ЧИСЛО! возникает, когда возвращается слишком большое или слишком малое значение. Например, формула =10001000 вернет как раз эту ошибку.

Не забывайте, что Excel поддерживает числовые величины от -1Е-307 до 1Е+307.

  1. Еще одним случаем возникновения ошибки #ЧИСЛО! является употребление функции, которая при вычислении использует метод итераций и не может вычислить результат. Ярким примером таких функций в Excel являются СТАВКА и ВСД.

Ошибка #ССЫЛКА!

Ошибка #ССЫЛКА! возникает в Excel, когда формула ссылается на ячейку, которая не существует или удалена.

  1. Например, на рисунке ниже представлена формула, которая суммирует значения двух ячеек.

    Если удалить столбец B, формула вернет ошибку #ССЫЛКА!.

  2. Еще пример. Формула в ячейке B2 ссылается на ячейку B1, т.е. на ячейку, расположенную выше на 1 строку.

    Если мы скопируем данную формулу в любую ячейку 1-й строки (например, ячейку D1), формула вернет ошибку #ССЫЛКА!, т.к. в ней будет присутствовать ссылка на несуществующую ячейку.

Ошибка #ЗНАЧ!

Ошибка #ЗНАЧ! одна из самых распространенных ошибок, встречающихся в Excel. Она возникает, когда значение одного из аргументов формулы или функции содержит недопустимые значения. Самые распространенные случаи возникновения ошибки #ЗНАЧ!:

  1. Формула пытается применить стандартные математические операторы к тексту.
  2. В качестве аргументов функции используются данные несоответствующего типа. К примеру, номер столбца в функции ВПР задан числом меньше 1.
  3. Аргумент функции должен иметь единственное значение, а вместо этого ему присваивают целый диапазон. На рисунке ниже в качестве искомого значения функции ВПР используется диапазон A6:A8.

Вот и все! Мы разобрали типичные ситуации возникновения ошибок в Excel. Зная причину ошибки, гораздо проще исправить ее. Успехов Вам в изучении Excel!

Оцените качество статьи. Нам важно ваше мнение:

Источник: https://office-guru.ru/excel/obzor-oshibok-voznikayuschih-v-formulah-excel-65.html

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.