본문 바로가기
컴퓨터/컴퓨터활용능력

[컴활] 컴퓨터활용능력 1급 실기 합격, 요약과 기출 총정리!

by sjblog 2019. 12. 28.
반응형

컴퓨터활용능력 1급 실기 공부하면서 요약하였던 기출문제와 해답을 간단하게 설명하여 정리해보겠습니다.

실험장에 들어가기 전에 가볍게 훑어보는 용도로도 좋습니다.

 

Microsoft 2010 Office 기준으로 작성되었습니다.

1. 목차

1) 스프레드 시트 실무 (엑셀) 45분

문제1. 긱본 작업 (25점)
문제2. 계산 작업 (30점)
문제3. 분석 작업 (20점)
문제4. 기타 작업 (25점)

2) 데이터베이스 실무 (액세스) 45

문제1. DB구축 (30점)
문제2. 입력 및 수정 기능 구현 (25점)
문제3. 조회 및 출력 기능 구현 (25점)
문제4. 처리 기능 구현 (20점)

 

2. 요약 내용

1) 스프레드 시트 실무 (엑셀)

 

문제1. DB구축 (30점)

 

[외부 데이터 가져오기]: 기타원본-Microsoft Query
     범위로 변환: 표-범위로 변환

[고급 필터]: 무조건 조건으로 시작하자, 고급필터 항목 지정 시 미리 써놓기
     mid()="1": left, right 함수는 문자열을 나타내므로 반드시 "" 필요
     DAYS360(시작일, 종료일): 날짜 구해줌

[조건부 서식]: 같지 않다: <>

[시트 보호]: 셀 서식, 차트영역 서식에서 지정 후 검토-시트보호

     기본적으로 모든 셀은 "잠금"되어 있으나, 시트보호를 하지 않은 상태이다.

[페이지 레이아웃]: 인쇄영역 추가, 페이지 설정

 

문제2. 계산 작업 (30점)

 

[함수인수상자]: Ctrl + A : 모르는 함수가 나왔을 때 함수 입력 후 함수인수상자를 열어 확인해보자

[자동채우기]: Ctrl + Enter

[배열 수식]: Ctrl + Shift + Enter
     =함수(IF(조건, 계산))
     =함수(IF((조건1)*(조건2), 계산))
     =함수((조건1)*(계산))
     =함수((조건1)*(조건2)*(계산))
     ex) =SUM(IF((조건1)*(조건2), 1))
     ex) =COUNTIFS(범위1, 조건1, 범위2, 조건2 ...): 특정 문자열 개수 세기
     =COUNTIFS(E4:E28, ">="&B41, E4:E28, "<=10")

배열수식에서 *는 and, +는 or

배열수식에서 and, or 쓰지 않는다.

[사용자 정의 함수]: 개발도구-VIsual Basic-삽입-모듈 또는 Alt + F11
     Select Case:
     Select Case 배기량
     Case Is <= 500
     과세표준 = 100
     Case Is <=1000
     과세표준 = 200
     End Select
     fn자동차세 = 배기량 * 과세표준

[추출하시오]: HLOOKUP은 오른쪽아래, VLOOKUP은 아래오른쪽, &"("&

[표시하시오]: INDEX, MATCH, MATCH의 1(기본값)은 오름차순, -1은 내림차순으로 범위가 나올 경우 사용

[기타 함수]:
     반복표시: =REPT("문자", k)
     등수: =RANK(해당셀, 범위)
     최대값: =MAX(범위)
     형식변환: =TEXT(셀, 문자형식)
     문자합침: =CONCATENATE(텍스트, 텍스트, 텍스트 ...)

답이 안나오면 숫자 및 문자 형식을 확인해보자. 셀엘 문자가 하나라도 있으면 그 셀은 문자형식으로 처리해주어야 한다. ("")

[요일]:

     금: aaa

     금요일: aaaa

     Fri: ddd

     Friday: dddd

[함수]:

=Date(year, month, day)

=Mod(나눠지는 수, 나눌 수)

=FV(이자율/12, 기간, 월불입액, ,0(월초) or 1(월말))

=Text(값, "포맷")

=Day360(처음, 끝) -> day수 계산

=Quotient(나눠지는 수, 나눌 수)

=Large(범위, 몇번째)

=Countif(범위, "노트북"(조건))

=Averageif(영역에, "노트북"(조건), 이곳의 평균)

=Averageifs(이곳의 평균, 영역에, "노트북"(조건)...)

=Find(찾는값, 포함된셀, 시작위치(생략가능)) -> 위치를 반환, 없으면 value 오류반환

