Contents 호환성 문제의 정의와 증상 분류 즉시 조치 체크리스트(빠른 복구) 파일 형식별 특성과 선택 기준 버전 차이로 인한 기능 손실과 대체 전략 조직 환경 차이: 32/64비트, 추가기능, 보안 정책 CSV·텍스트 파일 호환성: 인코딩·구분 기호·서식 날짜·숫자 변형 방…
글 전체 보기- 공유 링크 만들기
- X
- 이메일
- 기타 앱
Contents 호환성 문제의 정의와 증상 분류 즉시 조치 체크리스트(빠른 복구) 파일 형식별 특성과 선택 기준 버전 차이로 인한 기능 손실과 대체 전략 조직 환경 차이: 32/64비트, 추가기능, 보안 정책 CSV·텍스트 파일 호환성: 인코딩·구분 기호·서식 날짜·숫자 변형 방…
글 전체 보기이 글의 목적은 엑셀에서 여러 개의 조건부 서식 규칙이 서로 충돌할 때 원인 진단과 해결 절차를 체계적으로 제시하여, 실제 업무 파일에서 색상·강조·아이콘이 뒤엉키는 문제를 빠르게 정리하고 재발을 예방하도록 돕는 것이다.
엑셀은 조건부 서식을 위에서 아래로 평가하고 각 규칙의 결과를 누적 또는 차단 적용한다. 핵심은 다음과 같다.
| 상황 | 평가 결과 | 권장 설정 |
|---|---|---|
| 상호 배타적 조건 | 첫 참 규칙만 적용하도록 아래 규칙 차단 필요 | 위 규칙에 Stop If True 체크 |
| 누적 강조가 필요한 조건 | 여러 규칙이 순차 적용되어 최종 서식 구성 | Stop If True 해제, 우선순위 논리대로 정렬 |
| 같은 속성을 다른 색으로 지정 | 아래 규칙이 위 규칙을 덮어쓸 수 있음 | 덮어쓰지 않게 우선순위 조정 또는 속성 분리 |
수식 기반 규칙의 핵심은 기준 셀과 $ 고정이다. 다음 원칙을 따른다.
$A1 형태를 쓴다.A$1 형태를 쓴다.$A$1이며, 모든 셀에 동일한 기준을 사용한다.$B$5:$H$1000이면, 수식은 B5를 기준으로 작성한다.예시) 열 A의 값이 "완료"인 행 전체를 회색 처리 적용 범위: $A$2:$H$1000 수식: =$A2="완료" 설명: 열 A는 고정($A), 행은 가변(2), 따라서 각 행마다 A열 값을 검사한다. 다음과 같이 위에서 아래 순으로 평가되도록 설계한다.
규칙1: =ISERROR($F2) // 붉은 채우기, 글꼴 흰색, Stop If True=예 규칙2: =$G2<=TODAY()+1 // 노랑 채우기, Stop If True=예 규칙3: =$H2>=$I2 // 굵게, 글꼴 파란색, Stop If True=아니오 위 설계는 오류가 있으면 하위 규칙을 차단하고, 오류가 없을 때 마감 임박을 표시하며, 그 외에는 성과 조건만 누적한다.
전략) 수치 시각화는 B열(아이콘 집합), 상태 색은 C열(수식 규칙)로 분리 적용 범위: 아이콘=$B$2:$B$1000, 색상=$C$2:$C$1000 =INDIRECT("테이블1[상태]")보다 =테이블1[상태]가 유지보수에 유리하다).| 증상 | 원인 | 해결 |
|---|---|---|
| 필터 후 색이 섞여 보임 | 적용 범위가 불연속 영역으로 분절됨 | 범위를 연속 구간으로 재설정하고 규칙을 하나로 통합한다 |
| 상위/하위 규칙과 수식 규칙 충돌 | 같은 서식 속성 덮어쓰기 | 우선순위를 재배치하고 상위 규칙에 Stop If True를 설정한다 |
| 피벗 갱신 시 규칙이 다른 범위로 이동 | 피벗 전용 규칙이 데이터 범위까지 확장 | 피벗 영역 전용 규칙으로 분리하고 표 범위와 구분한다 |
| 복사/붙여넣기 후 색상 붕괴 | 상대참조 수식이 어긋남 | 수식의 고정 기호($)를 재점검하고 규칙을 다시 적용한다 |
| 아이콘과 색 채우기 가독성 저하 | 동일 셀에서 시각 요소 중첩 | 표시 역할을 열로 분리한다 |
=$D2="지연", =AND($E2<TODAY(),$F2="미납")이다.TODAY()를 이용해 단순화한다.<>"" 조건으로 제어한다.예시) KPI 점수에 따른 단계별 색상 적용 범위: $C$2:$C$1000 규칙1: =$C2<60 // 빨강, Stop If True=예 규칙2: =AND($C2>=60,$C2<80) // 노랑, Stop If True=예 규칙3: =$C2>=80 // 초록, Stop If True=예 규칙의 수식을 평면화해 테스트 셀에서 직접 평가하면 빠르게 문제를 찾을 수 있다.
예시) 규칙 수식: =AND($E2<TODAY(),$F2="미납") 테스트 셀(예: Z2)에 동일 수식 입력 후 TRUE/FALSE 확인 TRUE인데 색이 안 바뀌면 우선순위 또는 Stop If True 문제로 본다 복잡한 상대참조가 필요한 경우 R1C1 표기법이 규칙 가독성을 높일 수 있다.
예시) 현재 셀(C 열) 기준으로 좌측 1열(B)의 값이 0보다 작으면 강조 R1C1 수식: =RC[-1]<0 적용 범위: $C$2:$C$1000 테이블 구조적 참조를 활용하면 열 삽입·삭제 시 규칙이 안정적으로 유지된다.
예시) =[@상태]="지연" 1) 공란 제외 후 중복값 강조 적용 범위: $A$2:$A$1000 규칙1: =COUNTIF($A$2:$A$1000,$A2)>1 // 채우기=연한 빨강 규칙2: =$A2<>"" // Stop If True=아니오 (누적 허용)
상태별 최우선 경고 체계
규칙1: =$B2="오류" // 빨강, Stop If True=예
규칙2: =$C2="임박" // 노랑, Stop If True=예
규칙3: =$D2="완료" // 회색, Stop If True=예
주말 행 음영
적용 범위: $A$2:$H$1000
수식: =WEEKDAY($A2,2)>=6 // 연한 회색, Stop If True=아니오
규칙이 많은 통합 문서는 코드로 목록을 추출하면 현황 파악이 쉽다.
Sub ExportCFRules() Dim ws As Worksheet, f As Integer, r As Integer Dim log As Worksheet, rw As Long On Error Resume Next Application.DisplayAlerts = False Worksheets("CF_RULES_LOG").Delete Application.DisplayAlerts = True On Error GoTo 0 Set log = Worksheets.Add log.Name = "CF_RULES_LOG" log.[A1:D1] = Array("Sheet", "Priority", "AppliesTo", "Formula/Type") rw = 2 For Each ws In ActiveWorkbook.Worksheets With ws.Cells.FormatConditions For f = 1 To .Count log.Cells(rw, 1).Value = ws.Name log.Cells(rw, 2).Value = f log.Cells(rw, 3).Value = .Item(f).AppliesTo.Address On Error Resume Next log.Cells(rw, 4).Value = IIf(.Item(f).Type = xlExpression, _ .Item(f).Formula1, "Built-in:" & .Item(f).Type) On Error GoTo 0 rw = rw + 1 Next f End With Next ws log.Columns.AutoFit End Sub 규칙 관리자의 위/아래 화살표로 조정하는 것이 기본이다. 유사 규칙은 삭제 후 하나의 규칙으로 통합하고 적용 범위를 넓히는 것이 더 빠르다.
복사/붙여넣기나 피벗 갱신으로 적용 범위가 변형되었을 가능성이 높다. 테이블을 사용하고 적용 범위를 명시적으로 관리하면 재발을 줄일 수 있다.
Stop If True를 해제하고, 덮어쓰기를 피하려면 속성을 분리한다. 예를 들어 규칙 A는 채우기만, 규칙 B는 글꼴만 설정한다.
우선순위 또는 Stop If True 설정에 의해 차단되었을 가능성이 있다. 테스트 셀에서 수식을 평가한 뒤 규칙 순서를 재조정한다.
가능하다. 단, 성능을 위해 필요한 영역으로 제한하는 것이 좋다. 테이블 범위에만 적용하면 유지보수가 쉬워진다.