Excel

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

별동산 2025. 4. 18. 12:57
반응형

1. 문제

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

 
 
'엑셀..하루에 하나씩' 카페에 올라온 질문인데,
근무자의 주휴일이 F열에 있고, 근무 실적이 G열부터 날짜별로 있을 때

주휴일에 근무했다면 색칠을 해서 구분하기 좋도록 해달라는 질문입니다.
 
예를 들어 나한상의 경우 주휴일이 월인데, 월요일인 3일, 10일에 근무했으므로 색칠이 돼야 합니다.
 

 2. 해결 방법

전형적인 조건부 서식의 문제이며,
두 가지 조건, 다시 말해 근무일이 주휴일에 해당하고 근무시간이 0보다 커야 합니다. 다시 말해 홍길동의 경우 주휴일이 수인데, 수요일인 5일은 근무하지 않았으므로 색칠이 되면 안 됩니다.
 

가. 해결 과정 1 - 실패

범위를 근무 실적이 있는 G5에서 AK14까지 지정하고, 
조건부 서식 - 새 규칙 - '수식을 사용하여 서식을 지정할 셀 결정'을 클릭하고
 

수식을 사용하여 서식을 지정할 셀 지정

 
 
수식 입력 줄에
=AND(LEN(G5),OFFSET(G5,4-ROW(G5),0)=$F5)
라고 입력합니다.
 
수식에 대해 설명하면
AND는
LEN(G5)라고 해서 "근무 시간이 0보다 큰 경우"라는 조건과
OFFSET(G5,4-ROW(G5),0)=$F5라고 해서,
G5셀에서 위로 한 줄 올라 간 셀의 값이 F5 다시 말해 "수"인 조건(근무일이 주휴일인지)
2개를 연결하는 것입니다.
 
그리고, 4-ROW(G5)는 5행이면 -1이 돼야 하고, 6행이면 -2가 돼야 하기 때문에 4-행수이므로 4-row(g5)라고 한 것입니다.

그리고, 아래 서식 버튼을 클릭한 후, 채울 색을 녹색으로 지정하고, 

 
확인, 확인 버튼을 눌러 조건부 서식 지정을 완료합니다.

그런데, 녹색이 하나도 칠해져 있지 않습니다.

 
 

나. 해결 과정 2 - 성공

"왜 안되지, 안되지?" 하다가 생각해 보니, And 조건을 *로 지정해야 하나 보다" 하고
조건부 서식 - 규칙 관리를 누른 다음

조건부 서식 - 규칙 관리

 

 규칙 편집 버튼을 누르거나 수식 입력 줄을 더블 클릭한 후

조건부 서식 편집(규칙 편집)

 
 
수식을
=LEN(G5)*(OFFSET(G5,4-ROW(G5),0)=$F5)
라고 *를 이용해 수정하고 확인, 확인 버튼을 누르니

주휴일에 근무한 경우 색칠(조건부 서식)

 
홍길동의 경우 수요일인 5일에는 색칠이 안되고, 19일에 색칠이 되는 등 잘됩니다.
 
조건부 서식 지정할 때 And는 안되고, *는 되는 것을 이제야 알았네요.

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