Notice
Recent Posts
Recent Comments
Link
나만의공간
📘 엑셀 고급 강의 15‑2. 다중 인수 UDF 및 배열 기반 결과 반환 실습 본문
📘 엑셀 고급 강의 15‑2. 다중 인수 UDF 및 배열 기반 결과 반환 실습
이번 소주제에서는 **여러 인수를 받는 UDF**와 **동적 배열 형태로 결과를 반환하는 UDF** 작성 방법을 실습합니다. 배열 기반 결과는 FILTER, UNIQUE 같은 동적 배열 함수와 연동할 때 유용합니다.
1. 다중 인수 UDF 작성 예제
Function SumThree(a As Double, b As Double, c As Double) As Double
SumThree = a + b + c
End Function
- 예: 셀에서
=SumThree(A2, B2, C2)입력 시 세 셀 값을 합산하여 반환 - 여러 요소를 하나 함수로 처리할 수 있으므로 수식 단순화에 유용
2. 배열 결과 반환 UDF 예제
Function GenSequence(startVal As Long, count As Long) As Variant
Dim arr() As Long
ReDim arr(1 To count, 1 To 1)
Dim i As Long
For i = 1 To count
arr(i, 1) = startVal + i - 1
Next i
GenSequence = arr
End Function
- 예: 셀에
=GenSequence(5, 10)입력 → 5부터 시작하는 10개 숫자를 배열로 반환 - 동적 배열 수식 구조와 연결하여 대시보드나 보고서 구성에 활용 가능
3. 실무 예제 – 날짜 목록 생성 함수
Function ListDates(startDate As Date, daysCount As Long) As Variant
Dim arr() As Variant
ReDim arr(1 To daysCount, 1 To 1)
Dim i As Long
For i = 1 To daysCount
arr(i, 1) = DateAdd("d", i - 1, startDate)
Next i
ListDates = arr
End Function
- 예:
=ListDates(Date(2025,8,1), 7)→ 2025‑08‑01부터 일주일 날짜 배열 생성 - 대시보드에서 날짜 시퀀스가 자동 확장되어 필요한 기능과 조합 가능
4. 실무 팁 및 주의사항
- UDF에서 배열을 반환할 때는 반환 자료형을 Variant로 선언해야 오류 없이 동작합니다.
- 함수 실행 시 Excel 셀에서 스필(SPILL)되는 공간이 빈지 확인하세요.
- 인수가 많은 UDF는 사용자가 헷갈릴 수 있으므로 함수 설명 텍스트나 도움말 포함 권장
- 배열 반환 UDF는 동적 배열 수식(FILTER, UNIQUE 등)과 함께 활용 시 효과적입니다.
5. 요약 정리
- ✅ 다중 인수 UDF는 여러 입력값을 처리하는 로직을 단일 함수로 구현할 수 있습니다.
- ✅ 배열 반환 UDF는 동적 데이터를 배열 형태로 직접 반환하여 보고서 구성에 유용합니다.
- ✅ 반환형은 Variant, SPILL 공간 확보, 인수 설명 등은 안정적 사용을 위해 필수입니다.
'Excel > 고급' 카테고리의 다른 글
| 📘엑셀 고급 강의 2‑2. 슬라이서: 클릭으로 인터랙티브 필터 만들기 (0) | 2025.08.14 |
|---|---|
| 📘엑셀 고급 강의 2‑1. 고급 피벗 기능 소개: 슬라이서, 계산 필드, 그룹화란? (1) | 2025.08.14 |
| 📘 엑셀 고급 강의 15‑4. UDF 응용 예제 – 실무 보고서 자동화 (0) | 2025.08.07 |
| 📘 엑셀 고급 강의 13‑4. 사용자 정의 함수(UDF) 기본 작성 실습 (0) | 2025.08.07 |
| 📘 엑셀 고급 강의 11‑3. Access 또는 SQL 데이터베이스 연결 실습 (0) | 2025.08.07 |
Comments
