엑셀 휴무일 계산 함수로 수강료 계산하기

엑셀 휴무일 계산 함수인 networkdays 함수를 이용하여 수업 시수별 수강료를 계산할 수 있습니다. 몇 가지 함수를 적용하여 클릭만으로 계산할 수 있도록 만들어 봤습니다. 각 함수를 사용한 방법을 알려드리고, 완성한 파일도 다운 받아 보세요.

엑셀 휴무일 계산 함수를 사용한 최종 결과

엑셀 휴무일 계산 함수를 이용하여 수강료 계산한 최종 화면

현재 일하고 있는 학교는 관련 프로그램이 아닌 엑셀을 이용해서 회계 처리를 하고 있습니다.
방학 때가 되면 특정 수업들의 특강이 생기는데, 방과후 수업은 분기별로 수강 신청을 하기 때문에 이미 분기 시작할 때 징수되는 금액과, 특강으로 인해 추가되는 금액을 따로 계산해야 하는 일이 생깁니다.
또한 분기 시작할 때는 신청하지 않았다가, 방학이 되면서 방학 기간에만 신청하는 학생들도 생기죠.

방과후 수업은 4주 동안 총 8번 수업하는 것을 기준으로 수강료가 책정됩니다.
위의 이미지를 보면 아시겠지만 A반이 매주 월, 금 1시간씩 수업이 있었다면 A반 특강은 화, 수, 목에 1시간씩 추가 수업이 들어갑니다.
이렇게 해서 모든 반이 일주일에 매일 1시간씩 총 5회 수업을 할 수 있도록 하는 것이지요.

그동안에는 달력을 보고 수업 시수를 일일이 각 반 별로 세어서 계산했다고 했습니다.
엑셀 함수를 이용하면 눈 아프게 달력 보고, 잘못 센 건 아닌지 다시 한 번 세어보고 할 일이 없을 것 같아 한 번 만들어 보았습니다.

그럼 각 부분 별로 설명해 드리겠습니다.

확인란 기능과 if 함수

엑셀 확인란 기능

엑셀 상단 메뉴 [삽입]을 클릭하면 상단 하위 메뉴 중 [확인란]이라는 것이 보이실 겁니다.
확인란을 넣고자 하는 셀을 클릭한 뒤 확인란을 클릭해 주면 네모칸이 생깁니다.

그 부부을 클릭하면 체크가 되고, 한 번 더 클릭하면 해제가 되는 방식으로 작동합니다.

확인란 if 함수

방과후 수업은 주 5일이므로 월요일부터 금요일까지 확인란을 만들었습니다.
그런 다음 시트 아래쪽에 요일을 모두 적어두고 if 함수를 사용하여, 확인란이 있는 셀이 체크된 상태이면 0, 체크가 해제된 상태이면 1이 나도록 if 함수를 사용했습니다.
토, 일은 항상 수업이 없기 때문에 함수 없이 임의로 1을 넣었습니다.

0과 1로 표시를 하는 이유는 networkdays.intl 함수에서 휴무일 표시를 0과 1로 표시하기 때문입니다.

networkdays.intl 함수 사용하는 방법은 아래에서 자세히 다루도록 하겠습니다.

concat 함수

엑셀 concat 함수

확인란이 체크된 상태와 해제된 상태에 따라 인쇄 영역 밖의 부분에 0과 1로 표시하게 하였다면, 이제 이 수를 모두 모아주어야 합니다. 그래야 networkdays.intl에서 인수로 사용할 수 있거든요.

그래서 단순히 텍스트를 순서대로 한 데 모아주는 함수인 concat 함수를 사용했습니다.

concat 함수는 concatenate 함수와 동일한 것으로, 모으고자 하는 인수를 콤마를 기준으로 넣어주면 순서대로 텍스트를 모아줍니다.
위의 이미지를 보시면, B19 ~ H19까지 0, 1, 1, 1, 0, 1, 1이라고 표시되어 있는 것을 그 옆에 concat(b19:h19)라고 넣어주니 0111011이라고 모아준 것이 보이실 것입니다.

저처럼 영역을 지정하는 것이 아니라 임의로 어떤 텍스트를 넣고자 하신다면 따옴표(” “)로 넣어주면 됩니다.

즉, =concat(“가”, “나”, “다”, “라”) 라고 넣는다면 결과값으로는 따옴표 없이 가나다라 라고 나오겠죠.

