Хитрости »
7 Октябрь 2015 49613 просмотров
Случаются ситуации, когда в рабочей книге на листах создано много формул, выполняющих различные задачи. При этом формулы созданы когда-то давно, возможно даже на вами. И формулы возвращают ошибки. Например #ДЕЛ/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 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 If End Sub
Как это работает
Если не знакомы с макросами, то для начала лучше прочитать как их создавать и вызывать: Что такое макрос и где его искать?, т.к. может случиться так, что все сделаете правильно, но забудете макросы разрешить и ничего не заработает.
Копируете приведенный код, переходите в редактор VBA(Alt+F11), создаете стандартный модуль(Insert —Module) и просто вставляете в него этот код. Переходите в нужную книгу Excel и выделяете все ячейки, формулы в которых необходимо преобразовать таким образом, чтобы в случае ошибки они возвращали ноль. Жмете Alt+F8, выбираете код IfIsErrNull(или IfErrorNull, в зависимости от того, какой именно скопировали) и жмете Выполнить.
Ко всем формулам в выделенных ячейках будет добавлена функция обработки ошибки. Приведенные коды учитывают так же:
-если в формуле уже применена функция ЕСЛИОШИБКА или ЕСЛИ(ЕОШ, то такая формула не обрабатывается;
-код корректно обработает так же функции массива;
-выделять можно несмежные ячейки(через Ctrl).
В чем недостаток: сложные и длинные формулы массива могут вызвать ошибку кода, в связи с особенностью данных формул и их обработкой из VBA. В таком случае код напишет о невозможности продолжить работу и выделит проблемную ячейку. Поэтому настоятельно рекомендую производить замены на копиях файлов.
Если значение ошибки надо заменить на пусто, а не на ноль, то надо строку
Const sToReturnVal As String = "0"
Удалить, а перед строкой
'Const sToReturnVal As String = """"""
Удалить апостроф (‘)
Так же можно данный код вызывать нажатием кнопки(Как создать кнопку для вызова макроса на листе) или поместить в надстройку(Как создать свою надстройку?), чтобы можно было вызывать из любого файла.
И небольшое дополнение: старайтесь применять код вдумчиво. Не всегда возврат ошибки мешает. Например, при использовании ВПР иногда полезно видеть какие значения не были найдены.
Так же хочу отметить, что применять надо к реально работающим формулам. Потому как если формула возвращает #ИМЯ!(#NAME!), то это означает, что в формуле неверно записан какой-то аргумент и это ошибка записи формулы, а не ошибка результата вычисления. Такие формулы лучше проанализировать и найти ошибку, чтобы избежать логических ошибок расчетов на листе.
Статья помогла? Поделись ссылкой с друзьями!
Видеоуроки
Поиск по меткам
Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel для iPad Excel Web App Excel для iPhone Excel для планшетов с Android Excel 2010 Excel 2007 Excel для Mac 2011 Excel для телефонов с Android Excel для Windows Phone 10 Excel Mobile Excel Starter 2010 Еще…Меньше
Ошибка #Н/Д обычно означает, что формула не находит запрашиваемое значение.
Лучшее решение
Чаще всего появление ошибки #Н/Д обусловлено тем, что формула не может найти значение, на которое ссылается функция ПРОСМОТРX, ВПР, ГПР, ПРОСМОТР или ПОИСКПОЗ. Например, искомого значения нет в исходных данных.
В данном случае в таблице подстановки нет элемента «Банан», поэтому функция ВПР возвращает ошибку #Н/Д.
Решение: Убедитесь, что искомое значение есть в исходных данных, или используйте в формуле обработчик ошибок, например функцию ЕСЛИОШИБКА. Например, формула =ЕСЛИОШИБКА(ФОРМУЛА();0) означает следующее:
-
=ЕСЛИ(при вычислении формулы получается ошибка, то показать 0, в противном случае показать результат формулы)
Вы можете указать «», чтобы не отображалось ничего, или подставить собственный текст: =ЕСЛИОШИБКА(ФОРМУЛА(),»Сообщение об ошибке»)
Примечания:
-
Если вам нужна справка по ошибке #Н/Д для конкретной функции, например ВПР или ИНДЕКС/ПОИСКПОЗ, выберите один из указанных вариантов.
-
Кроме того, может быть полезно узнать о некоторых распространенных функциях, вызывающих эту ошибку, таких как ПРОСМОТРX, ВПР, ГПР, ПРОСМОТР или ПОИСКПОЗ.
-
Исправление ошибки #Н/Д в функции ВПР
-
Исправление ошибки #Н/Д в функциях ИНДЕКС и ПОИСКПОЗ
Если вы не знаете, что делать на этом этапе или какого рода помощь вам нужна, поищите похожие вопросы на форуме сообщества Excel или опубликуйте там свой вопрос.
Если вам по-прежнему нужна помощь с устранением этой ошибки, приведенный ниже контрольный список поможет вам определить возможные причины проблем в формулах.
Искомое значение и исходные данные относятся к разным типам. Например, вы пытаетесь использовать ссылку на функцию ВПР как число, а исходные данные сохранены как текст.
Решение: Убедитесь, что типы данных совпадают. Проверьте форматы ячеек. Для этого выделите диапазон ячеек, щелкните правой кнопкой мыши, выберите Формат ячеек > Число (или нажмите клавиши CTRL+1) и при необходимости измените числовой формат.
Совет: Если вам нужно принудительно изменить формат для целого столбца, сначала примените нужный формат, а затем выберите Данные > Текст по столбцам > Готово.
Начальные и конечные пробелы можно удалить с помощью функции СЖПРОБЕЛЫ. В приведенном ниже примере в функции ВПР используется вложенная функция СЖПРОБЕЛЫ для удаления начальных пробелов из имен в ячейках A2:A7 и возврата названия отдела.
=ВПР(D2;СЖПРОБЕЛЫ(A2:B7);2;ЛОЖЬ)
Примечание: 24 сентября 2018 г. — Формулы динамического массива — Если у вас есть текущая версия Microsoft 365 и вы находитесь на канале быстрого выпуска Insiders, вы можете ввести формулу в верхнюю левую ячейку выходного диапазона и нажать клавишу Enter, чтобы подтвердите формулу в виде формулы динамического массива. Иначе формулу необходимо вводить с использованием прежней версии массива, выбрав диапазон вывода, введя формулу в левой верхней ячейке диапазона и нажав клавиши CTRL+SHIFT+ВВОД для подтверждения. Excel автоматически вставляет скобки в начале и конце формулы. Дополнительные сведения о формулах массива см. в статье Использование формул массива: рекомендации и примеры.
По умолчанию функции, которые ищут данные в таблицах, должны использовать сортировку по возрастанию. Но у функций ВПР и ГПР есть аргумент интервальный_просмотр, который сообщает функции, что нужно искать точное совпадение, даже если таблица не отсортирована. Чтобы найти точное совпадение, укажите для аргумента интервальный_просмотр значение ЛОЖЬ. Помните, что значение ИСТИНА, сообщающее функции о том, что нужно искать приблизительное совпадение, может привести к возвращению не только ошибки #Н/Д, но и ошибочных результатов, как видно в следующем примере.
В этом примере возвращается не только ошибка #Н/Д для элемента «Банан», но и неправильная цена для элемента «Черешня». К такому результату приводит аргумент ИСТИНА, который сообщает функции ВПР, что нужно искать не точное, а приблизительное совпадение. Здесь нет близкого совпадения для элемента «Банан», а «Черешня» предшествует элементу «Персик». В этом случае при использовании функции ВПР с аргументом ЛОЖЬ будет отображаться правильная цена для элемента «Черешня», но для элемента «Банан» все равно будет указана ошибка #Н/Д, потому что в списке подстановок его нет.
Если вы используете функцию ПОИСКПОЗ, попробуйте изменить значение аргумента тип_сопоставления, чтобы указать порядок сортировки таблицы. Чтобы найти точное совпадение, задайте для аргумента тип_сопоставления значение 0 (ноль).
Чтобы исправить ошибку, убедитесь, что диапазон, на который ссылается формула массива, содержит такое же количество строк и столбцов, что и диапазон ячеек, в котором была введена формула массива. Или введите формулу массива в меньшее или большее число ячеек в соответствии со ссылкой на диапазон в формуле.
В данном примере ячейка E2 содержит ссылку на несовпадающие диапазоны:
=СУММ(ЕСЛИ(A2:A11=D2;B2:B5))
Чтобы формула вычислялась правильно, необходимо изменить ее так, чтобы оба диапазона включали строки 2–11.
=СУММ(ЕСЛИ(A2:A11=D2;B2:B11))
Примечание: 24 сентября 2018 г. — Формулы динамического массива — Если у вас есть текущая версия Microsoft 365 и вы находитесь на канале быстрого выпуска Insiders, вы можете ввести формулу в верхнюю левую ячейку выходного диапазона и нажать клавишу Enter, чтобы подтвердите формулу в виде формулы динамического массива. Иначе формулу необходимо вводить с использованием прежней версии массива, выбрав диапазон вывода, введя формулу в левой верхней ячейке диапазона и нажав клавиши CTRL+SHIFT+ВВОД для подтверждения. Excel автоматически вставляет скобки в начале и конце формулы. Дополнительные сведения о формулах массива см. в статье Использование формул массива: рекомендации и примеры.
В данном случае для месяцев с мая по декабрь указано значение #Н/Д, поэтому итог вычислить не удается и вместо него отображается ошибка #Н/Д.
Чтобы исправить ошибку, проверьте синтаксис используемой функции и введите все обязательные аргументы, которые возвращают ошибку. Вероятно, для проверки функции вам потребуется использовать редактор Visual Basic. Открыть этот редактор можно на вкладке «Разработчик» или с помощью клавиш ALT+F11.
Чтобы исправить ошибку, убедитесь в том, что книга, содержащая пользовательскую функцию, открыта, а функция работает правильно.
Чтобы исправить ошибку, убедитесь в том, что аргументы функции верны и расположены в нужных местах.
Чтобы исправить ошибку, нажмите клавиши CTRL+ALT+F9 для пересчета листа.
Если вы не знаете точно, какие аргументы использовать, вам поможет мастер функций. Выделите ячейку с формулой, а затем перейдите на вкладку Формулы и нажмите кнопку Вставить функцию.
Excel автоматически запустит мастер.
Щелкните любой аргумент, и Excel покажет вам сведения о нем.
Значение #Н/Д может принести пользу. Значения #Н/Д часто используются в диаграммах с такими данными, как в приведенном ниже примере, поскольку эти значения не отображаются на диаграмме. В примерах ниже показано, как выглядит диаграмма со значениями 0 и #Н/Д.
В предыдущем примере значения 0 показаны в виде прямой линии вдоль нижнего края диаграммы, а затем линия резко поднимается вверх, чтобы показать итог. В следующем примере вместо нулевых значений используются значения #Н/Д.
К началу страницы
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
См. также
Преобразование чисел из текстового формата в числовой
Функция ВПР
ГПР
Функция ПРОСМОТР
Функция ПОИСКПОЗ
Полные сведения о формулах в Excel
Рекомендации, позволяющие избежать появления неработающих формул
Поиск ошибок в формулах
Сочетания клавиш в Excel
Все функции Excel (по алфавиту)
Функции Excel (по категориям)
Нужна дополнительная помощь?
Вы можете часто встречать некоторые значения ошибок в книгах Excel, такие как #DIV/0, #VALUE!, #REF, #N/A, #NUM!, #NAME?, #NULL. И здесь мы покажем вам несколько полезных методов для поиска и замены этих # ошибок формулы на 0 (ноль), пробел или любую текстовую строку в Microsoft Excel. Возьмем приведенную ниже таблицу в качестве примера. Давайте прочитаем, чтобы узнать, как искать и заменять значения ошибок в таблице:
Замените # ошибок в формулах на 0, любые конкретные значения или пустые ячейки на ЕСЛИОШИБКА
Microsoft Excel имеет встроенную функцию IFERROR, что позволяет легко преобразовывать любые виды значений ошибок в любые значения по вашему желанию.
Как показано в примере ниже, просто введите =ЕСЛИОШИБКА(значение, значение_если_ошибка) в пустой ячейке, и вы получите ценностное себя, если это не ошибка, или значение_если_ошибка if ценностное это ошибка.
В приведенной выше таблице видно, что значение ошибки #Н/Д было преобразовано в пустую ячейку, число и указанную текстовую строку соответственно. Вы можете изменить значение_если_ошибка к любым значениям, которые вам нужны, как показано в примере ниже:
Примечание: В формуле =ЕСЛИОШИБКА(значение, значение_если_ошибка), ценностное может быть представлен в виде формулы, выражения, значения или ссылки на ячейку. А также значение_если_ошибка может быть пустой строкой, текстовым сообщением, числовым значением или другой формулой или расчетом. Когда вы предоставляете текстовое сообщение как значение_если_ошибка, не забудьте заключить его в двойные кавычки («»).
Замените # ошибок в формулах конкретными числами с помощью ERROR.TYPE.
Обычно мы можем использовать Microsoft Excel ERROR.TYPE функция для возврата числа, соответствующего определенному значению ошибки.
В нашем примере ниже, используя функцию ERROR.TYPE в пустой ячейке, вы получите числовые коды для определенных значений ошибок, так что разные # ошибки формулы будут преобразованы в разные числа:
Нет. |
# Ошибки |
Формулы |
Старинная к |
1 |
#НОЛЬ! |
= ERROR.TYPE (# ПУСТО!) |
1 |
2 |
# DIV / 0! |
= ERROR.TYPE (# DIV / 0!) |
2 |
3 |
#СТОИМОСТЬ! |
= ТИП ОШИБКИ (# ЗНАЧ!) |
3 |
4 |
#REF! |
= ERROR.TYPE (#REF!) |
4 |
5 |
# ИМЯ? |
= ERROR.TYPE (# ИМЯ?) |
5 |
6 |
#NUM! |
= ТИП ОШИБКИ (# ЧИСЛО!) |
6 |
7 |
# N / A |
= ERROR.TYPE (# НЕТ) |
7 |
8 |
# ПОЛУЧЕНИЕ_ДАННЫХ |
= ERROR.TYPE (#GETTING_DATA) |
8 |
9 |
всех пользователей. |
= ERROR.TYPE (1) |
# N / A |
Конечно, вы можете перетащить маркер заливки чтобы преобразовать другие ошибки формулы в числа по диапазонам. Однако этих цифр слишком много, чтобы их можно было запомнить и применить.
Найдите и замените # ошибки формулы на 0, любые конкретные значения или пустые ячейки с помощью команды «Перейти к».
Таким образом можно легко преобразовать все ошибки формул # в выделенном фрагменте с 0, пустым или любыми другими значениями с помощью Microsoft Excel. Перейти к команда.
Шаг 1: Выберите диапазон, с которым вы будете работать.
Шаг 2: Нажмите F5 , чтобы открыть Перейти к диалоговое окно.
Шаг 3: Нажмите Особый кнопку, и он открывает Перейти к специальному диалоговое окно.
Шаг 4: В разделе Перейти к специальному диалоговое окно, только отметьте Формула вариант и ошибки вариант, см. снимок экрана:
Шаг 5: И затем щелкните OK, были выбраны все # ошибки формулы, см. снимок экрана:
Шаг 6: Теперь просто введите 0 или любое другое значение, необходимое для замены ошибок, и нажмите Ctrl + Enter ключи. Тогда вы получите, что все выбранные ячейки ошибок заполнены 0.
Конечно, вы можете удалить все ячейки с ошибками, нажав клавишу Delete, оставив пустые ячейки.
Найдите и замените # ошибок формулы на 0, любые конкретные значения или пустые ячейки на Kutools for Excel
Если у вас есть Kutools for Excel установлен, его Мастер условий ошибки Инструмент упростит вашу работу, заменив все виды ошибок формул на 0, пустые ячейки или любые пользовательские сообщения.
1: Выберите диапазон со значениями ошибок, которые вы хотите заменить на ноль, пробел или текст, как вам нужно, затем cоблизывание Кутулс > Больше > Мастер условий ошибки. Смотрите скриншот:
2. В разделе Мастер условий ошибки диалоговое окно, сделайте следующее:
(1) В типы ошибок выберите нужный тип ошибки, например Любое значение ошибки, Только значение ошибки # Н / Д or Любое значение ошибки, кроме # N / A. Здесь я выбираю Любое значение ошибки опцию.
(2) В Отображение ошибки раздел, если вы хотите заменить все значения ошибок пробелами, проверьте Ничего (пустая ячейка) опцию.
Чтобы заменить все значения ошибок на ноль или определенный текст, выберите Сообщение (текст) вариант, введите номер 0 или нужный текст в пустое поле.
(3) Щелкните значок OK кнопку.
И тогда вы можете увидеть, что все значения ошибок в выбранном диапазоне заменяются пробелами, нулями или определенным текстом, как вы сразу указали выше. Смотрите скриншоты:
Замените все значения ошибок пустыми
Замените все значения ошибок на ноль
Замените все значения ошибок определенным текстом
Если вы хотите получить бесплатную пробную версию (30-день) этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.
Найдите и замените # ошибок в формуле на 0 или пробел на Kutools for Excel
Связанная статья:
- Как изменить # DIV / 0! ошибка читабельному сообщению в excel?
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Функция НД() в EXCEL
Т.е. если значение в ячейке А3 меньше 0, то формула возвращает ошибку #Н/Д. В каких случаях лучше вернуть значение ошибки #Н/Д, чем другие значения, например ЛОЖЬ или 0 или, например, текстовую строку «меньше 0» или числовое значение — решает пользователь, но когда это действительно удобно?
Преимущество значения #Н/Д заключается при построении диаграмм, т.е. это значение игнорируется (см. статью Основные типы диаграмм в MS EXCEL раздел График).
Построим 3 графика, каждый будет состоять из 5 значений (см. файл примера ).
Значение #Н/Д при построении графика пропускается (синий график). Обратите внимание, что зеленый график (для пустой ячейки) на второй диаграмме ведет аналогично. Это достигнуто с помощью настроек диаграммы (вкладка Конструктор , группа Данные , нажмите Выбрать данные , в появившемся окне нажмите кнопку Скрытые и пустые ячейки, выберите Показывать линию ).
Однако, как правило, вместо пустой ячейки в таблицах используют значение пустой текст «», которое не отображается в ячейке, но является текстовой строкой. На диаграмме текстовые значения заменяются 0. Именно, в этом случае пригодится функция НД() .
Вместо формулы =ЕСЛИ(A3<0;»»;A3) следует использовать формулу =ЕСЛИ(A3<0;НД();A3) — лишние 0 на графике отображаться не будут.
Ошибка #Н/Д обычно означает, что формула не находит запрашиваемое значение.
Лучшее решение
Чаще всего ошибка #N/Д вызывается с помощью функций ПРОСМОТР, ВЛИ ПРОСМОТР, Г ПРОСМОТР, ПРОСМОТР или ПОИСКПОЗ, если формула не может найти значение, на который ссылается формула. Например, искомого значения нет в исходных данных.
В данном случае в таблице подстановки нет элемента «Банан», поэтому функция ВПР возвращает ошибку #Н/Д.
Решение:убедитесь, что искомые значения есть в исходных данных, или используйте в формуле обработчик ошибок, например ЕСЛИERROR. Например, =ЕСЛИERROR(ФОРМУЛА();0), которая говорит:
=ЕСЛИ(при вычислении формулы получается ошибка, то показать 0, в противном случае показать результат формулы)
Вы можете указать «», чтобы не отображалось ничего, или подставить собственный текст: =ЕСЛИОШИБКА(ФОРМУЛА(),»Сообщение об ошибке»)
Если вы не знаете, что делать на этом этапе или какого рода помощь вам нужна, поищите похожие вопросы на форуме сообщества Excel или опубликуйте там свой вопрос.
Если вы хотите работать дальше, приведенный ниже контрольный список поможет вам определить возможные причины проблем в формулах.
Искомое значение и исходные данные относятся к разным типам. Например, вы пытаетесь использовать ссылку на функцию ВПР как число, а исходные данные сохранены как текст.
Решение:убедитесь, что типы данных одинаковы. Чтобы проверить формат ячеек, вы можете выбрать ячейку или диапазон ячеек, щелкнуть правой кнопкой мыши и выбрать формат ячеек >число (или нажмите CTRL+1) и при необходимости изменить числовом формате.
Совет: Если вам нужно принудительно изменить формат для целого столбца, сначала примените нужный формат, а затем выберите Данные > Текст по столбцам > Готово.
Начальные и конечные пробелы можно удалить с помощью функции СЖПРОБЕЛЫ. В приведенном ниже примере в функции ВПР используется вложенная функция СЖПРОБЕЛЫ для удаления начальных пробелов из имен в ячейках A2:A7 и возврата названия отдела.
В этом примере возвращается не только ошибка #Н/Д для элемента «Банан», но и неправильная цена для элемента «Черешня». К такому результату приводит аргумент ИСТИНА, который сообщает функции ВПР, что нужно искать не точное, а приблизительное совпадение. Здесь нет близкого совпадения для элемента «Банан», а «Черешня» предшествует элементу «Персик». В этом случае при использовании функции ВПР с аргументом ЛОЖЬ будет отображаться правильная цена для элемента «Черешня», но для элемента «Банан» все равно будет указана ошибка #Н/Д, потому что в списке подстановок его нет.
Если вы используете функцию ПОИСКПОЗ, попробуйте изменить значение аргумента тип_сопоставления, чтобы указать порядок сортировки таблицы. Чтобы найти точное совпадение, задайте для аргумента тип_сопоставления значение 0 (ноль).
Чтобы исправить ошибку, убедитесь, что диапазон, на который ссылается формула массива, содержит такое же количество строк и столбцов, что и диапазон ячеек, в котором была введена формула массива. Или введите формулу массива в меньшее или большее число ячеек в соответствии со ссылкой на диапазон в формуле.
В данном примере ячейка E2 содержит ссылку на несовпадающие диапазоны:
В данном случае для месяцев с мая по декабрь указано значение #Н/Д, поэтому итог вычислить не удается и вместо него отображается ошибка #Н/Д.
Чтобы исправить ошибку, проверьте синтаксис используемой функции и введите все обязательные аргументы, которые возвращают ошибку. Вероятно, для проверки функции вам потребуется использовать редактор Visual Basic. Открыть этот редактор можно на вкладке «Разработчик» или с помощью клавиш ALT+F11.
Чтобы исправить ошибку, убедитесь в том, что книга, содержащая пользовательскую функцию, открыта, а функция работает правильно.
Чтобы исправить ошибку, убедитесь в том, что аргументы функции верны и расположены в нужных местах.
Чтобы исправить ошибку, нажмите клавиши CTRL+ALT+F9 для пересчета листа.
Если вы не знаете точно, какие аргументы использовать, вам поможет мастер функций. Вы выберите ячейку с формулой, оставляемой под вопросом, а затем перейдите на вкладку Формула на ленте и нажмите кнопку Вставить функцию.
Excel автоматически запустит мастер.
Щелкните любой аргумент, и Excel покажет вам сведения о нем.
Значение #Н/Д может принести пользу. Значения #Н/Д часто используются в диаграммах с такими данными, как в приведенном ниже примере, поскольку эти значения не отображаются на диаграмме. В примерах ниже показано, как выглядит диаграмма со значениями 0 и #Н/Д.
В предыдущем примере значения 0 показаны в виде прямой линии вдоль нижнего края диаграммы, а затем линия резко поднимается вверх, чтобы показать итог. В следующем примере вместо нулевых значений используются значения #Н/Д.
Дополнительные сведения об ошибке #Н/Д в конкретных функциях см. в следующих статьях:
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Функция ЕСНД для проверки ячеек на ошибки НД в Excel
Функция ЕСНД в Excel предназначена для проверки вводимых данных (например, результатов, возвращаемых функциями) и возвращает альтернативный результат, указанный в виде второго аргумента, если формула, введенная в качестве первого аргумента, возвращает код ошибки #Н/Д, или результат выполнения этой формулы, если указанная ошибка не возникает.
Как исправить ошибки НД в ячейках таблицы Excel
В Excel есть функция ЕНД, которая также выполняет проверку данных на наличие ошибки #Н/Д. Однако, она может возвращать только одно из двух возможных значений: ИСТИНА – если ошибка #Н/Д возникла, и ЛОЖЬ, если ошибки нет. В ЕСНД предусмотрен функционал выполнения альтернативного действия, поэтому она более удобна в использовании и позволяет сократить длину записываемых формул.
Пример 1. В таблице содержится ряд некоторых числовых значений. Создать формулу для поиска любых числовых значений в данном числовом ряду, которая в случае отсутствия совпадений отобразит понятное рядовому пользователю сообщение вместо кода ошибки #Н/Д.
Вид таблицы данных:
В ячейку C2 запишем следующую формулу:
Функция ПОИСКПОЗ используется (в данном случае) для поиска точного совпадения искомого значения с имеющимся в массиве чисел. Если такое совпадение отсутствует, будет возвращен код ошибки #Н/Д. ЕСНД перехватит ошибку и вернет текстовую строку с пояснением.
Примеры поиска значений:
Теперь при условии возникновении ошибки НД формула автоматически исправляет на текстовое значение «отсутствует» в ячейке Excel. Если же значение в ячейке B2 найдено:
В итоге вычисления формулы получаем соответственный результат.
Пример исправления ошибок с кодом НД в формулах Excel
Пример 2. В столбце записаны некоторые данные, среди которых содержатся коды ошибок #Н/Д. Необходимо суммировать ячейки с ошибками #Н/Д и числовыми значениями.
Вида таблицы данных:
Для расчетов используем следующую формулу массива CTRL+SHIFT+Enter:
Функция ЕСНД просматривает массив данных (A2:A13) и при нахождении кода ошибки #Н/Д выводит число 0.
Значения ошибки неизбежны, если Вы работаете в Excel. Конечно, лучше перехватывать их на стадии вычислений и не отображать. Но это не всегда возможно.
Есть два способа борьбы со значениями ошибки, Вам необходимо только понимать, будут использоваться результаты вычисления этой ячейки в дальнейших подсчётах или нет.
Если Вам необходимо ЗАМЕНИТЬ значение ошибки нулём или пустой строкой, то сделать это можно формулой (в зависимости от версии Excel), см, картинку:
Если же нужно просто скрыть ошибку, то можно использовать условное форматирование: