합격전략

컴활 실기 준비: 채점 방식, 엑셀·액세스 작업, VBA 패턴

필기 합격 다음에 오는 것

컴퓨터활용능력은 필기에 붙은 뒤 실기까지 통과해야 자격증이 나옵니다. 필기를 마치고 나면 한숨 돌리고 싶어지지만, 필기에서 익힌 함수와 액세스 개념은 실기에서 그대로 다시 쓰입니다. 기억이 살아 있을 때 실기로 넘어가는 편이 준비 기간을 줄이는 길입니다.

실기는 필기와 따로 접수하며, 필기 합격발표일부터 만 2년 안에 실기에 합격해야 자격이 인정됩니다. 대한상공회의소 종목 안내 기준(2026년 10월 14일 확인) 실기 수험료는 1·2급 모두 25,000원입니다. 상시 실기 결과는 매주 수요일부터 다음 주 화요일까지 응시한 사람을 묶어 그로부터 2주 뒤 화요일 오전 10시에 발표됩니다. 이런 일정·응시료·합격 기준은 바뀔 수 있으므로 접수 전에 대한상공회의소 자격평가사업단 공지를 꼭 확인하세요. 시험 정보 요약은 컴활 1급 시험 정보와 컴활 2급 시험 정보에, 올해 일정은 2026년 컴활 시험 일정에 정리해 두었습니다. 필기 합격의 유효 기간과 자격증 활용은 컴활 자격증 유효기간과 활용에서 따로 다룹니다.

필기와 실기는 공부 방식이 다르다

필기는 보기 네 개 중 하나를 고르는 객관식이고, 실기는 엑셀과 액세스를 직접 조작해 결과 파일을 만드는 작업형입니다. 같은 VLOOKUP이라도 필기는 수식을 읽고 결과를 고를 수 있는지를 묻고, 실기는 빈 셀에 그 수식을 직접 써서 맞는 값을 만들어 낼 수 있는지를 봅니다. 눈으로 읽고 외우던 공부에서 손으로 반복하는 공부로 바뀌는 셈입니다. 기능을 안다는 것과 제한 시간 안에 그 기능을 끝까지 수행한다는 것도 다릅니다. 그래서 실기 준비는 처음부터 프로그램을 열어 놓고 해야 합니다.

1급과 2급 실기의 구성

구분과목시험 시간작업 범위
1급스프레드시트(엑셀), 데이터베이스(액세스)90분(과목별 45분)엑셀: 기본·계산·분석·기타 작업(VBA 포함) / 액세스: 테이블, 쿼리, 폼, 보고서, 매크로·모듈
2급스프레드시트(엑셀)40분기본·계산·분석·기타 작업(매크로 기록, 차트)

2급은 엑셀 한 과목이고 VBA 코드를 직접 짜는 문제는 나오지 않지만, 기타 작업에서 매크로를 기록해 단추에 연결하는 작업과 차트 수정은 나옵니다. "2급은 매크로가 없다"는 말을 믿고 건너뛰면 그 배점을 통째로 잃습니다. 1급은 엑셀에 VBA로 폼과 이벤트를 다루는 문제가 더해지고, 액세스 한 과목이 통째로 추가됩니다. 합격 기준은 100점 만점에 70점 이상이며, 대한상공회의소 종목 안내에 따르면 1급은 두 과목 모두 70점 이상이어야 합니다. 실기 프로그램은 MS 오피스 LTSC Professional Plus 2021(2급은 LTSC Standard 2021도 가능)이고, 시험 중 윈도우 계산기와 메모장은 쓸 수 없습니다. 1급과 2급 중 어느 쪽에 도전할지 고민 중이라면 컴활 1급과 2급 비교를 먼저 보세요.

엑셀 작업 유형별 준비

기본 작업: 지시를 빠짐없이 따르는 연습

셀 서식, 조건부 서식, 고급 필터, 페이지 설정, 시트 보호 같은 작업이 나옵니다. 기능 자체는 어렵지 않지만 지시 사항이 여러 개 겹쳐 있어 하나를 빠뜨리기 쉽습니다. 글꼴, 테두리, 표시 형식처럼 눈에 덜 띄는 조건에도 배점이 걸려 있는 경우가 많으므로, 문제지의 조건을 하나씩 체크하면서 작업하는 습관을 들이세요. 가장 확실하게 점수를 챙길 수 있는 영역이라 여기서는 감점이 없도록 하는 것이 목표입니다. 조건부 서식에서 =MOD(ROW(), 2)=0이나 =$C3>=80처럼 열만 고정하는 혼합 참조는 필기에서 익힌 내용이 그대로 쓰입니다.

