무지개타고

시급계산은 할 때 마다 낯설게 느껴진다 본문

Program

시급계산은 할 때 마다 낯설게 느껴진다

OnRainbow 2009. 10. 15. 01:07
음...
그닥 반갑지 않다.
그러나 이를 알면서도 블로그까지 찾아와 물어본 심정, 십분 이해는 된다.
그리고 내가 저지른 원죄(?)도 있고...
아는 만큼만 처리해 봤다.

일용직 노동자 임금을 시급으로 계산한단다.
그러나 임금 적용 방식은 너무나 다양해 통일된 처리 방법을 찾긴 어렵다.
따라서 각자 알맞게 적용해야 한다.

그런데 예전에 작성한 예제를 보니...
뭔 생각을 했는지, 아주 제한된 처리만 반영하고 있었다.
즉 경우에 따라 맞고 틀리고... 미친년 널을 뛴다. -_-;;

그래서 다시 구성해 봤다.
이번엔 허접한 재주가 티나지 않았으면 좋겠는데...

근무 조건은 대충 아래와 같다.
정상근무 시간대와 휴식 시간대 및 야근 시간대 그리고 특별수당.



휴식 시간이 왜 정상근무 시간에 포함되지 않는게 관례(?)인지 이해되진 않지만
그리고 주휴수당에서 전월 근무는 고려 대상에서 제외하는게 옳은지 우려되지만
나름 수식을 세워봤다.



d12 셀 (근무시간, 배열수식)
=IF(COUNTBLANK($B12:$C12)=0,MIN($C$2,N($B$2>C12)+$C12)-MAX($B$2,$B12)-SUMPRODUCT((TRANSPOSE($B$3:$B$5)<=ROW(INDIRECT(TEXT(MAX($B$2,$B12),"[mm]")*1&":"&TEXT(MIN($C$2,N($B$2>$C12)+$C12),"[mm]")*1))/24/60)*(TRANSPOSE($C$3:$C$5)>ROW(INDIRECT(TEXT(MAX($B$2,$B12),"[mm]")*1&":"&TEXT(MIN($C$2,N($B$2>$C12)+$C12),"[mm]")*1))/24/60))/24/60,0)

e12 셀 (야근시간)
=IF(COUNTBLANK($B12:$C12)=0,MAX(MIN($C$6,N($B$2>$C12)+$C12)-MAX($B$6,$B12),0),0)

f12 셀 (기본급)
=D12*24*$I$10*$D$2

g12 셀 (야근수당)
=E12*24*$I$10*$D$6

h12 셀 (주휴수당)
=IF(AND(WEEKDAY($A12,1)=7,COUNTIF(OFFSET($D12,-6,0,6,1),8/24)=6),8*$I$10*$D$7,0)

완벽(?)하길 바라지만 이는 욕심일거 같고, 적어도 도움은 되길 바란다.

그리고 사족인데...
개별적인 사항에 대한 질문은 엑셀 커뮤니티를 이용하는게 당연히 현명한 선택이다.
내노라하는 고슈들이 혁신적이면서 간단한 처리를 위해 노력하는데 반해 난 아니니,
고슈들에 지식을 스스로 버리는 것과 같다.
특히 질문에 특정인을 적시한 경우, 그 외 누구도 답변하지 않는게 거의 불문율이다.

Comments