참조 시트

networkdays 날짜 및 휴일 참조 시트

networkdays.intl 함수를 사용하려면 한 가지 더 준비해야 합니다.

networkdays.intl 함수는 기본적으로 아래와 같이 넣습니다.
=networkdays.intl(시작일, 종료일, 주말, 휴일) 이렇게 넣습니다.

이렇게 만든 파일을 한 번만 사용하고 끝낼 것이 아니기 때문에 참조 시트를 따로 만들어 주었습니다.
참조 시트에 수업 시작일과 종료일을 넣었고, 2025년 1월에 지정된 휴일을 옆에 따로 넣었습니다.
휴일을 수업 시작일, 종료일과 함께 나란히 아래쪽에 넣지 않고 옆열에 넣은 이유는, 휴일이 매월 달라지고 그때마다 범위 지정을 새로 할 필요가 없도록 참조할 때 해당 열 전체를 참조로 넣기 위함입니다.

자, 이제 준비는 거의 끝났습니다.

networkdays.intl 함수

networkdays.intl 함수

networkdays.intl 함수로 계산할 셀을 클릭한 뒤 함수를 씁니다.
첫 번째 인수는 시작일이었고, 시작일은 참조시트의 c4셀에 있습니다. 현재 셀을 아래로 복사하더라도 참조한 셀이 변경되지 않도록 F4를 눌러 고정해 주었습니다.

두 번째 인수는 종료일이었고, 종료일도 마찬가지로 참조시트의 C5셀을 클릭한 뒤 F4를 눌러 고정시킵니다.

세 번째 인수는 아까 확인란을 넣으면서 if 함수를 쓴 뒤 concat으로 합쳐 놓은 셀을 참조하면 되고, 이 셀은 아래로 복사하면 참조 셀도 아래로 한 칸씩 내려가며 참조될 수 있도록 고정시키지 않았습니다.

I19라고 되어 있는 곳이 위의 이미지에는 없지만 0111011 이렇게 concat으로 합쳐놓은 부분의 첫 번째 셀입니다.

그런 다음 마지막에는 휴일을 지정하는데, 휴일은 매월 개수가 달라지기 때문에 참조 시트에서 휴일 값을 넣은 열 전체를 참조하도록 F열을 클릭한 뒤 키보드에서 F4를 눌러 고정했습니다.

networkdays.intl 함수가 끝난 뒤 H5 셀을 곱하도록 계산해 두었는데, 일일 시수라고 임의로 넣은 값입니다.
왜냐하면, 위의 최종 결과 이미지를 보면 아시겠지만 다른 반은 일주일에 이틀씩 수업이 있지만 D반은 일주일에 하루만 수업이 있으면서 대신 연강이 있는 날이기 때문에 단순히 날짜 수로 계산하면 수업 시수가 적어지기 때문이죠.

rounddown 함수

rounddown 절삭 함수

수강료 계산하는 셀에는 절삭 함수인 rounddown 함수를 넣었습니다.
rounddown 함수의 첫 번째 인수는 절삭할 값을 넣고, 콤마 뒤의 두 번째 인수는 절삭할 자리를 표시합니다. -1은 일의 자리입니다. -2를 넣는다면 십의 자리에서 절삭하게 됩니다. 소수점은 첫째 자리는 1, 둘째 자리는 2입니다.

제가 rounddown 함수에서 첫 번째 인수를 저렇게 계산한 이유는, 이 수업의 기본 수강료가 4주 기준 26,790원이고 4주동안 8번의 수업을 하게 되는데 수업 시수가 8회를 기준으로 하여 더 많고, 더 적고에 따라 수강료가 달라지기 때문입니다. 그래서 수업 시수(I5) 열을 8로 나눈 값을 기본 수강료에 곱하도록 계산을 했습니다.

맺음말

위의 함수를 잘 이용하시면 알바생별로 휴무일과 근무일별 수당을 계산할 수도 있습니다.
엑셀 파일 업로드가 안 되어 위의 엑셀 파일을 업로드해 둔 별도의 페이지 주소를 아래 링크로 남깁니다.

함께 보면 좋은 글

갤럭시 노트 10+ 무선 충전, 삼성페이 결제 안 될 때 수리 및 배터리 교체 셀프로 하기

새마을금고 적금 선납이연 중간납입 후기