[VBA 제 31강] 사용자정의함수(근속수당) 썸네일 이미지
[VBA 제 31강] 사용자정의함수(근속수당)
콘텐츠 타입 MS 오피스 엑셀 2003(2007, 2010가능), Windows XP 이상
용량0KB
조회1,752
즐겨찾기
[VBA 제 31강] 사용자정의함수(근속수당)를 즐겨찾기 한 횟수는 0 0입니다.
이용등급 프리미엄
제품 상세정보

 

 

 




[ 기초 강좌 ]

 

제 31강

사용자정의함수(근속수당)

 

사용자정의함수를 이용해 근속수당을 구해봅니다.

이럴 때 필요해요

입사날짜가 다 다른 사람들의 근속수당을 구할떄 사용됩니다.

이렇게 사용해요

 [VBA 제 31강] 사용자정의함수(근속수당) 

 

위의 표에서 근속년수에 해당하는 값은 언젠가 배운 적이 있는 매크로함수 DATEDIF()함수를 사용한 결과입니다만 

위 표의 근속수당란에 해당하는 값은 어떻게 산출해야 할까요? 

 

즉, 근속년수를 3년, 5년, 7년,…21년까지로 구분하여 각각 10,000원, 20,000원…100,000원 등으로 산출해야 한다면

무슨 함수를 사용해야 할까요?

 

예? IF()함수로 해결하면 되지 않겠느냐구요? 글쎄요!

 

  =IF(D5>=3,10000,IF(D5>=5,20000,IF(D5>=7,30000……))) 의 형태로 중첩하여 입력한다 해도 아시는 바와 같이

IF() 함수는 7개 이상 중첩할 수 없으며, 설령 7개 이상 중첩하여 사용할 수 있다 하더라도 수식이 엄청 길어져서

나중에는 무슨 내용인지조차 이해할 수 없는 사태(?)가 발생할 수도 있을 것입니다.

이와 같이 실제로 업무에서 Excel이 제공하는 함수로는 해결하기 어려운 경우가 적지 않은데, 바로 이런 경우에 

필요한 함수(사용자정의 함수)을 만들어 사용합니다.


이것이 바로, 사용자정의 함수 의 매력이라고도 할 수 있을 것입니다. 
그렇다고 해서, 엄청 복잡하거나 어려울 것도 없습니다.
자! 그럼, 모듈시트에서 Function프로시저로 다음내용을 추가시켜봅시다
Function 근속수당(근속년수)
  Dim yNum As Integer
      yNum = 근속년수
   
   If yNum < 3 Or yNum > 25 Then
      근속수당 = "해당없음"
    Else
     근속수당 = Int((yNum - 1) / 2) * 10000
     End If
  End Function
앞서에서도 소개해 드린 바와 같이 사용자정의 함수의 구문은 'Function('~~기능을 하다'라는 뜻이죠?)'로 
시작해서 'End Function' 으로 마칩니다.
위의 구문 중 시작부분인 'Function 근속수당(근속년수)' 에서 '근속수당' 은 함수의 기능에 맞게  적당히 붙여 준 이름이고 
그밑의 코드 부분에 대해서는 특별히 설명드릴 것도 없어 생략합니다.
다만, 근속수당 = Int((yNum - 1) / 2) * 10000 에서의 Int 부분은 Excel에서의 INT 함수와 동일한 기능을 갖습니다.


[VBA 제 31강] 사용자정의함수(근속수당)

위 E5 셀을 클릭한 상태로 [함수]-[사용자 정의]에서 '근속수당()' 이라는 함수를 선택한  다음,'근속년수' 입력란에
위 그림과 같이 입력하고 '확인' 해 보십시요.
그리고 나서 나머지 영역(E6:E19)에 '자동채우기'를 사용하여 값을 구한 다음, 그 결과값을 살펴 보시기 바랍니다.
각 근속년수에 따른 근속수당의 금액이 정확하게 출력될 것입니다.
[VBA 제 31강] 사용자정의함수(근속수당)

     
자! 어떻습니까?...  생각보다는 어렵지 않죠? *^^*
이렇게 한번 만들어진 사용자정의 함수는 다른 함수들과 마찬가지로 필요할 때 마다 아래의 그림과 같이 [함수마법사] 메뉴의 
 '사용자 정의' 목록에서 찾아 사용하시면 됩니다.
다만, 현재 파일에서 만들어진 사용자정의 함수는 다른 파일에서는 사용할 수 없습니다.

 

저작권정보
1. 콘텐츠의 저작권은 쿠키(www.coukey.co.kr)에 있으며, 사용권한은 1인 1카피입니다.
2. 다운로드 받은 콘텐츠는 본인(본인회사)만 사용할 수 있습니다.
3. 다른 사람과 공유하거나 원본 또는 수정 후 무단전제,무단배포,무단판매,무단 공유할 수 없습니다.
4. 웹상에서 배포는 상업,비상업적 목적을 불문하고, 손해배상등 가중처벌됩니다.
[VBA 제 31강] 사용자정의함수(근속수당)
이용후기

업무자동화 맞춤제작

고객님의 상황에 100% 맞춘 콘텐츠 제작 전문 서비스를 이용해 보세요.
프리미엄 무료 이벤트 중