Excel

주휴일 근무시 색칠하기(조건부 서식) (2)

별동산 2025. 4. 21. 08:08
반응형

2025.04.18 - [Excel] - 주휴일 근무시 색칠하기(조건부 서식) (1)

 

위 글에서 "조건부 서식 지정할 때 And는 안되고, *는 되는 것을 이제야 알았다"라고 했는데, 완전히 옳은 것이 아니어서 추가로 글을 작성합니다.

 

여기서 And는 함수이고, *는 배열 수식에서 and(or는 + 사용)를 의미하는 연산자로 성격이 다릅니다.

 

1. And 함수로도 한꺼번에 조건부 서식 적용 가능

주휴일 근무시 색칠(문제).xlsx
0.01MB

 

1편에서 4행의 요일을 지정하기 위해 

4-row(g5)를 사용했는데,

항상 4행과 비교하면 되므로 g$4라고 해서 4행은 고정하고, 열은 고정하지 않으면 모든 날짜에 대해 적용할 수 있는 것입니다.

 

위 엑셀에서 G5셀부터 AK14셀까지 범위를 지정한 후

 

홈 탭 - 조건부 서식 - 새 규칙 - '수식을 사용하여 서식을 지정할 셀 결정'을 클릭한 다음

 

수식 입력 줄에

=and(len(g5),g$4=$f5)

라고 입력하고,

 

서식 - 채우기 - 녹색으로 지정하고, 확인, 확인 버튼을 누르면

 

홍길동의 경우 주휴일이 '수'이더라도 근무를 하지 않은 날인 5와 12일에는 초록색이 칠해지지 않고, 근무한 날인 19일에만 칠해지는 식으로 모든 근무자에 대해 한꺼번에 조건부 서식 적용이 됩니다.

 

2. And를 사용할 경우 len(g5)는 되는데, g5는 안됨

=AND(G5,G$4=$F5)

라고 조건부 서식의 수식을 수정하고, 확인 버튼을 누르면

G5셀에 값이 없는 경우라도 주휴일이면 색이 칠해지는 문제점이 있습니다.

 

G15셀의 수식 입력 줄에 =AND(G5,G$4=$F5)라고 입력하고 엔터 키를 누른 후

G15셀의 채우기 핸들을 AK15셀까지 끌면

G5셀에 값이 있는 경우, 다시 말해 "근무 시간이 있는 경우에 한해서"라는 조건이 적용되지 않아 TRUE라고 표시되는 것을 알 수 있습니다.

3. *를 사용할 경우 len(g5)뿐만 아니라 g5라고 해도 됨

=G5*(OFFSET(G5,4-ROW(G5),0)=$F5)

수식을 G15셀의 수식 입력 줄에 붙여 넣고 

 

엔터 키를 누른 후 AK15셀까지 끌면

 

셀에 값이 있는데, 주휴일이 아닌 경우는 0, 셀에 값이 없는 경우는 #VALUE! 에러, 값이 있고, 주휴일인 경우는 11.5가 반환돼서

조건부 서식을 만족해서 색이 칠해집니다.

4. And를 사용할 경우 g5 대신 g5<>""은 됨

g5<>""이란 공백이 아니라는, 다시 말해 값이 있다는 의미이므로 TRUE가 되는 것입니다.

 

G15셀의 수식 입력줄에

=AND(G5<>"",G$4=$F5)

라고 입력 한 후 엔터 키를 누르고,

G15셀의 채우기 핸들을 AX15셀까지 끌면

Y15셀의 값이 TRUE인 것을 알 수 있습니다.

 

조건부 서식에 여러 가지 조건을 만족하는 수식 입력하기 어렵네요.

주휴일 근무시 색칠(완성)2.xlsx
0.01MB

반응형