5년 연속 IT분야 베스트셀러! 「 진짜쓰는 실무엑셀 」로 2026년 공부 끝내기 오빠두엑셀 `2026 무료 챌린지` 오픈! 완주하고 수료증 받아가세요! 엑셀이 막히셨나요? Q&A 게시판에서 바로 해결하세요.
메뉴
해결 M365윈도우11

수식에 iferror를 일괄적으로 넣는 방법이 있을까요?

두디오
11월 19일 조회 1,028

이렇게 수식이 여러개 입력되어 있을 때.. iferror  함수를 한 번에 추가할 수 있을까요?

chatgpt는 =+ 를 찾아서 =+iferror로 바꾸면 된다고 하는데 계속 오류가 나네요 ㅠ

댓글 5

수메리안 채택된 답변 11월 19일

안녕하세요~

셀수식이나 기타 다른 방법은
실제적으로 어럽다고 보입니다.

VBA로 코딩했으니
한번 적용해 보세요~



Sub IFERROR감싸기()

    Dim ws As Worksheet
    Dim rng As Range
    Dim cell As Range
    Dim f As String
    
    Set ws = ActiveSheet
    
    '// 범위 입력받기
    On Error Resume Next
    Set rng = Application.InputBox( _
        Prompt:="IFERROR로 감쌀 범위를 선택하세요:", _
        Title:="범위 선택", _
        Type:=8)  '// Type:=8 은 Range 타입
    On Error GoTo 0
    
    '// 취소 버튼 누르면 종료
    If rng Is Nothing Then
        MsgBox "취소되었습니다.", vbInformation
        Exit Sub
    End If
    
    '// 성능 최적화
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    Application.EnableEvents = False
    
    On Error GoTo ErrorHandler
    
    '// 선택한 범위의 각 셀 처리
    For Each cell In rng
        If cell.HasFormula Then
            f = cell.Formula2
            
            '// IFERROR 체크
            If Not (UCase$(f) Like "=IFERROR(*") Then
                cell.Formula2 = "=IFERROR(" & Mid$(f, 2) & ",0)"
            End If
        End If
    Next cell
    
    MsgBox "완료: " & rng.Address & " 범위의 수식을 IFERROR로 감쌌습니다.", vbInformation
    
ErrorHandler:
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
    Application.EnableEvents = True
    
    If Err.Number <> 0 Then
        MsgBox "오류 발생: " & Err.Description, vbCritical
    End If
    
End Sub

두디오 작성자 11월 20일

@수메리안 님 답변 감사합니다.. 매크로밖에 방법이 없나보네요 ㅜ

마법의손 11월 20일

 범위선택후 매크로실행

'목적 : 수식을 IFERROR 함수로 처리하기
Sub WrapFormulasWithIFERROR()
    Dim cell As Range
    Dim originalFormula As String
    Dim formulaCells As Range
    
    On Error Resume Next ' 수식 셀이 없을 경우 오류 무시
    ' 선택된 범위에서 수식이 있는 셀만 찾기
    Set formulaCells = Selection.SpecialCells(xlCellTypeFormulas)
    On Error GoTo 0 ' 오류 처리 복원
    
Application.ScreenUpdating = False

    ' 수식 셀이 있을 경우 처리
    If Not formulaCells Is Nothing Then
        For Each cell In formulaCells
            ' "="을 제거하고 앞뒤 공백과 '@'를 제거한 후 수식 추출
            originalFormula = Trim(Replace(Mid(cell.Formula2, 2), "@", ""))
            
            ' 수식이 IFERROR 또는 IFNA로 시작하지 않는 경우에만 변경
            If UCase(Left(originalFormula, 8)) <> "IFERROR(" And UCase(Left(originalFormula, 5)) <> "IFNA(" Then
                cell.Formula2 = "=IFERROR(" & Mid(cell.Formula2, 2) & ","""")"
            End If
        Next cell
    End If
Application.ScreenUpdating = True

End Sub

두디오 작성자 11월 20일

@마법의손 님 답변 감사합니다.. 매크로밖에 방법이 없나보네요 ㅜㅜ

박정호2 11월 23일

E2를 기준으로 할때

H2 셀에 
=SUBSTITUTE(SUBSTITUTE(FORMULATEXT(E2)&"@@","=","=IFERROR("),"@@",","&CHAR(34)&CHAR(34)&")")
(사실 변수는 E2 밖에 없어요)

저 결과를 다시 E2셀에 내용만 붙여 넣기 한 다음
F2 눌러준다음 엔터 하면 공식이 활성화 되요

저도 주로 매크로 사용하는데 저 방법도 가능하답니다.
저 방법도 간혹 써요

질문답변 게시판의 최근 글

스크랩 완료