급여명세서 엑셀 간단하게 출력하는 방법

엑셀로 만드는 급여명세서

월급날의 가장 큰 단점은 ‘아주 잠시의 행복’인 것 같습니다. 어렸을 적에는 이해하지 못했지만, 정말로 통장을 스쳐 지나갈 뿐 이니까요..

 

 

그럼에도 한달 중 가장 기쁜 날 일 거라는 것에 이견은 없을 것 같습니다. 월급의 가치는 누구에게나 다르겠지만 적어도 내 통장에 잠시라도 들어오는 귀여운(?) 금액을 보고있자면 잠시는 행복합니다.

​저도 며칠 후가 월급날이어서 그럴 기분을 3초 정도 만끽할 예정인데요, 그런 의미에서(?) 몇 년 전 만들어뒀던 엑셀 급여명세서를 다시 실행시켜봤고, 별도의 ERP나 급여관리 프로그램을 사용하지 않는 소규모 사업장에서 약간이나마 유용하게 사용할 수 있을 것 같아 포스팅을 진행해 보려 합니다.

엑셀 급여명세서 요약

  1. 급여내역서의 각 항목에 이름을 만들어준다.
  2. 시트를 구분해 실제 출력될 급여명세서 서식을 만든다.
  3. 콤보상자를 활용해 직원명에 따른 급여내역을 수식으로 지정한다.

도움되는 이야기

​수식에 대한 이해 없이도 복사-붙여넣기로 사용하면 될 것 같으니, 어렵게 생각하지 않으셔도 됩니다.

 

 

급여내역서

급여내역서 시트

급여를 관리하는 방법은 여러가지가 있겠으나, 이 포스팅에서 사용하는 급여내역서는 아래 이미지와 같이 만들었습니다. 현재 사용하고 계시는 내역서가 있다면, 수식만 약간 조정해줌으로써 제가 만드는 급여명세서까지 사용할 수 있을 것 같습니다.

급여산출 방식이나 구분은 업체마다 다르겠지만, 급여내역(과세, 비과세)와 공제내역이 명시돼 있음은 동일합니다. 간단하게 만들어 봤습니다.

이 급여내역서를 기준으로, 약간의 수식을 사용해 급여명세서로 내역을 이동시키는 것이 주제입니다.

범위 이름지정

우선 범위에 대한 ‘이름’이 지정되어야 수식관리가 편하므로, 급여명세서에 들어갈 급여내역 부분을 블럭 지정해 준 뒤 이름을 만들어 줍니다.

이름관리자를 들어갈 필요없이, 블럭지정 후 이름상자 부분에 ‘급여인덱스’라는 이름을 생성해 주도록 합니다.

 

 

캡쳐가 잘 안됐는지, 입력하는 부분이 빠졌는데요. 선택된 셀(C4)를 지우고 ‘급여인덱스’라 입력해주면 생성됩니다.

다음으로, 급여명세서에 포함될 급여의 종류도 이름을 지정해 줍니다. 기본급부터 실수령액까지 지정 후 마찬가지로 이름을 지정해 주는데요. 저는 ‘급여종류’라고 지정해 줬습니다.

시트구분

한 시트에 급여명세서를 작성해도 괜찮지만, 지속적인 관리를 위해서는 시트별로 구분하는 것이 편리합니다. 급여내역표가 들어간 Sheet1은 ‘급여계산표’라 지었습니다.

이후 하나의 시트를 추가해 ‘급여명세서’라는 시트로 만들어 줬습니다.

급여명세서 만들기

 

 

임의로 명세서를 작성해 봤는데요. A4용지 기준으로 3명 정도 출력되게끔 만들어 봤습니다. 급여의 구분이 될 기본급~ 등은 급여내역표에 있는 부분을 그대로 따오도록 합니다. 띄어쓰기까지 같아야 엑셀에서는 같은 데이터로 보기때문에, 명세서 안에서의 디자인은 셀 서식 메뉴의 맞춤을 이용하도록 합니다.

개발도구

양식컨트롤 활성화

데이터 유효성검사를 활용해 셀 안에 콤보상자를 만들 수도 있지만, 저는 개발도구 탭을 활성화 시켜 양식 컨트롤을 삽입했습니다. 크기 지정이나 기타 부분에서 더 확장성이 넓습니다.

​엑셀의 상단 왼쪽의 파일을 누른 뒤 좌측 아래에 옵션을 눌러줍니다.

기본적으로는 우측에 ‘개발 도구’가 비활성화 돼 있으며, 이를 체크해 준 뒤 확인을 눌러주면 상단에 [개발 도구]탭이 활성화 됩니다.

 

 

여기서 삽입을 눌러줘 콤보상자를 하나 넣어줘야 하는데요.

콤보박스 삽입

굳이 ActiveX 컨트롤까지 들어갈 필요는 없고, 양식 컨트롤의 두 번째 아이콘인 ‘콤보상자’를 하나 눌러 위치를 조정해 추가해줍니다.

