엑셀에서 제공하는 함수들은 이미 만들어진 것들입니다. 그런데 엑셀 함수를 제대로 사용하다 보면 1% 부족한 것들이 눈에 보이기 시작합니다. 그때가 바로 사용자가 직접 함수를 만들어서 사용해야 할 순간입니다. 이것을 “사용자 정의 함수”라고 하는데, VBA 코드로 작성해서 등록할 수 있습니다. 업무에서 일반 함수로 구현하기 힘든 것들 은 직접 만들어서 등록해 보세요.
[참고] l 엑셀 VBA 강좌 - Function, Sub 차이점과 사용법 알아 보기 l 엑셀 Excel 엑셀 함수를 이용한 매크로 만드는 방법 l 엑셀 Excel 간단하게 자동 매크로 만들기 |
▼ 소개할 샘플은 제품 판매 이력입니다. 여기에서 판매량이 600 개 이상인 품목에 대해 얼마가 할인 되었는지 알아 보려고 합니다. 그림처럼 할인금액 란에 출력할 것입니다. 물론 일반 함수로도 구현이 가능한 수준입니다. 사용자 정의 함수를 어떻게 만드는지 보여 주기 위해 간단한 예를 들었습니다.
▼ VBA 코드로 함수를 등록하기 위해서는 Visual Basic Edit 화면을 띄워야 합니다. [개발 도구] 탭 > [코드] 그룹 > [Visual Basic] 버튼을 클릭합니다. 에디터 창이 뜨면 왼쪽 사이드 목록에서 모듈 폴더 안에 Module1 을 클릭합니다.
▼ 먼저 오른쪽 화면 에디터 창에 함수를 정의합니다. 형식은 Function 함수이름 (인수, 인수, ..) End Function 입니다. 넘길 값은 “판매금액”과 “판매수량”, “할인율” 3가지 입니다. VBA 는 일반적이지 않지만 함수명과 변수명을 한글로 하기도 합니다.
▼ 함수에 들어갈 내용은 “판매수량” 을 받아서 600 이상이면 “판매금액” 에 할인율을 적용하고 반환합니다. 600 이하면 판매금액 그대로 넘기면 되겠죠. 할인율을 적용하느냐 여부는 IF 를 써서 분기를 했습니다.
▼ 함수에 소스를 다 입력하고 저장을 누른 후 엑셀로 돌아 갑니다. 그리고 수식 입력란에 fx 버튼을 눌러 함수 마법사를 띄웁니다. 함수 마법사에서 범주 선택을 “사용자 정의”로 합니다. 그리고 등록한 “할인후금액” 함수를 찾습니다.
▼ “할인후금액” 함수에 대한 함수 인수 입력창이 뜨면 3개의 파라미터 입력창이 나타납니다. 각 항목들에 대한 셀 주소를 입력합니다.
▼ 함수를 적용하면 할인 후 금액이 계산되어서 나옵니다. 결과를 보시면 600 이상은 할인율을 뺀 나머지 금액이 나왔죠? 이상으로 사용자가 직접 함수를 만들어서 등록하는 방법에 대해 알아 보았습니다.
'엑셀(Excel) > Excel' 카테고리의 다른 글
엑셀 Excel 이미지, 차트, 도형 같은 개체들을 쉽고 간단하게 정렬하기 (0) | 2023.06.14 |
---|---|
엑셀 Excel 빈셀, 공백 셀 찾아서 정리하기, 영역에 빈 셀 행, 열 삭제 하기 (2) | 2023.06.14 |
엑셀 Excel 함수 TEXT 일주일 단위로 기간 구해서 표시하기 (2) | 2023.06.12 |
엑셀 Excel 부분합 기능을 이용 그룹 별로 합계 데이터 구하기 (0) | 2023.06.11 |
엑셀 Excel 일본어로 입력위해 키보드 언어 설정 변경하기 (1) | 2023.06.08 |
엑셀 Excel 함수 LARGE, SMALL 몇 번째로 크거나 작은 값 구하기 (2) | 2023.06.08 |
엑셀 Excel 셀에 메모 입력과 제목 변경하기 (3) | 2023.06.07 |
엑셀 Excel 분기문과 숫자를 세는 COUNTIF 함수 사용하기 (0) | 2023.06.07 |