=offset(기준, 행, 열, 행개수, 열개수

=Dsum(영역에, "노트북"(조건), 필드, 조건범위

 

문제3. 분석 작업 (20점)

 

[피벗 테이블 보고서]: 삽입-피벗 테이블, 보고서 필터, 행 레이블, 열 레이블, 그룹, 값 필드 설정, 디자인-보고서 레이아웃, 디자인-총합계

[계산필드 추가]: 피벗 테이블 도구-옵션-필드, 항목 및 집합-계산 필드

[상단 값 표시]: 피벗 테이블 도구-옵션-옵션-표시-값 행 표시

[매크로]: 개발도구-매크로 기록

[목표값 찾기]: 데이터-가상분석

[데이터 표]: 총점쓰고, 표블럭,행값열값

[부분합]: 오름차순 정렬-머리글 포함 부분합

[통합]: 통합후의 셀 클릭-통합-추가-첫 행, 왼쪽 열 체크

[시나리오]:

 

 

문제4. 기타 작업 (25점)

 

[차트]: 차트제목=C2, 차트는 설정에서 대부분 해결 가능

[차트에 클립아트 넣기]: Ctrl C, Ctrl V

[프로시저]: 개발도구-디자인 모드
     폼이 나타나도록: 판매내역입력.show
     폼이 초기화되면: Initialize 선택 UserForm_Initialize()
          cmb제품명.Additem "세탁기"
          cmb제품명.Additem "카세트"
          or
          cmb진료과목.RowSource = "I5:J8"
          lst대상입장료.RowSource = "J6:K8"

          or

          With cmb제품명

               .additem "세탁기"
     각 목록의 첫 번째 항목이 선택: lst대상입장료 = lst대상입장료.List(0,0)
     list가 선택되지 않으면: If IsNull(lst분야.Value) Then
     연속하여 추가: [표] 기준
          i = [b3].Row + [b3].CurrentRegion.Rows.Count
          Cells(i, 1) = cmb제품명.Column(0)
          Cells(i, 2) = Val(txt수량)
          Cells(i, 3) = Cells(i, 1) + Cells(i, 2)
          Cells(i, 4) = Format(txt금액, "#,##0원")
          txt수량 = "" (입력한 값을 삭제할 때)
     List 추가: [표] 기준
          ii = lst신고내용.Listindex
          i = [b3].Row + [b3].CurrentRegion.Rows.Count
          Cells(i, 2) = lst신고내용.List(ii, 0)
     체크박스를 Cells에 추가:
          If chk1주 = True Then
          Cells(i, 6) = chk1주.Caption
          End If
          If chk2주 = True Then
          Cells(i, 6) = Cells(i, 6) & chk2주.Caption
          End If
     닫기:
          MsgBox Now() & "폼을 종료합니다.",,"종료"
          Unload Me
          [A1].font.name = "궁서체"
          [A1].font.name = True

     세트(txt세트) 컨트롤로 포커스가 이동:

          txt세트.setfocus

     for 반복문:

          For 반복인수=1 to x

          내용

          Exit For

          Next 반복인수

          or

          For each 요소 in group

          요소>=60

          Next 요소

     워크시트의 데이터가 변경되면:

          Worksheet-change

          Target.activate

          Target.font.name="굴림"

          Target.font.size=15

     기타: 프로시저에서,

          "'기타작업-1'!A1:A10"

          "내용" & txt이름 & "내용" (띄어쓰기 반드시해야함)

          format(내용,"#,###")

          Listindex: 선택한 데이터의 위치를 가져온다.

 

 

2) 데이터베이스 실무 (액세스)

 

문제1. DB구축 (30점)

 

[테이블 완성]:
     기본키: 디자인-기본키
     입력 마스크: L, A, a, 0, 9 #, >(대문자), <(소문자)
          필수: 0 (숫자), L (영문자), A (영문자&숫자)
          선택: 9 (숫자), ? (영문자), a (영문자&숫자)
               ex) >L0000
               ex) password
               ex) "MA-"00
               ex) 000-000;;#
     반드시 입력: 일반-필수-예
     유효성 검사규칙:
          ex) >=0 and <=10
          ex) "서울" or "대구" or "대전"
          ex) In("계약직", "정규직")
          포함:
          ex) Like "*봉*"

          ex) Len([거래처])=3
          유효성 검사결과 다른값이 입력될 경우:
               유효성 검사 텍스트-표시할 텍스트 입력
     중복된 값: 일반-인덱스-예
     기본값: 일반-기본값
          ex) Date()
          ex) Now()
     영숫자 반자: 일반-IME모드
     2가지 값만 입력: 데이터 형식-Yes/No
     공백 문자가 입력되지 않도록: instr(문자열, 문자): 문자열에 지정된 문자의 개수 반환
          ex) instr("선수코드", " ") = 0

          ex) not like "* *"

     필드 이름을 변경하지 않고 표시되도록: 캡션

