책 내용 질문하기
사용자 정의함수, 피벗데이블 쿼리
도서
2026 시나공 컴퓨터활용능력1급 실기 기본서
페이지
112
조회수
49
작성일
2026-09-23
작성자
서*권
첨부파일

112페이지 사용자 정의함수는 인수를 사용할 수 없다고 나오고 155페이지 피벗테이블 데이트


가져오기애서 microsoft query가 없습니다 . 종전에 질의 하였는데 기술적인문제라 답변이


어렵다 하는데 방법이 전혀 없는가요,


사용자 정의함수와 피벗테이블은 시험에 꼭 나온다는데 시험을 포기 해야 하는지 답답 합니다

답변
2026-09-28 09:19:26

안녕하세요.

사용자 정의 함수는 대부분 Office 설정이나 작성 위치 문제 때문에 발생합니다.

사용자 정의 함수에서 “인수를 사용할 수 없다”는 경우는 대개 함수를 일반 모듈이 아닌 시트 모듈이나 ThisWorkbook에 작성했거나, 함수 선언 형식이 잘못된 경우입니다. VBA 편집기에서 반드시 [삽입] → [모듈]을 선택하여 일반 모듈을 만든 다음, 예를 들어 다음처럼 작성해야 합니다.

Public Function fn할인액(판매일, 금액)

    If 판매일 <= [계산작업]!J2 Then
        fn할인액 = 금액 * 0.15
    Else
        fn할인액 = 금액 * 0
    End If

End Function

중요한 것은 이 코드를 Sheet1, Sheet2, ThisWorkbook 등이 아니라 Module1 같은 일반 모듈에 넣는 것입니다. 그리고 파일은 반드시 .xlsm 형식으로 저장하고, 상단에 보안 경고가 나오면 **[콘텐츠 사용]**을 눌러 매크로를 허용해야 합니다.

워크시트에서는

=fn할인액(A2,B2)

처럼 사용합니다. 함수 이름이 자동완성에 나오지 않더라도 직접 입력하면 작동할 수 있습니다.


두 번째로 Microsoft Query가 보이지 않는 문제는 최신 Excel에서 레거시 데이터 가져오기 기능이 기본적으로 숨겨져 있기 때문입니다.

다음 순서로 설정해 보세요.

  1. 파일 → 옵션
  2. 데이터
  3. 아래쪽의 레거시 데이터 가져오기 마법사 표시 항목 확인
  4. Microsoft Query에서 또는 From Microsoft Query 항목에 체크
  5. 확인

그다음 Excel로 돌아와

데이터 → 데이터 가져오기 → 레거시 마법사 → Microsoft Query에서

로 들어가면 됩니다.

버전에 따라 메뉴가 약간 다를 수 있지만 핵심은 Excel 옵션의 데이터 항목에서 레거시 마법사를 활성화하는 것입니다.

만약 이 설정을 했는데도 Microsoft Query가 없다면, 다음 두 가지를 확인해야 합니다.

  • Excel이 웹 버전이 아닌 Windows 데스크톱 Excel인지
  • Office 설치가 일부 기능이 빠진 형태가 아닌지

컴활 실기 연습이라면 가능하면 Windows용 Excel 2021 계열 데스크톱 버전에서 연습하는 것이 가장 안전합니다.

정리하면,

사용자 정의 함수 문제
→ VBA의 [일반 모듈]에 작성
→ .xlsm 저장
→ 매크로 허용

Microsoft Query 문제
→ 파일 → 옵션 → 데이터
→ 레거시 데이터 가져오기 마법사 활성화

입니다.

즐거운 하루 되세요.

  • 관리자
    2026-09-28 09:19:26

    안녕하세요.

    사용자 정의 함수는 대부분 Office 설정이나 작성 위치 문제 때문에 발생합니다.

    사용자 정의 함수에서 “인수를 사용할 수 없다”는 경우는 대개 함수를 일반 모듈이 아닌 시트 모듈이나 ThisWorkbook에 작성했거나, 함수 선언 형식이 잘못된 경우입니다. VBA 편집기에서 반드시 [삽입] → [모듈]을 선택하여 일반 모듈을 만든 다음, 예를 들어 다음처럼 작성해야 합니다.

    Public Function fn할인액(판매일, 금액)
    
        If 판매일 <= [계산작업]!J2 Then
            fn할인액 = 금액 * 0.15
        Else
            fn할인액 = 금액 * 0
        End If
    
    End Function

    중요한 것은 이 코드를 Sheet1, Sheet2, ThisWorkbook 등이 아니라 Module1 같은 일반 모듈에 넣는 것입니다. 그리고 파일은 반드시 .xlsm 형식으로 저장하고, 상단에 보안 경고가 나오면 **[콘텐츠 사용]**을 눌러 매크로를 허용해야 합니다.

    워크시트에서는

    =fn할인액(A2,B2)

    처럼 사용합니다. 함수 이름이 자동완성에 나오지 않더라도 직접 입력하면 작동할 수 있습니다.


    두 번째로 Microsoft Query가 보이지 않는 문제는 최신 Excel에서 레거시 데이터 가져오기 기능이 기본적으로 숨겨져 있기 때문입니다.

    다음 순서로 설정해 보세요.

    1. 파일 → 옵션
    2. 데이터
    3. 아래쪽의 레거시 데이터 가져오기 마법사 표시 항목 확인
    4. Microsoft Query에서 또는 From Microsoft Query 항목에 체크
    5. 확인

    그다음 Excel로 돌아와

    데이터 → 데이터 가져오기 → 레거시 마법사 → Microsoft Query에서

    로 들어가면 됩니다.

    버전에 따라 메뉴가 약간 다를 수 있지만 핵심은 Excel 옵션의 데이터 항목에서 레거시 마법사를 활성화하는 것입니다.

    만약 이 설정을 했는데도 Microsoft Query가 없다면, 다음 두 가지를 확인해야 합니다.

    • Excel이 웹 버전이 아닌 Windows 데스크톱 Excel인지
    • Office 설치가 일부 기능이 빠진 형태가 아닌지

    컴활 실기 연습이라면 가능하면 Windows용 Excel 2021 계열 데스크톱 버전에서 연습하는 것이 가장 안전합니다.

    정리하면,

    사용자 정의 함수 문제
    → VBA의 [일반 모듈]에 작성
    → .xlsm 저장
    → 매크로 허용
    
    Microsoft Query 문제
    → 파일 → 옵션 → 데이터
    → 레거시 데이터 가져오기 마법사 활성화

    입니다.

    즐거운 하루 되세요.

  • 서*권
    2026-09-29 12:45:26
    레거시마법사 해보았으나 '데이터원본에연결하는중...' 메세지만 떠고 더이상 진행되지 않습니다 컴퓨터는 데스크탑이고 버전은 2021입니다
· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.