[VBA 제 31강] 사용자정의함수(근속수당) 썸네일 이미지
[VBA 제 31강] 사용자정의함수(근속수당)
콘텐츠 타입 MS 오피스 엑셀 2003(2007, 2010가능), Windows XP 이상
용량0KB
조회1,972
즐겨찾기
[VBA 제 31강] 사용자정의함수(근속수당)를 즐겨찾기 한 횟수는 0 0입니다.
이용등급 유료 (회원권 or 단품 구매)
평생이용

엑셀쿠키는 한 번의 다운로드로 평생 이용하실 수 있습니다. 프로그램과 데이터를 고객의 PC에 저장하여 사용하는 형식이라 안전하게 사용 가능합니다. 이용 기간에 따른 추가 비용이 발생하지 않아 매우 경제적입니다.

맞춤형

중소기업의 개별 특성, 다양한 업무를 상황별로 고려하여 제작된 프로그램을 업데이트합니다. 분야별 5,000여 개의 프로그램 중 내 업무에 맞는 프로그램을 다운받는 맞춤형 서비스입니다.

쉬운 활용

쿠키 프로그램은 MS Excel의 기본 사용법만 알면 즉시 사용할 수 있는 매운 쉬운 프로그램으로 누구나 손쉽게 배우고 사용할 수 있습니다.

중소기업의 모든 업무자동화!

엑셀쿠키로 모두 해결하세요!
1 Vector 11
image 59
image 60
image 56
Pro display XLS Vector 12
Microsoft Excel 표준

쿠키의 업무자동화 프로그램은 VBA 코드로 개발된 제품으로
MS Excel 프로그램 기반으로 사용 가능하며,
자체적으로 개발한 기능은 물론,
MS Excel의 강력한 기능을 모두 사용하실 수 있습니다.

241202_coukey_BI_white2_07

엑셀쿠키는 기업의 생산성을 높이는 업무자동화 지원 프로그램입니다.

image 62 image 70 image 61 image 71 image 65 image 66 image 64 image 68
image 63 image 69
제품 상세정보

 

 

 




[ 기초 강좌 ]

 

제 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% 맞춘 콘텐츠 제작 전문 서비스를 이용해 보세요.
프리미엄 무료 이벤트 중