본문 바로가기
#3 이세계 필수 엑셀 가이드

엑셀에서 데이터 유효성 검사가 작동 안될 때

by 이세계의엑셀 2025. 6. 14.
반응형

본 글은 엑셀 작업 중 데이터 유효성 검사가 예상대로 작동하지 않을 때 발생 가능한 원인과 실무 중심 해결책을 종합적으로 설명하여, 비효율적인 오류 수정 시간을 최소화하고 데이터 신뢰성을 확보하도록 돕는 것을 목적으로 한다.

데이터 유효성 검사가 비활성화되는 일반적인 상황

반응형
  • 현재 셀 편집 중이다. 입력 완료(Enter) 또는 취소(Esc)를 먼저 수행해야 데이터 > 데이터 유효성 검사 메뉴가 활성화된다.
  • 워크시트 보호 또는 통합문서 공유 상태이다. 보호(Review 탭) 해제 후 유효성 검사를 다시 설정해야 한다.
  • 조건부 서식‧잘못된 수식으로 인해 입력이 강제로 변환된다.
  • 다른 파일에서 복사한 값이 붙여넣기(Ctrl+V)로 규칙을 덮어쓴다.
  • Excel 버전 업그레이드 후 캐시 손상이 발생하여 유효성 메타데이터가 사라진다.

복사·붙여넣기(Ctrl+V)로 인한 규칙 무력화

유효성 검사는 셀 서식 수준의 속성이다. 원본 셀에 유효성 규칙이 없는 경우 붙여넣으면 대상 셀의 규칙이 덮어쓰기 되며 오류 메시지가 표시되지 않는다. 다음 방법으로 방지한다.

  1. 붙여넣기 직후 나타나는 스마트 태그(붙여넣기 옵션)에서 값만(V) 또는 값 & 원본 서식 없는(V)을 선택한다.
  2. VBA 이벤트로 Worksheet_Change를 사용해 잘못된 값이면 즉시 .Undo로 취소한다. 대규모 입력 시 유용하다.
  3. 새로운 통합양식을 배포할 때 입력 영역과 계산 영역을 분리하고, 계산 시트는 VeryHidden 속성으로 숨긴다.

워크시트 보호·공유 설정이 원인일 때

공유 통합문서는 유효성 규칙을 추가·수정할 수 없다. 작업 순서는 다음과 같다.

  1. 공유 해제 → 유효성 규칙 설정 또는 수정 → 다시 공유 및 보호 설정.
  2. 프로세스 자동화를 위해 Review > Protect Sheet 단계에서 유효성 규칙 변경 허용 옵션 체크를 고려한다.

유효성 검사 설정 자체의 오류

증상잠재 원인해결 방법
리스트가 빈 드롭다운으로 표시된다. 숨겨진 시트 범위 참조, 정의 이름 범위 손상 이름 관리자(F3)에서 범위 확인 후 재지정
정수만 허용인데 1.0이 입력된다. 허용 조건이 Decimal로 잘못 지정 설정 탭 > 허용(A) 값을 Whole number로 변경
사용자 지정 수식이 \"#NAME?\" 오류 영문 함수명/한글 함수명 혼용 파일 언어 설정을 통일하거나 LET 함수 이용

Excel 버전·업데이트로 인한 버그

Microsoft 365 구독자는 월간 엔터프라이즈 채널 업데이트 이후 간헐적으로 유효성 메시지가 표시되지 않는 사례가 보고되었다. 이 경우 빠른 수리 > 온라인 수리 절차 후 Office 복구를 진행하거나 버전 롤백으로 해결한다.

실무 적용 예시: 공급망 주문서

다음은 [주문 수량] 열이 1~1000 사이 정수만 허용해야 하는 상황 예시이다.

  1. [B2:B500] 범위를 선택한다.
  2. 데이터 > 데이터 유효성 검사 > 설정에서 Whole Number 선택, Databetween으로 지정하고 Minimum=1, Maximum=1000 입력하다.
  3. 오류 메시지 탭에서 Stop 스타일과 설명 문구를 설정하여 잘못 입력 시 즉시 차단한다.
'VBA 실시간 방어 예시
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rng As Range
    Set rng = Intersect(Target, Range("B2:B500"))
    If rng Is Nothing Then Exit Sub
    Application.EnableEvents = False
    Dim cell As Range
    For Each cell In rng
        If Not IsNumeric(cell.Value) Or cell.Value < 1 Or cell.Value > 1000 Then
            MsgBox "1~1000 사이의 정수만 입력 가능하다.", vbCritical
            Application.Undo
        End If
    Next cell
    Application.EnableEvents = True
End Sub

문제 해결 체크리스트

점검 항목예/아니오조치
현재 셀 편집 중인가? 아니요 Enter/Esc로 편집 종료 후 메뉴 재시도
시트 보호/통합문서 공유 상태인가? 공유 해제 → 규칙 수정 → 재공유
붙여넣기로 규칙이 덮어졌는가? 값만 붙여넣기 또는 VBA 이벤트 방어
유효성 범위 정의 이름 손상 여부 아니오 이름 관리자에서 재설정
Office 최신 버전인가? 온라인 복구 또는 롤백

FAQ

Q. 데이터 유효성 규칙이 삭제되지 않았는데 경고창이 뜨지 않는다.

A. 오류 메시지 탭 > 오류 알림 표시 옵션이 체크 해제된 상태일 수 있다. 다시 체크하여 경고창을 활성화한다.

Q. iOS/Android Excel 앱에서 동일 규칙이 작동하지 않는다.

A. 모바일 앱은 데스크톱 버전보다 제한이 많다. 모바일에서도 필수 규칙이면 VBA 대신 Power Apps 또는 Lists 활용을 고려한다.

Q. 외부 CSV 가져오기 후 규칙이 사라진다.

A. 데이터 가져오기 마법사는 서식을 복원하지 않는다. 가져오기 후 유효성 재적용 스크립트를 매크로로 만들어 자동화한다.

반응형