[외부 데이터 가져오기]

[조회 속성]:
     콤보 상자 형태: 조회-컨트롤 표시-콤보 상자-행 원본 확장
     열 개수: 조회-열 개수-3
     바운드 열: 조회-바운드 열-1
     목록 값만 허용: 조회-목록 값만 허용-예
     열 너비: 조회-열 너비-0;6;2
     목록 너비: 조회-목록 너비-10
     콤보 상자이지만 표시되지 않도록: 조회-목록 너비-ex) 0;3

[테이블 간의 관계를 설정]: 데이터베이스 도구-관계

[100 이하의 숫자가 입력될 수 있도록]: 필드 크기-바이트

          바이트: 0~255 (1바이트)
          정수: -32,768~32,767 (2바이트)

          정수(Long): -2,147,483,648~2,147,483,647 (4바이트)

          실수(Single): -3.4 x 10^38~3.4 x 10^38 (8바이트)

          실수(Double):-1,797 x 10^38

 

문제2. 입력 및 수정 기능 구현 (25점)

 

[폼 지시사항]:
     기본 보기: 속성-형식-기본 보기-연속 폼
     필드의 내용 표시: 속성-데이터-컨트롤 원본
          체크 표시에 따라: ex) =IIF([음성인식] = True, "적용", "미적용")
          총 합계: ex) =sum([금액])
                        ex) =format("총 판매량의 합계 " & Sum([판매량]) & "원")
                        ex) =DLookUp("제품명", "제품정보", "제품코드=cmb제품코드")
                             DLookUp("찾아야할필드", "테이블", "조건")
                        ex) DSum("필드", "테이블 또는 쿼리", "조건")

          [기타]: string(2,"▼"): 문자를 반복표시한다.

                    Int(2.6): 소수부분을 삭제하고 정수만을 표시한다.

     데이터 편집 할 수 없도록: 속성-데이터-편집 가능-아니요
     구분 선, 레코드 선택기: 속성-형식-구분 선-아니요, 속성-형식-레코드 선택기-아니요
     형식 속성: 속성-형식-통화
          날짜 연도만 표시 형식: yyyy"년"-"@@월"-"@@일"

          천 단위마다 콤마 표시할 것: #,###
     오름차순 정렬: 속성-데이터-정렬 기준-업체명 Asc (Desc)
     탭순서: 폼 디자인 도구-디자인-탭순서
     포커스 이동x: 속성-기타-탭정지-아니요
     탐색 단추 표시x: 속성-형식-탐색 단추-아니요
     그림을 삽입: 폼 디자인 도구-디자인-이미지 삽입
     그림 크기 조절 모드: 속성-형식-크기 조절 모드-전체 확대/축소
     기본 폼과 하위 폼의 연결 필드: 하위폼/하위 보고서 클릭-속성-데이터-기본 필드 연결, 하위 필드 연결

     다른 작업을 수행할 수 없도록: 속성-형식-모달-예

[컨트롤 설정]:
     콤보 상자 형태: 우클릭-변경-콤보 상자, 속성-데이터-행 원본 확장, 속성-형식-열 개수-3
     필드에는 ''가 저장되도록: 속성-데이터-바운드 열-1
     열 너비, 목록 너비: 속성-형식-열 너비-2;2;1, 속성-형식-목록 너비-6
     열 이름 표시: 속성-형식-열 이름-예
     Enter 키: 속성-기타-<Enter> 키 기능-필드에서 줄 바꿈
     폼에 레코드 추가 삭제: 속성-데이터-추가 가능-아니요, 속성-데이터-삭제 가능-아니요

[단추 컨트롤 생성]: 폼 디자인 도구-디자인-단추, 기본 단추와 같이 선택-정렬-크기/공간, 정렬-맞춤

[매크로]: 만들기-매크로-OpenReport-속성-이벤트-On Click-매크로명

[조건부 서식]: 폼 디자인 도구-형식-조건부 서식-새 규칙-식이-[업체구분]="계약직"

[이벤트 프로시저]: Docmd.close acForm,
     Docmd.openform "폼이름", 보기형식, 필터이름, 조건
     Docmd.close 개체종류, "개체이름", 저장여부
          개체종류: ex) acform (폼닫기), acmacro(매크로닫기)

     txt학생 = cmb학교.column(1)

     Docmd.runcommand acCmdDeleteRecord

     Docmd.Requery

[하위폼]: 폼 디자인 도구-디자인-컨트롤-하위 폼/하위 보고서

[조건부서식]: 컨트롤선택-형식-조건부서식

     식이: [필드]="내용" and [필드]="내용"

 