계산 작업: 필기 함수를 직접 써 보는 단계

함수식을 직접 입력해 표를 채우는 작업입니다. 자주 연습할 함수로는 VLOOKUP, INDEX와 MATCH, SUMPRODUCT, DSUM 같은 D 함수, COUNTIF와 SUMIF 계열, 날짜 함수(YEAR, MONTH, DATE, WEEKDAY), 문자열 함수(LEFT, RIGHT, MID), 조건 함수(IF, IFS, CHOOSE, SWITCH)가 꼽힙니다. 1급에서는 배열 수식과 사용자 정의 함수도 나옵니다. 사용자 정의 함수는 VBA 편집기에서 모듈을 추가하고 다음과 같은 골격으로 작성합니다.

Public Function fn비고(점수)
  If 점수 >= 80 Then
    fn비고 = "우수"
  Else
    fn비고 = ""
  End If
End Function

함수 이름에 결과값을 대입하는 줄이 반드시 있어야 값이 돌아온다는 점, 그리고 시트에서는 =fn비고(D3)처럼 일반 함수와 똑같이 호출한다는 점만 기억하면 나머지는 If나 Select Case로 조건을 나누는 연습입니다. 함수별 동작과 필기 기출에서 자주 나온 조합은 기출에 나온 스프레드시트 함수에 정리했습니다.

분석 작업과 기타 작업

분석 작업에는 피벗 테이블, 데이터 표, 시나리오, 목표값 찾기, 부분합, 데이터 통합 같은 기능이 나옵니다. 메뉴 위치와 대화 상자 입력 순서를 손에 익히는 것이 전부라 반복한 만큼 빨라집니다. 기타 작업에는 매크로 기록과 차트 수정이 나오며, 1급에서는 VBA로 사용자 폼을 다루는 문제가 더해집니다. 엑셀 VBA에서 가장 자주 보이는 형태는 폼을 열 때 콤보 상자 목록을 채우고, 등록 단추를 누르면 입력값을 표의 다음 빈 행에 넣는 구조입니다.

Private Sub UserForm_Initialize()
  cmb지역.RowSource = "H4:H8"
End Sub

Private Sub cmd등록_Click()
  i = Range("A3").CurrentRegion.Rows.Count + 3
  Cells(i, 1) = cmb지역.Value
  Cells(i, 2) = txt수량.Value
End Sub

Private Sub cmd종료_Click()
  Unload Me
End Sub

다음 빈 행을 구하는 줄이 핵심입니다. 표의 제목 행이 3행에 있다면 CurrentRegion.Rows.Count는 제목 한 줄과 데이터 n줄을 합친 n+1이고, 다음 빈 행은 3+n+1이므로 Rows.Count에 3을 더하면 됩니다. 표가 시작하는 행이 바뀌면 더하는 숫자도 그 행 번호로 바꿔야 합니다. 이 원리를 이해해 두면 표 위치가 달라도 당황하지 않습니다.

액세스 작업 유형별 준비 (1급)

엑셀은 평소에 써 본 경험이라도 있지만 액세스는 처음인 경우가 많습니다. 다행히 액세스 실기는 작업 유형이 비교적 정해져 있어서, 유형별 절차를 몇 번씩 반복하면 오히려 점수가 안정적으로 나오는 과목입니다.

작업내용체감 난이도
DB 구축테이블 생성, 필드 속성, 기본키, 관계 설정하
입력·수정폼을 통한 데이터 입력, 콤보 상자 등 컨트롤 속성중
조회·쿼리선택·매개 변수·요약·크로스탭·실행 쿼리 작성중상
보고서그룹화, 정렬, 집계, 페이지 번호와 설정중
처리 기능매크로, 이벤트 프로시저(VBA)상

쿼리는 실수가 잦은 영역입니다. 매개 변수 쿼리는 조건 칸에 [조회할 거래처를 입력하세요]처럼 대괄호로 입력 문구를 넣는데, 문구가 문제와 한 글자라도 다르면 인정받지 못할 수 있습니다. 요약 쿼리는 묶는 기준 필드에 "묶는 방법", 계산할 필드에 합계나 개수를 지정하는데, 이 둘을 바꾸면 결과가 완전히 달라집니다. 업데이트·추가·삭제 같은 실행 쿼리는 한 번 실행하면 테이블 데이터가 바뀌므로, 실행 전에 조건을 확인하고 여러 번 실행하지 않도록 주의합니다.

