나만의공간

📘 엑셀 고급 강의 15‑1. 복잡 계산용 UDF 작성: 데이터 병합 및 정리 함수 구현 본문

Excel/고급

📘 엑셀 고급 강의 15‑1. 복잡 계산용 UDF 작성: 데이터 병합 및 정리 함수 구현

밥알이 2025. 8. 16. 07:51

📘 엑셀 고급 강의 15‑1. 복잡 계산용 UDF 작성: 데이터 병합 및 정리 함수 구현

이번 소주제에서는 여러 셀 또는 테이블의 데이터를 통합하거나 정리하는 **고급 사용자 정의 함수 (UDF)** 작성을 실습합니다. 예: 두 열의 데이터를 합치거나 조건부 병합, 특정 기준으로 그룹화 계산 등 반복 로직을 자동화할 수 있습니다.


1. 예제: 두 셀 결합 및 포맷된 문자열 반환

Function CombineCustomerName(firstName As String, lastName As String) As String
    CombineCustomerName = UCase(lastName & ", " & firstName)
End Function
  • A2에 "홍길동", B2에 "김" 입력 시 셀 C2에 =CombineCustomerName(A2, B2) 입력 → “김, 홍길동” 반환
  • 문자열 조작 및 포맷 처리가 필요한 보고서 자동화에 활용 가능

2. 조건 기반 데이터 정리 UDF 예제

Function CheckSalesTier(salesAmt As Double) As String
    If salesAmt >= 200000 Then
        CheckSalesTier = "Top"
    ElseIf salesAmt >= 150000 Then
        CheckSalesTier = "High"
    Else
        CheckSalesTier = "Standard"
    End If
End Function
  • 매출액 기준에 따라 세 등급 자동 분류
  • 셀에 =CheckSalesTier(D2) 입력 시 등급 자동 표시

3. 예외 처리 포함한 안전한 UDF 작성

Function SafeDivide(x As Double, y As Double) As Variant
    On Error GoTo ErrHandler
    If y = 0 Then
        SafeDivide = CVErr(xlErrDiv0)
    Else
        SafeDivide = x / y
    End If
    Exit Function
ErrHandler:
    SafeDivide = CVErr(xlErrValue)
End Function
  • 나눗셈 시 **0으로 나눔 오류** 대비
  • 오류 발생 시 Excel 표준 오류 메시지 반환

4. 실무 팁 및 주의사항

  • ✅ UDF에서 Variant 타입 반환은 오류 메시지 처리에 유리합니다.
  • ✅ 코드에 기본 예외 처리 구문 (On Error) 포함 시 안정성 확보
  • ✅ 함수 테스트용 데이터와 조건 조합을 준비해 정확성을 검증하세요.
  • ✅ UDF는 워크북 전체에서 사용 가능하므로 함수명 충돌 없이 모듈별 정리 권장

5. 요약 정리

  • ✅ 고급 UDF는 문자열 조합, 조건 분기, 안전 계산 등 복잡 로직도 자동화할 수 있습니다.
  • ✅ 오류 처리 포함 UDF는 안정적인 자동 계산 도구가 됩니다.
  • ✅ 실무에서는 여러 셀 계산, 그룹화, 조건부 표기 등에 고급 함수가 자주 필요합니다.

 

Comments