Как скрыть определенные значения ошибок в Excel?
Предположим, что в вашей таблице Excel есть значения ошибок, которые вам не нужно исправлять, но необходимо скрыть. Мы уже обсуждали, как скрыть все значения ошибок в Excel, но что если вы хотите скрыть только определенные из них? В этом руководстве мы покажем вам три способа выполнения этой задачи.
Скрытие нескольких конкретных значений ошибок путем изменения цвета текста на белый с помощью VBA
Мы создали два кода VBA, чтобы помочь вам быстро скрыть несколько конкретных значений ошибок в выбранном диапазоне или на нескольких листах, изменив цвет шрифта указанных ошибок на белый. Пожалуйста, следуйте инструкциям ниже и запустите код в соответствии с вашими потребностями.
1. В вашем Excel нажмите клавиши «Alt» + «F11», чтобы открыть окно «Microsoft Visual Basic для приложений».
2. Нажмите «Вставка» > «Модуль». Затем скопируйте один из следующих кодов VBA в окно «Модуль».
Код VBA 1: Скрытие нескольких конкретных значений ошибок в выбранном диапазоне
Sub HideSpecificErrors_SelectedRange()
'Updated by ExtendOffice 20220824
Dim xRg As Range
Dim xFindStr As String
Dim xFindRg As Range
Dim xARg As Range
Dim xURg As Range
Dim xFindRgs As Range
Dim xFAddress As String
Dim xBol As Boolean
Dim xJ
xArrFinStr = Array("#DIV/0!”, “#N/A”, “#NAME?") 'Enter the errors to hide, enclose each with double quotes and separate them with commas
On Error Resume Next
Set xRg = Application.InputBox("Please select the range that includes the errors to hide:", "Kutools for Excel", , Type:=8)
If xRg Is Nothing Then Exit Sub
xBol = False
For Each xARg In xRg.Areas
Set xFindRg = Nothing
Set xFindRgs = Nothing
Set xURg = Application.Intersect(xARg, xARg.Worksheet.UsedRange)
For Each xFindRg In xURg
For xJ = LBound(xArrFinStr) To UBound(xArrFinStr)
If xFindRg.Text = xArrFinStr(xJ) Then
xBol = True
If xFindRgs Is Nothing Then
Set xFindRgs = xFindRg
Else
Set xFindRgs = Application.Union(xFindRgs, xFindRg)
End If
End If
Next
Next
If Not xFindRgs Is Nothing Then
xFindRgs.Font.ThemeColor = xlThemeColorDark1
End If
Next
If xBol Then
MsgBox "Successfully hidden."
Else
MsgBox "No specified errors were found."
End If
End Sub
Примечание: В фрагменте "xArrFinStr = Array("#DIV/0!", "#N/A", "#NAME?")" в 12-й строке вы должны заменить "#DIV/0!", "#N/A", "#NAME?" на реальные ошибки, которые вы хотите скрыть, помните заключить каждое значение в двойные кавычки и разделить их запятыми.
Код VBA 2: Скрытие нескольких конкретных значений ошибок на нескольких листах
Sub HideSpecificErrors_WorkSheets()
'Updated by ExtendOffice 20220824
Dim xRg As Range
Dim xFindStr As String
Dim xFindRg As Range
Dim xARg, xFindRgs As Range
Dim xWShs As Worksheets
Dim xWSh As Worksheet
Dim xWb As Workbook
Dim xURg As Range
Dim xFAddress As String
Dim xArr, xArrFinStr
Dim xI, xJ
Dim xBol As Boolean
xArr = Array("Sheet1", "Sheet2") 'Names of the sheets where to find and hide the errors. Enclose each with double quotes and separate them with commas
xArrFinStr = Array("#DIV/0!", "#N/A", "#NAME?") 'Enter the errors to hide, enclose each with double quotes and separate them with commas
'On Error Resume Next
Set xWb = Application.ActiveWorkbook
xBol = False
For xI = LBound(xArr) To UBound(xArr)
Set xWSh = xWb.Worksheets(xArr(xI))
Set xFindRg = Nothing
xWSh.Activate
Set xFindRgs = Nothing
Set xURg = xWSh.UsedRange
Set xFindRgs = Nothing
For Each xFindRg In xURg
For xJ = LBound(xArrFinStr) To UBound(xArrFinStr)
If xFindRg.Text = xArrFinStr(xJ) Then
xBol = True
If xFindRgs Is Nothing Then
Set xFindRgs = xFindRg
Else
Set xFindRgs = Application.Union(xFindRgs, xFindRg)
End If
End If
Next
Next
If Not xFindRgs Is Nothing Then
xFindRgs.Font.ThemeColor = xlThemeColorDark1
End If
Next
If xBol Then
MsgBox "Successfully hidden."
Else
MsgBox "No specified errors were found."
End If
End Sub
- В фрагменте "xArr = Array("Лист1", "Лист2")" в 15-й строке вы должны заменить "Лист1", "Лист2" на реальные имена листов, где вы хотите скрыть ошибки. Не забудьте заключить каждое имя листа в двойные кавычки и разделить их запятыми.
- В фрагменте "xArrFinStr = Array("#DIV/0!", "#N/A", "#NAME?")" в 16-й строке вы должны заменить "#DIV/0!", "#N/A", "#NAME?" на реальные ошибки, которые вы хотите скрыть, помните заключить каждую ошибку в двойные кавычки и разделить их запятыми.
3. Нажмите «F5», чтобы запустить код VBA.
4. Появится диалоговое окно, показанное ниже, сообщая вам, что указанные значения ошибок были скрыты. Нажмите «ОК», чтобы закрыть диалоговое окно.
5. Указанные значения ошибок были скрыты сразу.
Замена конкретных значений ошибок другими значениями с помощью функции Мастера форматирования условий ошибок
Если вы не знакомы с кодом VBA, функция «Мастер форматирования условий ошибок» Kutools для Excel может помочь вам легко найти все значения ошибок, все ошибки #N/A или любые ошибки, кроме #N/A, и заменить их другими значениями, которые вы укажете. Продолжайте читать, чтобы узнать, как выполнить эту задачу.
1. На вкладке «Kutools» в группе «Формула» нажмите «Ещё» > «Мастер форматирования условий ошибок».
- В поле «Диапазон» нажмите кнопку выбора диапазона, чтобы выбрать диапазон, содержащий ошибки, которые вы хотите скрыть. Примечание: Чтобы выполнить поиск по всему листу, щелкните на вкладке листа.
- В разделе «Типы ошибок» укажите, какие значения ошибок нужно скрыть.
- В разделе «Отображение ошибок» выберите способ замены ошибок.