폼에서는 하위 폼의 기본 필드 연결과 하위 필드 연결을 빼먹는 실수가 흔하고, 콤보 상자는 행 원본, 바운드 열, 열 개수, 열 너비를 문제 지시대로 맞춰야 합니다. 보고서는 그룹 머리글·바닥글 표시, 정렬 순서, 누적 합계 속성, =[Page] & "/" & [Pages] 같은 페이지 번호 식이 반복해서 나옵니다. 이 개념들은 필기 데이터베이스 일반의 폼·보고서 단원과 겹치므로 컴활 1급 데이터베이스 일반 가이드를 함께 보면 정리가 빠릅니다.

액세스 이벤트 프로시저 패턴

처리 기능 문제는 단추를 눌렀을 때 실행할 코드를 작성하거나 빈칸을 채우는 형태가 많습니다. 처음 보면 겁이 나지만 자주 쓰는 골격은 몇 가지로 정리됩니다. 아래 코드를 직접 몇 번 따라 쳐 보면 인수 자리와 따옴표 위치가 손에 붙습니다.

폼과 보고서 열기, 닫기

Private Sub cmd열기_Click()
  DoCmd.OpenForm "회원관리"
End Sub

Private Sub cmd출력_Click()
  DoCmd.OpenReport "매출보고서", acViewPreview, , "거래처명 = '" & cmb거래처 & "'"
End Sub

Private Sub cmd닫기_Click()
  DoCmd.Close
End Sub

OpenReport의 인수는 보고서 이름, 보기 방식, 필터 이름, 조건 순서입니다. 필터 이름은 거의 쓰지 않아 쉼표만 두고 비워 두며, 네 번째 자리에 조건을 넣으면 선택한 거래처만 미리보기로 열립니다. acViewPreview는 미리보기, acViewNormal은 바로 인쇄입니다.

폼에 필터 걸기

Private Sub cmd조회_Click()
  Me.Filter = "부서코드 = '" & cmb조회 & "'"
  Me.FilterOn = True
End Sub

Me는 지금 코드가 들어 있는 폼 자신입니다. 핵심은 문자열을 이어 붙일 때 따옴표 처리입니다. 문자 필드는 값 양쪽에 작은따옴표를 붙이고, 숫자 필드는 "부서번호 = " & cmb조회처럼 따옴표 없이 잇습니다. Filter를 정한 뒤 FilterOn을 True로 바꿔야 실제로 걸러진다는 점도 빈칸으로 자주 나옵니다.

레코드 이동과 새 레코드

Private Sub cmd다음_Click()
  DoCmd.GoToRecord , , acNext
End Sub

Private Sub cmd신규_Click()
  DoCmd.GoToRecord , , acNewRec
End Sub

GoToRecord의 인수는 개체 종류, 개체 이름, 이동 방식인데, 현재 폼에서 움직일 때는 앞의 두 개를 비우므로 쉼표 두 개가 먼저 옵니다. 이전 레코드는 acPrevious, 처음과 마지막은 acFirst와 acLast입니다. 폼을 처음부터 새 레코드 입력 상태로 열고 싶다면 DoCmd.OpenForm "회원입력", , , , acFormAdd처럼 다섯 번째 인수(데이터 모드)를 씁니다. 폼 이름 뒤 쉼표 네 개는 보기 방식, 필터 이름, 조건 세 자리를 비워 두었다는 뜻입니다.

메시지 상자와 확인

Private Sub cmd종료_Click()
  Dim 응답 As Integer
  If IsNull(Me.txt이름) Then
    MsgBox "이름을 입력하세요.", vbCritical, "오류"
    Exit Sub
  End If
  응답 = MsgBox("저장하고 종료할까요?", vbYesNo + vbQuestion, "확인")
  If 응답 = vbYes Then
    DoCmd.RunCommand acCmdSaveRecord
  End If
  DoCmd.Close
End Sub

IsNull로 빈 값을 검사하고, MsgBox의 두 번째 인수에 단추와 아이콘 상수를 더해서 넣습니다. vbYesNo는 예·아니요 단추, vbCritical·vbQuestion·vbInformation은 아이콘입니다. 사용자의 선택을 받아야 할 때는 MsgBox를 괄호와 함께 함수처럼 쓰고 결과를 vbYes와 비교합니다. DoCmd.RunCommand acCmdSaveRecord는 현재 레코드를 저장합니다.