*이 콤보상자에 사원의 이름을 연결 후, 변경되는 대로 급여명세서의 내용이 바뀌게 하기 위함입니다.

포스팅을 위해 초반에 조금 크게 만들어 봤습니다.

콤보상자 데이터연결

 

 

만들어진 콤보상자에 마우스 우클릭으로 메뉴를 불러오고, 컨트롤 서식을 눌러줍니다.

이후 나타나는 창에 두 부분을 입력해 줘야하는데요, [입력 범위]와 [셀 연결]입니다. 미리 지정해 둬 제 이미지에는 나타나 있지만, 초기에는 공백입니다.

입력 범위에 들어갈 값은, 이 콤보상자에 띄울 값을 지정해 주는 것이므로 급여계산표 시트의 사원들을 지정해 줍니다.

데이터 지정

 

 

절대참조가 기본으로 돼 있는데 별도로 건드릴 부분은 없습니다. 참조가 변경되면 안되니 절대참조를 유지해 주는 것만 주의하면 됩니다.

셀 연결부분은 콤보상자의 값을 선택했을 때 연결되는 값을 표시해 주는 부분인데요, 어디에 해도 상관없지만 저는 콤보상자로 이 값을 가릴 예정이라 A1 셀로 지정해 줬습니다.

​A1셀에 나타나는 ‘1’은 콤보상자에 몇 번째 값을 선택했느냐에 따라 달라집니다. 홍길동이 입력 범위의 첫 번째 값이므로 1을 치환해줬으며, 콤보상자의 값을 이순신으로 변경하면 2로 바뀌겠죠.

급여명세서 금액 연결

콤보상자의 값을 변경하면 출력될 명세서에 사원명이 나타나게 하고, 각 사원명에 따른 급여액이 표시되도록 합니다. 현재는 수식을 입력하지 않아 콤보상자를 강감찬 사원으로 변경해도 나타나는 값이 없는데요,

C4셀(기본급)에 다음과 같은 수식을 입력해 줍니다.

 

 

=IFERROR(@INDEX(급여인덱스,$A$1,MATCH(B4,급여종류,0)),””)

INDEX와 MATCH수식을 이용해, 사원명에 따른 급여액을 표현해 주는 수식이며, 각 참조값이 어디를 지정하는 지에 대해서는 생략하도록 하겠습니다. 이후 아래로 쭉 드래그 해 채우기 핸들을 사용하면 되며, 실수령액 부분은 급여총계에서 공제총계를 빼 주도록 하였습니다.

급여명세서의 사원명 + 귀하가 표시되는 부분의 수식은 역시 INDEX를 이용해 넣어주도록 합니다.

=@INDEX(급여계산표!$A$4:$A$8,A1)&” 귀하”

최종편집

급여명세서 복사

 

 

제가 만들어 사용했던 파일의 경우 A4용지에 3명의 명세서출력이 가능한 사이즈(가로인쇄 시)였었는데요. 샘플에선 두 개만 넣어봤습니다. 먼저 만들어 둔 명세서의 범위(A1:C27)까지 범위 지정 후 E1셀에서 부터 붙여넣기 하면 동일한 명세서가 복사되는데요. 열 너비의 경우 다시 지정해 주거나, 범위 자체를 열 머리글로 지정해 주면 너비까지 동일하게 복사가 됩니다.

각 급여명세서 독립운용

복사해 온 명세서부분의 콤보상자의 컨트롤 서식을 들어가 셀 연결 부분을 $E$1로 변경해 주도록 합니다. 복사된 명세서는 복사한 명세서와 별도로 독립적으로 움직여야 하겠죠.

 

 

=IFERROR(@INDEX(급여인덱스,$A$1,MATCH(B4,급여종류,0)),””)

=IFERROR(@INDEX(급여인덱스,$E$1,MATCH(B4,급여종류,0)),””)

역시 급여액에서도 참조값을 변경해줘야 합니다. INDEX함수가 참조할 위치를 바꾸는 거죠.

이후 페이지 레이아웃 미리보기 모드로 보기를 변경해 입맛에 맞게 출력할 위치를 조정해 주면 완성입니다.

테스트

마치며

수 년 전, 직접 시행착오도 겪어가며 만들었던 급여내역서를 포스팅 해 봤는데요. 이미 급여에 대한 시스템이 잘 갖춰진 업체에서 사용하기에는 무리가 있습니다. 단순히 급여명세서만 간단하게 출력할 수 있는 파일이라 내역표 자체가 선행되어야 하는 단점도 있구요.

 

 

​그럼에도 INDEX와 MATCH를 사용하는 수식이 들어가 엑셀을 공부하는 입장에서는 도움이 조금은 될 수 있을 것 같다는 생각이 듭니다. 다른 방식으로 응용해 사용해 볼 수도 있을 것 같구요.

​(INDEX앞에 ‘@’를 붙인건 에러가 표시되지 않게 함이니 참조해주세요.)