문제3. 조회 및 출력 기능 구현 (25점)

 

[보고서 완성]:
     보고서 제목: 속성-기타-이름-lbl제목, 속성-형식-글꼴 이름
     컨트롤 원본 속성:
          ex) 속성-데이터-컨트롤 원본-=[성명] & "(" & [전화번호] & ")"
          ex) 속성-데이터-컨트롤 원본-=count(*) & "건"
          ex) 속성-데이터-컨트롤 원본-="[" & [업체구분] & "] [" & count(*) & "개"

          ex) 속성-데이터-컨트롤 원본-=format(now(), "yy년 mm월 dd일 hh시 nn분 ss초 ampm")

          =switch([점수]>=80, "우수", [점수]>=60, "보통")
     형식 속성: 속성-형식-yyyy년 mm월 dd일
     중복된 값: 속성-형식-중복 내용 숨기기-예
     정렬 기준: 보고서 디자인 도구-디자인-그룹화 및 정렬-정렬 추가
     반복 출력: 형식-반복 실행 구역-예
     페이지 표시: 속성-데잉터-컨트롤 원본-=[page] & " / " & [pages] & "Page"
     그룹별로 일련번호 표시: 속성-데이터-컨트롤 원본-=1, 속성-데이터-누적 합계-그룹
     서로 다른 페이지에 출력: 속성-형식-페이지 바꿈-구역 후
     평균: avg([총점]) average x

[이벤트 프로시저]:
     Filter, FilterOn: 속성-이벤트-On Click-확장-코드 작성기, 문제에 따라 Filter 또는 me.filter를 사용
          me.filter = "제품명 = '" & txt조회 & "'"
          me.filterOn = True

     조건이 날짜인 경우: "날짜 = #" & txt날짜 & "#"
               ex) me.filter = "고객ID like '*" txt고객ID & "*'"

               ex) me.filter = "month(날짜) = month(#" & txt날짜 & "#)"
     미리 보기 출력: 속성-이벤트-On Click-확장-코드 작성기
          Docmd.OpenReport "회원별주문내역", acViewPreview,, "제품명 = '" & txt조회 & "'"
     Docmd.Applyfilter: Docmd.Applyfilter, 조건
     Me.RecordsetClone.findfirst: Me.Bookmark = Me.RecordsetClone.Bookmark
     Me.RecordSource: Me.RecordSource = "Select * From 개체명 Where 조건식"

     [탭정지]: txt날짜.TabStop =False

[매크로]: 만들기-매크로-OpenForm, OpenReport
     ApplyFilter: Where 조건문: [제품코드] = [Forms]![판매현황]![cmb제품코드]      OpenReport: Where 조건문: Month([판매일자]) = Month([Forms]![판매현황]![판매정보]![txt판매일자])
          조건은 직접 작성해도 되지만, Where줄 오른쪽의 버튼을 사용하는 것이 편하다.

     ExportWithFormatting: 엑셀파일로 내보낼 때 사용

 

문제4. 처리 기능 구현 (20점)

 

[매개 변수 쿼리]: 만들기-쿼리 디자인
     매개 변수 값 입력: 조건-Like "*" & [주소의 일부를 입력하세요] & "*"
     표시하지 않을 때: 표시-체크해제
     조건: 조건-"계약직"
     테이블 생성: 쿼리 도구-디자인-테이블 만들기
     나이기준 오름차순, 같을 경우 프리기준 내림차순: 필드 두개 추가하여 표시x

[업데이트 쿼리]: 만들기-쿼리 디자인, 쿼리 도구-디자인-업데이트
     ex) DateDiff("형식", 시작일, 나중일)

[크로스탭 쿼리]: 쿼리 마법사 (이미 존재하는 쿼리 이용: 보기-쿼리)
     크로스탭-행 머리글, 열 머리글, 행 머리글, 값
     구매월:Month([구매일자]) & "월" 

[불일치 쿼리]: 쿼리 마법사
     방법1: 없는 쪽 필드 추가-표시해체-조건-Is Null-선 더블클릭-2:
     방법2: 조건-Not In(Select 학번 From 취업추천)

[추가 쿼리]: 만들기-쿼리 디자인-추가

[이벤트 프로시저]: 속성-이벤트-On Dbl Click-코드 작성기
     If txt금액 >= 100000 Then
          Msgbobx "10% 할인 대상", vbOKOnly, "이벤트"
     End If

[종료]:

     이벤트 프로시저
     Dim a
     a = MsgBox("폼을 정말로 종료하겠습니까?", vbYesNo, "종료")
     If a = vbYes Then
     Docmd.Close,,acSaveYes
     End If

     

     매크로

     MessageBox, CloseWindow 사용

반응형