정리하면 Me는 현재 폼, DoCmd는 액세스의 동작 실행, RunCommand는 메뉴 명령 실행이라는 세 가지 뼈대 위에 상수 이름 몇 개가 얹히는 구조입니다. 이벤트도 중요합니다. 단추는 Click, 폼이 레코드를 옮길 때는 Current, 폼이 처음 열릴 때는 Load 이벤트에 코드를 넣는데, 문제에서 지정한 이벤트가 아닌 곳에 넣으면 코드가 맞아도 동작하지 않습니다.

채점 방식과 감점을 줄이는 법

실기는 큰 문제마다 배점이 있고, 한 문제 안에서도 세부 항목별로 점수가 나뉘는 구조로 알려져 있습니다. 함수식 하나를 틀렸다고 시트 전체가 0점이 되는 것이 아니라 그 항목의 점수만 잃는다는 뜻입니다. 다만 항목별 배점표는 공개되지 않으므로 "이 실수는 몇 점 감점"이라고 단정할 수는 없습니다. 채점은 셀이나 필드에 나온 결과값을 중심으로 이뤄지는 것으로 알려져 있어, 수식을 다르게 써도 결과가 같으면 인정되는 경우가 많습니다. 반대로 수식 구조가 맞아도 참조 실수로 값이 다르면 그 항목은 오답입니다. 문제에서 특정 함수를 쓰라고 지정했다면 그 지시는 지키는 것이 안전합니다. 컴활 실기의 채점 기준과 부분 점수 방식은 대한상공회의소 공개 자료에서 확인하지 못했습니다. 같은 시행처의 다른 종목(경영정보시각화능력) FAQ에는 지시사항과 다른 방법으로 풀면 결과가 같아도 오답 처리한다고 적혀 있으니, 컴활에서도 지시를 그대로 따르는 쪽을 기본으로 삼으세요.

실수 유형영향
함수식 표현 방식 차이(결과는 같음)대부분 정답 처리
셀 값·결과값 오류해당 항목만 감점
문자열 조건·캡션의 띄어쓰기·기호 불일치해당 항목 감점 가능
파일 저장 위치·이름 오류채점이 안 되어 전체를 잃을 위험
저장하지 못한 채 시간 종료채점 불가

가장 치명적인 실수는 함수 오타가 아니라 정해진 이름과 위치로 저장하지 않는 것입니다. 작업 중간중간 Ctrl+S로 저장하고, 액세스에서는 테이블·쿼리·폼·보고서처럼 개체마다 디자인 변경을 따로 저장해야 한다는 점을 잊지 마세요. 마지막 5분은 새 작업을 시작하기보다 저장 상태를 확인하는 데 남겨 두는 편이 낫습니다. 조회 조건, 보고서 제목, 캡션처럼 글자를 직접 입력하는 항목은 문제에 적힌 그대로 띄어쓰기와 기호까지 맞춰 씁니다.

준비 순서 제안

첫 주에는 엑셀 기본 작업과 분석 작업의 메뉴 위치를 익히고, 계산 작업 함수를 하루 몇 개씩 직접 입력해 봅니다. 둘째 주부터는 기출 문제 파일을 통째로 풀되, 처음에는 시간 제한 없이 끝까지 완성하는 것을 목표로 합니다. 같은 유형을 여러 회차에서 반복하면 작업 순서가 보이기 시작하고, 그때부터 실제 시험 시간에 맞춰 풉니다.

1급은 여기에 액세스를 더합니다. 처음 사흘은 테이블 구축과 폼 기본 작업, 그다음 나흘은 쿼리 종류별로 서너 문제씩 직접 작성, 이어서 보고서와 매크로, 마지막으로 이벤트 프로시저와 모의고사 통풀이 순서로 2주 정도를 잡으면 무리가 없습니다. VBA는 위 골격을 손으로 따라 쳐 본 뒤 빈칸 유형으로 확인하고, 마지막에는 코드를 보지 않고 처음부터 써 보는 순서로 익힙니다. 실기도 결국 같은 작업을 여러 번 해 본 사람이 빠르고 정확합니다. 하루에 몰아서 하기보다 매일 조금씩 프로그램을 열어 직접 작업하는 편이 시험장에서 손을 덜 망설이게 합니다.

출처: 대한상공회의소 컴퓨터활용능력 종목 안내, 대한상공회의소 FAQ(시험종목 및 시험문제) (2026-10-14 확인)

실기 전에 필기 함수와 액세스 개념을 기출로 다시 확인해 보세요

컴활 1급 시작하기 →컴활 2급 시작하기 →
← 목록으로 컴활 문제 풀러가기 →