3. Нажмите «ОК». Указанные значения ошибок отображаются так, как вы выбрали.
Kutools для Excel - Усильте Excel более чем 300 необходимыми инструментами. Наслаждайтесь постоянно бесплатными функциями ИИ! Получите прямо сейчас
Замена конкретной ошибки другими значениями с помощью формулы
Чтобы заменить конкретное значение ошибки, функции Excel IF, IFNA и ERROR.TYPE могут помочь вам. Но сначала вы должны знать числовой код каждой ошибки.
# Ошибка | Формула | Возвращает |
#NULL! | =ERROR.TYPE(#NULL!) | 1 |
#DIV/0! | =ERROR.TYPE(#DIV/0!) | 2 |
#VALUE! | =ERROR.TYPE(#VALUE!) | 3 |
#REF! | =ERROR.TYPE(#REF!) | 4 |
#NAME? | =ERROR.TYPE(#NAME?) | 5 |
#NUM! | =ERROR.TYPE(#NUM!) | 6 |
#N/A | =ERROR.TYPE(#N/A) | 7 |
#GETTING_DATA | =ERROR.TYPE(#GETTING_DATA) | 8 |
#SPILL! | =ERROR.TYPE(#SPILL!) | 9 |
#UNKNOWN! | =ERROR.TYPE(#UNKNOWN!) | 12 |
#FIELD! | =ERROR.TYPE(#FIELD!) | 13 |
#CALC! | =ERROR.TYPE(#CALC!) | 14 |
Другие ошибки | =ERROR.TYPE(123) | #N/A |
Например, у вас есть таблица со значениями, как показано выше. Чтобы заменить ошибку «#DIV/0!» текстовой строкой «Divide By Zero Error», вы должны сначала найти код этой ошибки, который равен «2». Затем примените следующую формулу в ячейке «B2» и перетащите маркер заполнения вниз, чтобы применить формулу к нижним ячейкам:
=IF(IFNA(ERROR.TYPE(A2),A2)=2,"Divide By Zero Error",A2)
- В формуле вы можете заменить код ошибки «2» на код, соответствующий другому значению ошибки.
- В формуле вы можете заменить текстовую строку «Divide By Zero Error» на другое текстовое сообщение или на «» (пустую ячейку), если вы хотите заменить ошибку пустой ячейкой.
Связанные статьи
Как скрыть все значения ошибок в Excel?
Когда вы работаете над рабочим листом Excel, иногда вы можете заметить наличие некоторых ошибочных значений, таких как #DIV/0, #REF, #N/A и т.д., они вызваны ошибками в формулах. Теперь вы хотите скрыть все эти значения ошибок в рабочем листе, как можно быстро и легко решить эту задачу в Excel?
Как изменить ошибку #DIV/0! на читаемое сообщение в Excel?
Иногда, когда мы используем формулу для расчетов в Excel, некоторые сообщения об ошибках будут отображаться. Например, в этой формуле =A1/B1, если B1 пуст или содержит 0, формула выдаст ошибку #DIV/0. Есть ли способ сделать эти сообщения об ошибках более понятными или если вы хотите использовать другие сообщения вместо ошибок, что следует делать?
Как избежать ошибки #Ref при удалении строк в Excel?
Если вы ссылаетесь на одну ячейку из другой ячейки, она будет отображать ошибку #REF, если ссылочная строка была удалена, как показано на скриншоте ниже. Теперь я расскажу, как избежать ошибки #ref и автоматически ссылаться на следующую ячейку при удалении строки.
Как выделить все ячейки с ошибками в Excel?
Если вы создаете формулы в своей таблице, то неизбежно появление некоторых ошибочных значений. Можно ли выделить все эти ячейки, содержащие ошибочные значения в вашей таблице одновременно? Утилита Условного форматирования в Excel может помочь вам решить эту проблему.
Лучшие инструменты для повышения продуктивности в Office
Повысьте свои навыки работы в Excel с помощью Kutools для Excel и ощутите эффективность на новом уровне. Kutools для Excel предлагает более300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы выбрать функцию, которая вам нужнее всего...
Office Tab добавляет вкладки в Office и делает вашу работу намного проще
- Включите режим вкладок для редактирования и чтения в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна вместо новых отдельных окон.
- Увеличьте свою продуктивность на50% и уменьшите количество щелчков мышью на сотни ежедневно!
Все надстройки Kutools. Один установщик
Пакет Kutools for Office включает надстройки для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro — идеально для команд, работающих в разных приложениях Office.





- Комплексный набор — надстройки для Excel, Word, Outlook и PowerPoint плюс Office Tab Pro
- Один установщик, одна лицензия — настройка занимает считанные минуты (MSI-совместимо)
- Совместная работа — максимальная эффективность между приложениями Office
- 30-дневная полнофункциональная пробная версия — без регистрации и кредитной карты
- Лучшее соотношение цены и качества — экономия по сравнению с покупкой отдельных надстроек