Excel

병합셀에도 조건부 서식 적용하기

별동산 2024. 4. 20. 08:56
반응형

1. 문제

가. 실패 1

병합셀인 경우 값이 없기 때문에 조건부 서식을 적용하더라도

 

값이 있는 셀에만 적용됩니다.

A열에서 P열까지 선택하고, 홈 탭의 스타일 그룹에서 조건부 서식을 클릭하고, 새 규칙을 선택합니다.

그리고, '수식을 사용하여 서식을 지정할 셀 결정'을 선택하고

수식에 =AND(A$1<>"",WEEKDAY(A$1,2)>5)라고 입력하고, 서식을 누르고, 채우기로 노란색을 선택하고 확인 버튼을 누릅니다.

 

이때 weekday에 ,2가 입력되어 있는데, 이것은 일요일이 1이 아니라 월요일이 1이 되도록 요일 반환 형식(return_type)을 지정한 것입니다.

그리고, 확인 버튼을 누르면 토요일과 일요일에 노란색 칠이 되는데 병합셀에는 채워지지 않습니다.

 

나. 실패 2

그렇다고, or 조건을 줘서 "공백인 경우는 왼쪽 셀을 기준으로 주말인 경우를 지정"하더라도 안됩니다.

=OR(AND(A$1<>"",WEEKDAY(A$1,2)>5),AND(OFFSET(A$1,0,1)="",WEEKDAY(A$1,2)>5))

 

병합셀 중 날짜가 있는 셀에만 적용됩니다. 그런데 신기한 것은 4/8(월)의 빈 열중 2행부터 노란색이 표시된다는 것입니다. 어쨌든 안 되는 건 마찬가지입니다.

 

2. 해법

제대로 표시되도록 하려면 or로 조건을 묶지 말고 각각 조건을 지정, 다시 말해 조건을 2개로 지정하면 됩니다.

그런데 주의해야 할 것은 AND(OFFSET(A$1,0,1)="", WEEKDAY(A$1,2)>5)라고 A$1셀을 기준으로 하면 안 되고,

 

B$1셀을 기준으로 =AND(B$1="",WEEKDAY(OFFSET(B$1,0,-1),2)>5)라고 수식을 입력하고, 적용 대상도 B열부터 지정해야 한다는 것입니다.

 

수식을 입력하고 적용 대상을 수정하면 수식이 변경되니 만약 서식 적용이 이상하면 조건부 서식을 클릭한 후 수식의 열(B열)이 다른 열로 바뀌지 않았는지 체크해야 합니다.

 

병합 셀에 조건부 서식 적용하기(완성).xlsx
0.01MB

반응형