컴퓨터활용능력 2급 실기 기출문제 최근 10년 정리 · 정답 및 해설 종합 가이드
컴활 2급 실기 시험 개요
- 1과목: 스프레드시트 실무(엑셀) — 40분
- 2과목: 데이터베이스 실무(액세스) — 40분
- 합격 기준: 각 과목 70점 이상 (한 과목이라도 70점 미만이면 불합격)
- 프로그램 버전: 엑셀 2016 / 액세스 2016
- 1급과의 차이: 2급은 함수 난이도가 낮고, 액세스 쿼리가 단순하며, 피벗테이블·매크로 등 고급 기능이 출제되지 않거나 매우 기본적인 수준으로 출제된다
제1부 | 시험 구성과 1급과의 차이점
2급 실기 시험 구성
| 구분 | 엑셀 (1과목) | 액세스 (2과목) |
|---|---|---|
| 시간 | 40분 | 40분 |
| 배점 | 100점 | 100점 |
| 합격기준 | 70점 이상 | 70점 이상 |
1급과의 주요 차이점
| 항목 | 1급 | 2급 |
|---|---|---|
| 시험시간 | 각 45분 | 각 40분 |
| 엑셀 함수 | INDEX+MATCH, SUMIFS 등 고급 함수 | SUM, IF, VLOOKUP 등 기본 함수 위주 |
| 피벗테이블 | 출제됨 | 출제 안 됨 |
| 매크로/VBA | 출제됨 | 출제 안 됨 |
| 솔버/시나리오 | 출제됨 | 출제 안 됨 |
| 액세스 쿼리 | 크로스탭, 불일치, 업데이트 등 고급 쿼리 | 선택 쿼리, 매개변수 쿼리 위주 |
| 액세스 보고서 | 그룹화+정렬+합계 복합 출제 | 기본 보고서 작성 위주 |
| 난이도 | 중상 | 중하 |
핵심 차이: 2급은 1급 대비 함수 난이도가 낮고, 고급 분석 기능(피벗테이블, 매크로, 솔버)이 제외되므로 상대적으로 합격이 쉽다. 그러나 기본기를 정확히 해두지 않으면 실수로 감점되는 경우가 많다.
제2부 | 엑셀(스프레드시트) 출제 유형별 핵심 정리
유형 1. 셀 서식 설정
대표 기출 패턴
| 항목 | 출제 내용 |
|---|---|
| 숫자 형식 | 통화(₩), 퍼센트(%), 날짜, 사용자 지정 형식 코드 |
| 글꼴 | 글꼴 종류, 크기, 굵게, 기울임, 밑줄, 색상 |
| 테두리 | 외곽 테두리, 모든 테두리, 테두리 선 스타일·색상 |
| 정렬 | 가로(왼쪽·가운데·오른쪽), 세로(위·가운데·아래), 자동 줄 바꿈, 병합 |
| 행/열 | 열 너비, 행 높이 수치 지정 |
핵심 포인트
사용자 지정 형식 코드 자주 출제 패턴:
| 형식 코드 | 결과 예시 | 설명 |
|---|---|---|
#,##0 |
1,234,567 | 천 단위 구분, 정수 |
#,##0.00 |
1,234,567.89 | 천 단위 구분, 소수점 둘째 자리 |
0.0% |
85.3% | 퍼센트, 소수점 첫째 자리 |
yyyy-mm-dd |
2025-01-15 | 4자리 연도-월-일 |
yyyy년 mm월 dd일 |
2025년 01월 15일 | 한글 날짜 형식 |
₩#,##0 |
₩1,234,567 | 통화 기호 포함 |
형식 코드에서 0은 빈자리를 0으로 채우고, #은 빈자리를 채우지 않는다.
유형 2. 정렬 및 필터
대표 기출 패턴
정렬:
- 1차 정렬: 특정 열을 기준으로 오름차순/내림차순
- 2차 정렬: 1차 정렬 결과가 같을 때 다른 열 기준으로 재정렬
필터:
- 자동 필터: 드롭다운에서 조건 선택
- 고급 필터: 조건 범위를 별도로 지정하여 복잡한 조건 필터링, 추출 위치 지정
핵심 포인트
고급 필터에서 조건 범위를 설정할 때 같은 행에 조건을 넣으면 AND(그리고), 다른 행에 넣으면 OR(또는) 관계가 된다. 추출 위치를 지정하면 원본 데이터를 유지하면서 별도 영역에 결과를 복사할 수 있다.
유형 3. 조건부 서식
대표 기출 패턴
- 특정 값보다 큰/작은 셀에 서식 적용
- 상위 N개/하위 N개 서식
- 중복값 서식
- 수식을 이용한 조건부 서식 (다른 셀의 조건에 따라 서식 적용)
핵심 포인트
수식 기반 조건부 서식은 2급에서도 출제된다. 예를 들어 "A열의 값이 '완료'이면 해당 행 전체에 배경색을 적용"하는 경우, 수식란에 =$A2="완료"를 입력하고 적용 범위를 전체 행으로 지정한다.
유형 4. 데이터 유효성 검사
대표 기출 패턴
| 설정 유형 | 출제 내용 |
|---|---|
| 정수 범위 | 1~100 사이의 정수만 입력 허용 |
| 소수 범위 | 0.0~1.0 사이의 소수만 허용 |
| 목록 | 드롭다운 목록에서만 선택 (예: 부서명 목록) |
| 날짜 범위 | 특정 날짜 사이의 값만 허용 |
| 텍스트 길이 | 입력 가능한 최대/최소 문자 수 제한 |
| 사용자 지정 | 수식을 직접 입력하여 복잡한 조건 설정 |
핵심 포인트
목록 형식에서 '원본' 입력창에 값을 쉼표(,)로 구분하여 직접 입력하거나, 별도 영역에 목록을 만든 후 그 범위를 참조할 수 있다.
사용자 지정에서 자주 사용하는 수식:
- 중복 검사:
=COUNTIF($A:$A, A1)=1 - 특정 문자로 시작:
=LEFT(A1, 2)="AB" - 5자리 숫자만:
=AND(ISNUMBER(A1), LEN(A1)=5)
유형 5. 함수 — 가장 높은 출제 빈도 (40~50%)
2급에서는 1급에 비해 함수 난이도가 낮지만, 기본 함수의 정확한 사용법을 묻는 문제가 다수 출제된다.
2급 필수 함수 정리
| 함수 | 용도 | 출제 빈도 |
|---|---|---|
| SUM | 합계 | 매우 높음 |
| SUMIF | 조건부 합계 | 매우 높음 |
| SUMIFS | 다중 조건 합계 | 높음 |
| AVERAGE | 평균 | 높음 |
| AVERAGEIF | 조건부 평균 | 중간 |
| COUNT | 숫자 개수 | 높음 |
| COUNTA | 비어있지 않은 셀 개수 | 중간 |
| COUNTIF | 조건부 개수 | 매우 높음 |
| COUNTIFS | 다중 조건 개수 | 높음 |
| IF | 조건 분기 | 매우 높음 |
| 중첩 IF | 다중 조건 분기 | 높음 |
| VLOOKUP | 수직 조회 | 매우 높음 |
| HLOOKUP | 수평 조회 | 중간 |
| LEFT / RIGHT / MID | 문자열 추출 | 높음 |
| LEN | 문자열 길이 | 중간 |
| TRIM | 공백 제거 | 낮음~중간 |
| CONCATENATE / & | 문자열 결합 | 중간 |
| SUBSTITUTE | 문자열 치환 | 낮음~중간 |
| DATE / YEAR / MONTH / DAY | 날짜 함수 | 높음 |
| TODAY | 현재 날짜 | 중간 |
| DATEDIF | 날짜 차이 | 중간 |
| RANK | 순위 | 높음 |
| ROUND / ROUNDUP / ROUNDDOWN | 반올림 | 중간 |
| MAX / MIN | 최대값 / 최소값 | 중간 |
| IFERROR | 오류 처리 | 낮음 |
| ABS | 절대값 | 낮음 |
| MOD / QUOTIENT | 나머지 / 몫 | 낮음 |
대표 기출 함수 문제 유형
① SUMIF / SUMIFS — 조건부 합계
부서가 '영업부'인 사원의 급여 합계를 구하시오.
=SUMIF(B2:B100, "영업부", D2:D100)
부서가 '영업부'이면서 직급이 '대리'인 사원의 급여 합계를 구하시오.
=SUMIFS(D2:D100, B2:B100, "영업부", C2:C100, "대리")
SUMIF는 조건 1개, SUMIFS는 조건 여러 개를 설정할 수 있다. 주의할 점은 SUMIF의 인수 순서가 (조건범위, 조건, 합계범위)이고, SUMIFS는 (합계범위, 조건범위1, 조건1, 조건범위2, 조건2, ...)로 합계범위가 먼저 온다.
② COUNTIF / COUNTIFS — 조건부 개수
'영업부' 사원 수를 구하시오.
=COUNTIF(B2:B100, "영업부")
'영업부'이면서 '대리'인 사원 수를 구하시오.
=COUNTIFS(B2:B100, "영업부", C2:C100, "대리")
③ IF / 중첩 IF — 조건 분기
점수가 60점 이상이면 '합격', 미만이면 '불합격'을 표시하시오.
=IF(B2>=60, "합격", "불합격")
점수에 따라 등급을 판정하시오. (90이상 A, 80이상 B, 70이상 C, 그 외 D)
=IF(B2>=90, "A", IF(B2>=80, "B", IF(B2>=70, "C", "D")))
중첩 IF는 조건을 큰 값부터 순서대로 검사해야 한다. 순서가 뒤바뀌면 잘못된 결과가 나온다.
④ VLOOKUP — 수垂直 조회
주문 테이블의 상품코드를 참조하여 상품 마스터에서 상품명을 가져오시오.
=VLOOKUP(B2, 상품마스터!$A$2:$C$100, 2, FALSE)
VLOOKUP 인수 정리:
=VLOOKUP(찾을값, 표범위, 열번호, 일치옵션)
- 찾을값: 검색할 값이 있는 셀
- 표범위: 검색할 데이터 표 (반드시 찾을값이 있는 열이 가장 왼쪽이어야 함)
- 열번호: 표범위에서 반환할 값의 열 번호 (1부터 시작)
- 일치옵션: FALSE(정확한 일치) 또는 TRUE(근사 일치). 실기에서는 거의 항상 FALSE
VLOOKUP 사용 시 주의사항:
- 표범위는 절대 참조($)로 고정해야 복사 시 범위가 변하지 않음
- 찾을값이 표의 왼쪽 열에 있어야만 동작
- 오른쪽에 있는 값을 왼쪽에서 찾을 수 없음 (이 경우 INDEX+MATCH 사용)
⑤ 문자열 함수 (LEFT, RIGHT, MID, LEN)
주민등록번호에서 생년월일 6자리를 추출하시오.
=LEFT(A2, 6)
주민등록번호에서 성별 코드(7번째 자리)를 추출하시오.
=MID(A2, 7, 1)
핸드폰번호에서 마지막 4자리를 추출하시오.
=RIGHT(A2, 4)
셀의 문자열 길이를 구하시오.
=LEN(A2)
⑥ 날짜 함수
오늘 날짜를 표시하시오.
=TODAY()
입사일을 기준으로 근속년수를 구하시오.
=DATEDIF(A2, TODAY(), "Y")
입사일을 기준으로 근속개월수를 구하시오.
=DATEDIF(A2, TODAY(), "M")
특정 연도, 월, 일로부터 날짜를 생성하시오.
=DATE(2025, 1, 15)
DATEDIF 함수는 함수 목록에 나타나지 않지만 직접 입력하면 동작한다. 인수는 (시작일, 종료일, 단위)이며, 단위는 "Y"(년), "M"(월), "D"(일)을 사용한다.
⑦ RANK — 순위
각 사원의 급여에 대한 전체 순위를 구하시오. (급여가 높을수록 1위)
=RANK(B2, $B$2:$B$100, 0)
세 번째 인수: 0 또는 생략 = 내림차순(큰 값이 1위), 1 = 오름차순(작은 값이 1위)
⑧ ROUND / ROUNDUP / ROUNDDOWN — 반올림
소수점 첫째 자리에서 반올림하시오.
=ROUND(A2, 0)
소수점 둘째 자리에서 올림하시오.
=ROUNDUP(A2, -1)
소수점 셋째 자리까지 표시하시오.
=ROUND(A2, 3)
ROUND의 두 번째 인수: 양수 = 소수점 아래 자릿수, 음수 = 정수 부분 자릿수(10의 자리, 100의 자리 등), 0 = 소수점 첫째 자리에서 반올림.
⑨ CONCATENATE / & — 문자열 결합
성(last name)과 이름(first name)을 합쳐서 성명을 만드시오.
=A2 & B2
또는:
=CONCATENATE(A2, B2)
공백을 포함하려면:
=A2 & " " & B2
⑩ MAX / MIN — 최대값 / 최소값
급여의 최대값을 구하시오.
=MAX(D2:D100)
급여의 최소값을 구하시오.
=MIN(D2:D100)
유형 6. 차트
대표 기출 패턴
| 항목 | 출제 내용 |
|---|---|
| 차트 유형 | 꺾은선형, 막대형, 원형, 영역형 |
| 차트 제목 | 차트 제목 텍스트 입력 |
| 축 제목 | 가로축 제목, 세로축 제목 설정 |
| 범례 | 범례 표시 위치 (아래, 위, 오른쪽 등) |
| 데이터 레이블 | 값, 범례 키, 시리즈 이름 등 표시 |
| 보조 축 | 두 가지 단위의 데이터를 하나의 차트에 표시 |
| 차트 스타일 | 레이아웃, 색상 변경 |
핵심 포인트
차트 문제는 정확한 데이터 범위 선택이 핵심이다. 범위를 잘못 선택하면 차트가 완전히 다르게 나온다. 제목, 축 제목, 범례, 데이터 레이블 설정은 메뉴 위치를 정확히 알고 있으면 쉽게 해결할 수 있다.
유형 7. 인쇄 설정
대표 기출 패턴
- 인쇄 범위 설정
- 페이지 나누기 미리 보기
- 머리글/바닥글 설정 (페이지 번호, 날짜, 시트 이름 등)
- 인쇄 제목 (인쇄 머리글 행, 인쇄 머리글 열)
- 용지 방향 (가로/세로)
- 확대/축소 비율
- 가운데 맞춤 (가로/세로)
핵심 포인트
인쇄 제목 설정은 '페이지 레이아웃' 탭 → '인쇄 제목'에서 설정한다. 반복 인쇄할 행이나 열을 지정하면 모든 페이지에 해당 행/열이 반복되어 인쇄된다. 실무에서도 유용한 기능이므로 확실히 알아두자.
제3부 | 액세스(데이터베이스) 출제 유형별 핵심 정리
영역 1. DB 구축 (테이블 설계)
1-1. 테이블 디자인 (핵심 배점)
2급 액세스에서 테이블 설계가 가장 높은 배점을 차지한다.
반드시 알아야 할 데이터 형식:
| 데이터 형식 | 용도 | 크기 |
|---|---|---|
| 텍스트 | 이름, 주소, 전화번호 등 | 최대 255자 |
| 메모 | 긴 설명, 비고 등 | 최대 65,535자 |
| 숫자 | 수치 데이터 | 정수, 실수 등 다양 |
| 통화 | 금액 | 자동 통화 형식 |
| 날짜/시간 | 날짜 및 시간 | 다양한 형식 지원 |
| 자동번호 | 자동 증가 번호 | 정수(long), 중복 불가 |
| 예/아니오 | 참/거짓 | Boolean |
| OLE개체 | 사진, 그림 등 삽입 | - |
| 첨부파일 | 파일 첨부 | - |
| 조회 마법사 | 다른 테이블의 값 목록 | - |
핵심 포인트:
| 문제 조건 | 설정값 |
|---|---|
| 사진을 삽입하라고 하면 | 데이터 형식: OLE개체 |
| 사진을 첨부하라고 하면 | 데이터 형식: 첨부파일 |
| 자동으로 증가하는 번호 | 데이터 형식: 자동번호 |
| 중복 불가 고유 값 | 기본키 설정 |
| 값이 반드시 입력되어야 함 | 필수: 예 |
| 중복값을 허용하지 않음 | 인덱스: 예(중복 불허) |
1-2. 필드 속성 설정
입력마스크 자주 출제 패턴:
| 대상 | 입력마스크 |
|---|---|
| 전화번호 | 000\-0000\-0000 |
| 주민등록번호 | 000000\-0000000 |
| 우편번호 | 000\-000 |
| 이메일 | > (입력된 문자를 모두 대문자로 변환) 또는 LL 등 |
유효성 검사 규칙 자주 출제 패턴:
| 조건 | 유효성 규칙 |
|---|---|
| 0 이상 | >=0 |
| 1~12 사이 정수 | Between 1 And 12 |
| A 또는 B 또는 C | "A" Or "B" Or "C" |
| 6자리 문자 | Like "??????" 또는 Len([필드])=6 |
| 특정 문자로 시작 | Like "AB*" |
기본값 설정:
| 조건 | 기본값 |
|---|---|
| 오늘 날짜 자동 입력 | Date() |
| 현재 날짜와 시간 | Now() |
| 0 자동 입력 | 0 |
1-3. 관계 설정
관계 설정 원칙:
- 일대다(1:N) 관계가 가장 일반적
- 부모 테이블 쪽의 필드가 기본키여야 함
- 자식 테이블 쪽의 필드는 외래키
- 두 필드의 데이터 형식이 동일해야 함
- 참조 무결성 설정 시 부모 테이블에 없는 값은 자식 테이블에 입력할 수 없음
관계 설정이 제대로 되지 않으면 폼, 보고서, 쿼리 작업에 문제가 생길 수 있으므로, 테이블 작업 후 반드시 관계를 확인해야 한다.
영역 2. 폼(Form) 작업
2-1. 폼 디자인
폼은 테이블이나 쿼리를 원본으로 하여 데이터를 쉽게 입력·수정·조회할 수 있게 해주는 개체이다.
폼의 구성 영역:
| 영역 | 설명 |
|---|---|
| 폼 머리글 | 폼 상단에 제목이나 로고 표시 |
| 페이지 머리글 | 인쇄 시 상단에 표시 |
| 본문 | 데이터 필드와 컨트롤이 배치되는 영역 |
| 페이지 바닥글 | 인쇄 시 하단에 표시 |
| 폼 바닥글 | 폼 하단에 요약 정보 표시 |
반드시 알아야 할 컨트롤 종류:
| 컨트롤 | 용도 | 속성 |
|---|---|---|
| 레이블 | 제목, 설명 텍스트 표시 | 캡션 |
| 텍스트 상자 | 데이터 표시 및 입력 | 控制原, 캡션 |
| 명령 단추 | 클릭 시 특정 동작 실행 | 클릭 이벤트 |
| 콤보 상자 | 드롭다운 목록에서 선택 또는 직접 입력 | 행 원본, 열 수 |
| 목록 상자 | 목록에서만 선택 (직접 입력 불가) | 행 원본, 열 수 |
| 확인란 | 예/아니오 선택 | 기본값 |
| 옵션 그룹 | 여러 선택지 중 하나 선택 | 프레임 + 옵션 단추 |
| 하위 폼 | 폼 안에 또 다른 폼 포함 | 원본 개체 |
| 선 / 직사각형 | 디자인 장식 | - |
2-2. 폼 속성 설정
형식 탭 주요 속성:
| 속성 | 설정값 | 설명 |
|---|---|---|
| 캡션 | 텍스트 | 폼 타이틀바에 표시될 제목 |
| 기본 보기 | 단일 폼 / 연속 폼 / 데이터시트 | 레코드 표시 방식 |
| 스크롤 막대 | 수평/수직/양쪽/없음 | 스크롤바 표시 여부 |
| 탐색 단추 | 예/아니오 | 하단 탐색 버튼 표시 여부 |
| 레코드 선택기 | 예/아니오 | 레코드 선택 영역 표시 여부 |
| 테두리스타일 | 대화 상자/없음/细实线/可调 | 테두리 스타일 |
| 최소화/최대화 단추 | 예/아니오 | 윈도우 버튼 표시 여부 |
데이터 탭 주요 속성:
| 속성 | 설명 |
|---|---|
| 레코드 원본 | 폼이 연결될 테이블 또는 쿼리 |
| 정렬 기준 | 레코드 정렬 기준 필드 |
| 허용 편집 | 데이터 수정 가능 여부 |
| 허용 추가 | 새 레코드 추가 가능 여부 |
| 허용 삭제 | 레코드 삭제 가능 여부 |
2-3. 도메인 함수 (2급에서도 출제)
도메인 함수는 폼이나 보고서에서 조건에 맞는 값을 계산할 때 사용한다.
| 함수 | 구문 | 용도 |
|---|---|---|
| DSUM | DSUM("필드","테이블","조건") |
조건부 합계 |
| DAVG | DAVG("필드","테이블","조건") |
조건부 평균 |
| DCOUNT | DCOUNT("필드","테이블","조건") |
조건부 개수 |
| DMAX | DMAX("필드","테이블","조건") |
조건부 최대값 |
| DMIN | DMIN("필드","테이블","조건") |
조건부 최소값 |
| DLOOKUP | DLOOKUP("필드","테이블","조건") |
조건부 값 검색 |
도메인 함수 사용 시 따옴표 규칙:
| 데이터 유형 | 조건 예시 |
|---|---|
| 텍스트 | "부서명='영업부'" |
| 숫자 | "급여>=3000000" |
| 날짜 | "입사일>=#2020-01-01#" |
| 복합 조건 | "부서명='영업부' AND 직급='대리'" |
주의: 도메인 함수의 조건은 반드시 문자열로 입력해야 한다. 텍스트는 작은따옴표(''), 날짜는 샵(#)으로 감싸야 한다.
영역 3. 보고서(Report) 작업
3-1. 보고서 디자인
보고서는 데이터를 인쇄하기 좋게 정리한 개체이다.
보고서 구성 영역:
| 영역 | 설명 | 인쇄 시 위치 |
|---|---|---|
| 보고서 머리글 | 보고서 전체 제목 | 첫 페이지 상단에만 |
| 페이지 머리글 | 각 페이지의 제목/열 머리글 | 모든 페이지 상단 |
| 그룹 머리글 | 그룹 시작 시 표시 | 그룹 시작 부분 |
| 본문 | 실제 데이터 | 데이터 영역 |
| 그룹 바닥글 | 그룹별 합계/평균 등 | 그룹 끝 부분 |
| 페이지 바닥글 | 페이지 번호 등 | 모든 페이지 하단 |
| 보고서 바닥글 | 전체 합계 등 | 마지막 페이지 하단에만 |
3-2. 보고서 속성 설정
핵심 속성:
| 속성 | 설명 |
|---|---|
| 정렬 기준 | 데이터를 특정 필드 기준으로 정렬 |
| 그룹화 | 특정 필드를 기준으로 데이터를 그룹으로 묶음 |
| 반복실행구역 | 보고서 머리글의 내용이 매 페이지마다 반복 |
| 페이지 나누기 | 각 그룹 전/후 페이지 나누기 삽입 |
| 인덱스(중복 불가능) | 중복된 값이 입력되지 않도록 설정 |
보고서에서 자주 사용하는 함수:
| 함수 | 용도 |
|---|---|
=Sum([필드명]) |
그룹/전체 합계 |
=Avg([필드명]) |
그룹/전체 평균 |
=Count([필드명]) |
그룹/전체 개수 |
=Max([필드명]) |
최대값 |
=Min([필드명]) |
최소값 |
=[페이지]&" / "&[전체페이지] |
페이지 번호 |
=Date() |
현재 날짜 |
영역 4. 쿼리(Query) 작업
4-1. 선택 쿼리 (가장 기본적)
조건에 맞는 레코드를 조회하는 쿼리.
SQL 기본 구조:
SELECT 필드1, 필드2, ...
FROM 테이블명
WHERE 조건
GROUP BY 그룹필드
ORDER BY 정렬필드 [ASC|DESC]
자주 출제되는 선택 쿼리 패턴:
-- 영업부 사원 조회
SELECT 사원명, 부서명, 직급, 급여
FROM 사원테이블
WHERE 부서명 = '영업부'
-- 부서별 급여 합계
SELECT 부서명, Sum(급여) AS 급여합계
FROM 사원테이블
GROUP BY 부서명
-- 급여 상위 5명 조회
SELECT TOP 5 사원명, 급여
FROM 사원테이블
ORDER BY 급여 DESC
-- 입사일 기준 오름차순 정렬
SELECT 사원명, 입사일
FROM 사원테이블
ORDER BY 입사일 ASC
4-2. 매개변수 쿼리
쿼리를 실행할 때 사용자에게 값을 입력받아 조건으로 사용한다.
SELECT 사원명, 부서명, 급여
FROM 사원테이블
WHERE 부서명 = [부서명을 입력하세요]
[ ] 안의 텍스트가 실행 시 입력 대화상자에 표시되는 프롬프트 메시지이다.
-- 날짜 범위를 입력받는 경우
SELECT *
FROM 주문테이블
WHERE 주문일 Between [시작일을 입력하세요] And [종료일을 입력하세요]
4-3. 집계 쿼리 (GROUP BY)
SELECT 부서명, Count(*) AS 인원수, Avg(급여) AS 평균급여
FROM 사원테이블
GROUP BY 부서명
자주 사용하는 집계 함수:
| 함수 | 설명 |
|---|---|
Sum(필드) |
합계 |
Avg(필드) |
평균 |
Count(필드) 또는 Count(*) |
개수 |
Max(필드) |
최대값 |
Min(필드) |
최소값 |
4-4. 조인 쿼리
두 개 이상의 테이블을 연결하여 조회한다.
SELECT 사원테이블.사원명, 부서테이블.부서명
FROM 사원테이블
INNER JOIN 부서테이블 ON 사원테이블.부서코드 = 부서테이블.부서코드
조인 유형:
| 조인 | 설명 |
|---|---|
| 내부 조인 (INNER JOIN) | 양쪽 테이블에 모두 일치하는 레코드만 반환 |
| 왼쪽 외부 조인 (LEFT JOIN) | 왼쪽 테이블의 모든 레코드 + 일치하는 오른쪽 레코드 |
| 오른쪽 외부 조인 (RIGHT JOIN) | 오른쪽 테이블의 모든 레코드 + 일치하는 왼쪽 레코드 |
2급에서는 주로 내부 조인이 출제된다.
제4부 | 액세스 핵심 함수·식 함수 완벽 정리
선택 함수
| 함수 | 구문 | 설명 |
|---|---|---|
| IIF | IIF(조건, 참값, 거짓값) |
조건에 따라 값 반환 |
| SWITCH | SWITCH(조건1, 값1, 조건2, 값2, ...) |
첫 번째 참 조건의 값 반환 |
IIF 사용 예시:
=IIF([급여]>=3000000, "고급", "일반")
중첩 IIF 예시:
=IIF([점수]>=90, "A", IIF([점수]>=80, "B", IIF([점수]>=70, "C", "D")))
주요 내장 함수
| 함수 | 설명 | 예시 |
|---|---|---|
Date() |
현재 날짜 | =Date() → 2025-01-15 |
Now() |
현재 날짜+시간 | =Now() |
Year(날짜) |
연도 추출 | =Year([입사일]) |
Month(날짜) |
월 추출 | =Month([입사일]) |
Day(날짜) |
일 추출 | =Day([입사일]) |
Left(문자열, n) |
왼쪽 n자 추출 | =Left([주민번호], 6) |
Right(문자열, n) |
오른쪽 n자 추출 | =Right([전화번호], 4) |
Mid(문자열, 시작, n) |
시작위치부터 n자 | =Mid([주민번호], 7, 1) |
Len(문자열) |
문자열 길이 | =Len([이름]) |
Trim(문자열) |
앞뒤 공백 제거 | =Trim([주소]) |
UCase(문자열) |
대문자 변환 | =UCase([아이디]) |
LCase(문자열) |
소문자 변환 | =LCase([이메일]) |
Format(값, 형식) |
형식 지정 | =Format([날짜], "yyyy-mm-dd") |
Nz(값, 대체값) |
Null을 대체값으로 변환 | =Nz([급여], 0) |
Int(숫자) |
정수 부분 | =Int(3.7) → 3 |
Abs(숫자) |
절대값 | =Abs(-5) → 5 |
Sqr(숫자) |
제곱근 | =Sqr(16) → 4 |
Rnd() |
난수 (0~1) | =Rnd() |
제5부 | 이벤트 프로시저·VBA 기초
자주 출제되는 VBA 코드 패턴
폼 열기 / 닫기
' 다른 폼 열기
DoCmd.OpenForm "폼이름"
' 현재 폼 닫기
DoCmd.Close acForm, "현재폼이름"
' 특정 폼 닫기
DoCmd.Close acForm, "폼이름"
보고서 미리보기 / 인쇄
' 보고서 미리보기
DoCmd.OpenReport "보고서이름", acViewPreview
' 보고서 바로 인쇄
DoCmd.OpenReport "보고서이름", acViewNormal
메시지 상자
MsgBox "작업이 완료되었습니다."
MsgBox "값을 입력하세요.", vbExclamation
레코드 이동
DoCmd.GoToRecord , , acNewRec ' 새 레코드로 이동
DoCmd.GoToRecord , , acFirst ' 첫 번째 레코드로 이동
DoCmd.GoToRecord , , acLast ' 마지막 레코드로 이동
필터 적용
Me.Filter = "부서명 = '영업부'"
Me.FilterOn = True
필터 해제
Me.FilterOn = False
값 검색 (RecordsetClone)
Private Sub btnFind_Click()
Me.RecordsetClone.FindFirst "사원번호 = '" & Me.txtNo & "'"
If Not Me.RecordsetClone.NoMatch Then
Me.Bookmark = Me.RecordsetClone.Bookmark
Else
MsgBox "해당 사원을 찾을 수 없습니다."
End If
End Sub
제6부 | 최근 10년 출제 경향 분석
2015~2018년 경향
- 엑셀 2010 기반 출제
- SUM, IF, VLOOKUP 등 기본 함수 위주
- 액세스 테이블 설계가 전체 배점의 높은 비중
- 선택 쿼리와 매개변수 쿼리가 주로 출제
- 보고서는 단순한 구조
2019~2021년 경향
- 엑셀 2016 기반으로 전환
- SUMIFS, COUNTIFS 등 다중 조건 함수 출제 증가
- 조건부 서식의 수식 기반 설정 출제
- 액세스에서 도메인 함수 출제 빈도 증가
- 보고서의 그룹화+합계 조합 문제 등장
2022~2024년 경향
- 함수 조합 문제가 더 다양해짐
- 문자열 함수(LEFT, MID, RIGHT, LEN, SUBSTITUTE) 출제 확대
- 액세스에서 폼 속성 설정 문제가 더 세부적으로 출제
- VBA 이벤트 프로시저 코드 문제가 정례화
- 데이터 유효성 검사의 사용자 지정 수식 출제
2025~2026년 최신 경향
- 기존 기출과 동일한 문제가 거의 출제되지 않음
- 개념 이해를 바탕으로 한 응용 문제가 증가
- 함수의 정확한 사용법(인수 순서, 참조 방식)을 더 까다롭게 평가
- 액세스에서 SQL 문법 직접 작성 문제가 간헐적 출제
제7부 | 실제 기출 복원 기반 대표 문제 풀이
【엑셀 유형 1】 부서별 급여 합계·평균·인원수 계산
문제: A열(부서), B열(직급), C열(급여) 데이터에서 아래를 계산하시오.
① 전체 급여 합계:
=SUM(C2:C100)
② 영업부 급여 합계:
=SUMIF(A2:A100, "영업부", C2:C100)
③ 영업부 사원 수:
=COUNTIF(A2:A100, "영업부")
④ 전체 평균 급여:
=AVERAGE(C2:C100)
【엑셀 유형 2】 VLOOKUP으로 부서명 자동 입력
문제: 부서코드 테이블에서 부서코드를 참조하여 부서명을 자동으로 가져오시오.
부서코드 테이블 (E열: 부서코드, F열: 부서명):
| 부서코드 | 부서명 |
|---|---|
| D01 | 영업부 |
| D02 | 총무부 |
| D03 | 생산부 |
정답:
=VLOOKUP(A2, $E$2:$F$10, 2, FALSE)
【엑셀 유형 3】 중첩 IF로 학점 판정
문제: 점수(B열)에 따라 학점을 판정하시오.
| 점수 | 학점 |
|---|---|
| 90 이상 | A |
| 80 이상 | B |
| 70 이상 | C |
| 60 이상 | D |
| 60 미만 | F |
정답:
=IF(B2>=90,"A",IF(B2>=80,"B",IF(B2>=70,"C",IF(B2>=60,"D","F"))))
【엑셀 유형 4】 주민등록번호에서 생년월일·성별 추출
문제: A열의 주민등록번호(예: 900101-1234567)에서 다음을 추출하시오.
① 생년월일 6자리:
=LEFT(A2, 6)
② 성별 코드 (7번째 자리):
=MID(A2, 7, 1)
③ 뒷자리 7자리:
=RIGHT(A2, 7)
④ 전체 자릿수:
=LEN(A2)
【엑셀 유형 5】 조건부 합계·개수 (SUMIFS, COUNTIFS)
문제: A열(부서), B열(직급), C열(성별), D열(급여)에서 다음을 계산하시오.
① 영업부 대리의 급여 합계:
=SUMIFS(D2:D100, A2:A100, "영업부", B2:B100, "대리")
② 총무부 남자 사원 수:
=COUNTIFS(A2:A100, "총무부", C2:C100, "남")
【엑셀 유형 6】 날짜 함수 활용
① 오늘 날짜:
=TODAY()
② 입사일로부터 근속년수:
=DATEDIF(A2, TODAY(), "Y")
③ 입사일로부터 근속개월:
=DATEDIF(A2, TODAY(), "M")
④ 두 날짜 사이의 일수:
=DATEDIF(A2, B2, "D")
【엑셀 유형 7】 순위 함수
정답:
=RANK(B2, $B$2:$B$100, 0)
【엑셀 유형 8】 반올림 함수
① 소수점 첫째 자리에서 반올림:
=ROUND(A2, 0)
② 소수점 둘째 자리까지 표시:
=ROUND(A2, 2)
③ 10의 자리에서 반올림:
=ROUND(A2, -1)
④ 소수점 첫째 자리에서 올림:
=ROUNDUP(A2, 0)
⑤ 소수점 첫째 자리에서 내림:
=ROUNDDOWN(A2, 0)
【액세스 유형 1】 테이블 설계
문제: 다음 조건에 맞게 사원 테이블을 설계하시오.
| 필드명 | 데이터 형식 | 필드 크기 | 기본키 | 필수 | 기타 속성 |
|---|---|---|---|---|---|
| 사원번호 | 텍스트 | 10 | O | O | 인덱스: 중복 불허 |
| 사원명 | 텍스트 | 20 | - | O | - |
| 부서코드 | 텍스트 | 5 | - | - | 조회: 콤보상자 |
| 입사일 | 날짜/시간 | - | - | - | 기본값: Date() |
| 급여 | 통화 | - | - | - | 유효성: >=0 |
| 사진 | OLE개체 | - | - | - | - |
| 비고 | 메모 | - | - | - | - |
【액세스 유형 2】 도메인 함수를 이용한 폼 계산
문제: 폼에서 현재 레코드의 부서에 해당하는 평균 급여를 표시하시오.
정답:
=DAVG("급여", "사원테이블", "부서코드='" & [부서코드] & "'")
주의: 조건에서 텍스트 필드는 작은따옴표로 감싸야 한다. '" & [부서코드] & "'는 변수를 조건 문자열에 연결하는 패턴이다.
【액세스 유형 3】 필터를 이용한 검색
정답:
Private Sub btnSearch_Click()
Me.Filter = "사원명 = '" & Me.txtSearch & "'"
Me.FilterOn = True
End Sub
【액세스 유형 4】 RecordsetClone을 이용한 찾기
정답:
Private Sub btnFind_Click()
Me.RecordsetClone.FindFirst "사원번호 = '" & Me.txtNo & "'"
If Not Me.RecordsetClone.NoMatch Then
Me.Bookmark = Me.RecordsetClone.Bookmark
Else
MsgBox "해당 사원을 찾을 수 없습니다."
End If
End Sub
【액세스 유형 5】 매개변수 쿼리
문제: 사용자가 부서명을 입력하면 해당 부서의 사원 목록을 조회하는 쿼리를 작성하시오.
정답:
SELECT 사원번호, 사원명, 부서코드, 직급, 급여
FROM 사원테이블
WHERE 부서코드 = [조회할 부서코드를 입력하세요]
【액세스 유형 6】 집계 쿼리 (GROUP BY)
문제: 부서별 인원수와 평균 급여를 구하는 쿼리를 작성하시오.
정답:
SELECT 부서코드, Count(*) AS 인원수, Avg(급여) AS 평균급여
FROM 사원테이블
GROUP BY 부서코드
【액세스 유형 7】 폼 명령 단추 이벤트 프로시저
문제: '닫기' 버튼을 클릭하면 현재 폼이 닫히도록 하시오.
정답:
Private Sub btnClose_Click()
DoCmd.Close acForm, Me.Name
End Sub
문제: '보고서 미리보기' 버튼을 클릭하면 보고서가 미리보기로 열리도록 하시오.
정답:
Private Sub btnReport_Click()
DoCmd.OpenReport "사원보고서", acViewPreview
End Sub
【액세스 유형 8】 보고서 그룹화·합계
문제: 부서별로 그룹화하고, 각 그룹의 급여 합계와 전체 합계를 표시하는 보고서를 작성하시오.
설정:
- 보고서의 레코드 원본: 사원테이블
- 그룹화 기준: 부서코드
- 그룹 바닥글에 합계 텍스트 상자 추가:
=Sum([급여]) - 보고서 바닥글에 전체 합계 텍스트 상자 추가:
=Sum([급여])
제8부 | 학습 전략 및 합격 가이드
추천 학습 기간
| 구분 | 초보자 | 컴퓨터 사용 경험자 |
|---|---|---|
| 필기 | 1~2주 | 2~3일 |
| 실기 | 2~3주 | 3~5일 |
| 합계 | 3~5주 | 1주 이내 |
공부 순서
1단계: 개념 잡기 (1일)
- 유튜브 무료 강의로 엑셀/액세스 기본 화면과 사용법 학습
- 엑셀은 함수 사용법, 액세스는 테이블·폼·쿼리·보고서의 개념을 이해
2단계: 기출 풀이 (3~5일)
- 최근 5~10개년 기출문제를 3회 이상 반복
- 틀린 문제는 오답노트에 정리하여 반복 학습
3단계: 취약 유형 보강 (1~2일)
- 부족한 함수나 액세스 쿼리 유형에 대해 집중 학습
- 유튜브 강의에서 해당 유형만 다시 청취
4단계: 실전 모의고사 (1일)
- 시간을 재고 실제 시험처럼 풀이
- 시험 당일까지 오답노트와 핵심 함수 목록 반복
추천 학습 자료
| 자료 | 특징 |
|---|---|
| CBT 프로그램 | 온라인에서 기출문제를 실제 시험 환경처럼 풀이, 즉시 채점 |
| 유튜브 무료 강의 | 엑셀/액세스 개념부터 기출 해설까지 무료 제공 |
| 기출문제 해설집 | 출판사별 기출 해설 자료 (시나공, 영진 등) |
| 자격증 기출 앱 | 모바일에서 필기 기출문제 학습 가능 |
시험 당일 팁
- 시간 배분: 엑셀 25분 + 검토 15분, 액세스 25분 + 검토 15분
- 저장 자주 하기: Ctrl+S를 습관화. 프로그램 오류 시 데이터 유실 방지
- 쉬운 문제부터: 확실하지 않은 문제는 표시 후 먼저 쉬운 문제를 풀기
- 함수 입력 후 Enter: 함수를 입력하고 Enter를 누르지 않으면 채점되지 않는다
- 셀 서식 정확히: 문제에서 요구하는 서식(숫자 형식, 정렬, 테두리 등)을 정확히 맞출 것
- 범위 확인: 함수의 셀 참조 범위가 정확한지 반드시 확인
제9부 | 자주 틀리는 포인트 및 주의사항
엑셀에서 자주 틀리는 부분
| 실수 유형 | 설명 | 해결 방법 |
|---|---|---|
| 절대 참조 누락 | 함수 범위를 복사할 때 $ 기호를 빠뜨림 | 범위 선택 후 F4 키로 절대 참조 전환 |
| SUMIF vs SUMIFS 혼동 | 인수 순서가 다름 | SUMIF: (조건범위, 조건, 합계범위) / SUMIFS: (합계범위, 조건범위, 조건, ...) |
| VLOOKUP FALSE 누락 | 마지막 인수를 생략하면 TRUE(근사 일치)로 처리됨 | 항상 FALSE를 명시 |
| 조건부 서식 범위 오류 | 적용 범위를 잘못 지정 | 서식 적용 전 범위를 다시 확인 |
| 문자열 함수 시작 위치 | MID 함수의 시작 위치가 0이 아닌 1부터 시작 | MID(값, 시작위치, 개수)에서 시작위치=1이 첫 번째 문자 |
| 날짜 형식 혼동 | 날짜가 숫자로 표시됨 | 셀 서식에서 날짜 형식으로 변경 |
액세스에서 자주 틀리는 부분
| 실수 유형 | 설명 | 해결 방법 |
|---|---|---|
| OLE개체 vs 첨부파일 | 사진 삽입/첨부 구분 못함 | 삽입=OLE개체, 첨부=첨부파일 |
| 기본키 설정 누락 | 테이블 설계 시 기본키를 지정하지 않음 | 반드시 고유 식별 필드에 기본키 설정 |
| 관계 설정 누락 | 관계를 설정하지 않아 쿼리·폼에서 오류 발생 | 테이블 작업 후 반드시 관계 설정 확인 |
| SQL 따옴표 오류 | 텍스트에 큰따옴표("")를 사용 | 액세스 SQL에서는 작은따옴표('') 사용 |
| 날짜 조건 표기 오류 | 날짜를 따옴표로 감쌈 | 날짜는 반드시 샵(#)으로 감쌈 (예: #2025-01-15#) |
| 폼 속성 탭 혼동 | 형식 탭과 데이터 탭의 속성을 구분 못함 | 형식=외관(캡션, 테두리 등), 데이터=연결(레코드원본, 정렬 등) |
| 보고서 영역 구분 | 머리글/바닥글의 종류를 혼동 | 보고서=전체, 페이지=매 페이지, 그룹=그룹별 |
| 도메인 함수 조건문 오류 | 따옴표·연산자 위치 실수 | 텍스트: '값', 숫자: 값, 날짜: #값# 형식으로 감싸기 |
제10부 | 핵심 함수·쿼리 빠른 참조표
엑셀 핵심 함수 한눈에 보기
| 함수 | 구문 | 결과 |
|---|---|---|
| SUM | =SUM(A1:A10) |
합계 |
| SUMIF | =SUMIF(조건범위, 조건, 합계범위) |
조건부 합계 |
| SUMIFS | =SUMIFS(합계범위, 조건범위1, 조건1, ...) |
다중 조건 합계 |
| COUNT | =COUNT(A1:A10) |
숫자 개수 |
| COUNTIF | =COUNTIF(범위, 조건) |
조건부 개수 |
| COUNTIFS | =COUNTIFS(범위1, 조건1, 범위2, 조건2) |
다중 조건 개수 |
| AVERAGE | =AVERAGE(A1:A10) |
평균 |
| IF | =IF(조건, 참값, 거짓값) |
조건 분기 |
| VLOOKUP | =VLOOKUP(값, 범위, 열번호, FALSE) |
수직 조회 |
| RANK | =RANK(값, 범위, 0) |
순위 (0=내림차순) |
| ROUND | =ROUND(값, 자릿수) |
반올림 |
| LEFT | =LEFT(문자열, n) |
왼쪽 n자 |
| RIGHT | =RIGHT(문자열, n) |
오른쪽 n자 |
| MID | =MID(문자열, 시작, n) |
중간 n자 |
| LEN | =LEN(문자열) |
문자열 길이 |
| TODAY | =TODAY() |
오늘 날짜 |
| DATEDIF | =DATEDIF(시작, 끝, "Y") |
날짜 차이 |
| MAX | =MAX(A1:A10) |
최대값 |
| MIN | =MIN(A1:A10) |
최소값 |
| ABS | =ABS(값) |
절대값 |
액세스 핵심 쿼리 한눈에 보기
| 쿼리 유형 | SQL 키워드 | 용도 |
|---|---|---|
| 선택 쿼리 | SELECT ... FROM ... WHERE |
데이터 조회 |
| 매개변수 쿼리 | WHERE [프롬프트] |
사용자 입력 기반 조회 |
| 집계 쿼리 | GROUP BY + Sum, Avg, Count |
그룹별 합계/평균/개수 |
| 정렬 쿼리 | ORDER BY ASC/DESC |
데이터 정렬 |
| 상위 값 쿼리 | TOP N |
상위 N개 레코드 조회 |
| 조인 쿼리 | INNER JOIN ON |
테이블 결합 조회 |
컴활 2급 실기는 1급보다 난이도가 낮지만, 기본 함수의 정확한 사용법과 액세스 테이블 설계·쿼리 작성 능력을 확실히 평가하는 시험이다. 기출문제를 반복 학습하면 동일하거나 유사한 문제가 다수 출제되므로, 기출 반복이 가장 효과적인 합격 전략이다. 특히 SUMIF/SUMIFS의 인수 순서 차이, VLOOKUP의 FALSE 옵션, 액세스 SQL의 따옴표 규칙(작은따옴표, 날짜는 샵) 등 자주 틀리는 포인트를 집중적으로 반복 학습하면 감점을 최소화할 수 있다.
무료 CBT 모의고사로 실전 감각을 키우세요!
지금 바로 https://allpass.dothome.co.kr/ 에서 무료 CBT 모의고사와 기출문제를 풀어보세요. 공인중개사를 비롯한 다양한 국가 자격증 기출문제를 로그인 없이 무료로 이용할 수 있으며, 틀린 문제는 자동으로 오답노트에 저장되어 효율적인 복습이 가능합니다. 정보처리기사, 산업안전기사, 컴퓨터활용능력, 한국사능력검정시험 등 여러 자격증도 함께 준비할 수 있어, 자격증 공부의 든든한 파트너가 되어줄 것입니다.
합격까지의 여정, 올패스(All-Pass)가 함께 하겠습니다.
'자격증 공부 관련 > 컴퓨터활용능력' 카테고리의 다른 글
| 2021년 제2회 컴퓨터활용능력 1급 기출문제(60문항), 정답 및 해설집 (1) | 2026.06.13 |
|---|---|
| 2021년 제1회 컴퓨터활용능력 1급 기출문제(60문항), 정답 및 해설집 (1) | 2026.06.12 |
| 컴퓨터활용능력 1급 실기 기출문제 최근 10년 정리 · 정답 및 해설 종합 가이드 (0) | 2026.06.11 |
| 컴퓨터활용능력 1급 실기 기출문제 최근 10년 정리 · 정답 및 해설 종합 가이드 (0) | 2026.06.11 |
| 2021년 제3회 컴퓨터활용능력 1급 기출문제(60문항), 정답 및 해설집 (0) | 2026.06.11 |