엑셀(Excel) 사용자 정의함수를 만들어 사용하기

엑셀(Excel)/Excel

엑셀 Excel 사용자 정의 함수를 만들어 사용하는 방법

 

환경: Microsoft Excel 2013

 

엑셀에서 제공하는 함수들은 이미 만들어진 것들입니다. 그런데 엑셀 함수를 제대로 사용하다 보면 1% 부족한 것들이 눈에 보이기 시작합니다. 그때가 바로 사용자가 직접 함수를 만들어서 사용해야 할 순간입니다. 이것을 사용자 정의 함수라고 하는데, VBA 코드로 작성해서 등록할 수 있습니다. 업무에서 일반 함수로 구현하기 힘든 것들 은 직접 만들어서 등록해 보세요.

 

▼ 소개할 샘플은 제품 판매 이력입니다. 여기에서 판매량이 600 개 이상인 품목에 대해 얼마가 할인 되었는지 알아 보려고 합니다. 그림처럼 할인금액 란에 출력할 것입니다. 물론 일반 함수로도 구현이 가능한 수준입니다. 사용자 정의 함수를 어떻게 만드는지 보여 주기 위해 간단한 예를 들었습니다.

엑셀(Excel) 사용자 정의함수를 만들어 사용하기

 

VBA 코드로 함수를 등록하기 위해서는 Visual Basic Edit 화면을 띄워야 합니다. [개발 도구] > [코드] 그룹 > [Visual Basic] 버튼을 클릭합니다. 에디터 창이 뜨면 왼쪽 사이드 목록에서 모듈 폴더 안에 Module1 을 클릭합니다

엑셀(Excel) 사용자 정의함수를 만들어 사용하기

 

▼ 먼저 오른쪽 화면 에디터 창에 함수를 정의합니다. 형식은 Function 함수이름 (인수, 인수, ..) End Function 입니다. 넘길 값은 판매금액판매수량”, “할인율 3가지 입니다. VBA 는 일반적이지 않지만 함수명과 변수명을 한글로 하기도 합니다

엑셀(Excel) 사용자 정의함수를 만들어 사용하기

 


▼ 함수에 들어갈 내용은 판매수량을 받아서 600 이상이면 판매금액에 할인율을 적용하고 반환합니다. 600 이하면 판매금액 그대로 넘기면 되겠죠. 할인율을 적용하느냐 여부는 IF 를 써서 분기를 했습니다

엑셀(Excel) 사용자 정의함수를 만들어 사용하기

 

▼ 함수에 소스를 다 입력하고 저장을 누른 후 엑셀로 돌아 갑니다. 그리고 수식 입력란에 fx 버튼을 눌러 함수 마법사를 띄웁니다. 함수 마법사에서 범주 선택을 사용자 정의로 합니다. 그리고 등록한 할인후금액 함수를 찾습니다.

엑셀(Excel) 사용자 정의함수를 만들어 사용하기

 

할인후금액 함수에 대한 함수 인수 입력창이 뜨면 3개의 파라미터 입력창이 나타납니다. 각 항목들에 대한 셀 주소를 입력합니다

엑셀(Excel) 사용자 정의함수를 만들어 사용하기

 

▼ 함수를 적용하면 할인 후 금액이 계산되어서 나옵니다. 결과를 보시면 600 이상은 할인율을 뺀 나머지 금액이 나왔죠? 이상으로 사용자가 직접 함수를 만들어서 등록하는 방법에 대해 알아 보았습니다

엑셀(Excel) 사용자 정의함수를 만들어 사용하기

저작자 표시 비영리 변경 금지
신고
Posted by 녹두장군