본문 바로가기

Cerificate/컴퓨터활용능력

[컴퓨터활용능력 1급 실기] 2022 시나공 기출문제집 #4 (기출유형 3회 풀이 및 핵심 정리)

728x90
반응형

 1. 스프레드시트 (엑셀)

  채점프로그램 사용 시 계속 오류가 발생하여 온라인 사이트를 이용하고 있다. 무슨 프로시저 실행 오류라고 하는데... 그런데 이번에 사이트에서도 채점이 안되네 ;;

 

채점 불가

 

1) 기본작업

(1) 조건부 서식

=AND(LEFT($B3,1)=1,$D3<>"민상주")

하.... 저 1을 문자로 취급했어야 하는데...

저 1을 쌍따옴표로 묶어주면 정답!

 

2) 계산작업

(1) 사용자 정의 함수 (select문 이용)

Public Function fn비고(고객코드)

    Select Case Left(고객코드, 5)

        Case Left(고객코드, 5) = 1 Or Left(고객코드, 5) = 2 Or Left(고객코드, 5) = 3
            fn비고 = "우수고객"
        Case Left(고객코드, 5) = 4 Or Left(고객코드, 5) = 5 Or Left(고객코드, 5) = 6
            fn비고 = "신규고객"
         Case Else
             fn비고 = ""
    End Select

    
End Function

Left(고객코드, 5)로 쓰면 글자가 좌로부터 5개가 나온다.

따라서 mid함수로 수정해야 한다.

 

Public Function fn비고(고객코드)

    Select Case Mid(고객코드, 5, 1)

        Case 1 To 3
            fn비고 = "우수고객"
        Case 4 To 6
            fn비고 = "신규고객"
        Case Else
            fn비고 = ""
    End Select

    
End Function

 

 

select case로 특정값을 정의하고, 그것의 범위를 상세 기입해주면 되는 문제였다. 

 

(2) hlookup, match 함수 (고난이도)

=E3*HLOOKUP(E3,$E$23:$I$25,MATCH($C3,{"합정","신촌"},-1)+1,1)

- match함수에서 기타를 신촌으로 하는 이유?

- 셀값이 내림차순으로 정리되어 있는데 -1로 옵션을 지정하면, 찾는 값(이 경우, $C3)보다 크면서 최소인 값을 찾기 때문. (즉, 가나다 역순으로 합정 다음이 신촌이기 때문에 합정이면 1 (true), 합정이 아니면 2 (false)를 출력.)

 

- 1을 더해주는 이유?

- 셀값에 따라 1또는 2가 출력되는데 우리가 찾고자 하는 할인율은 2, 3번째 행에 위치하기 때문.

 

(3) sum, text 배열수식

=TEXT(SUM(($A24=$D$3:$D$20),$E$3:$E$20),"#,###원")

쉼표로 구분하는 것이 아니라 *을 사용했어야 함. (조건이 1개)

 

(4) index, max, match 배열수식 (고난이도)

=INDEX($A$3:$A$20,MATCH(MAX(($A27=$D$3:$D$20)*$G$3:$G$20),($A27=$D$3:$D$20)*$G$3:$G$20,0),1)

- index 첫 param : 찾고자 하는 셀 범위 (고객명)

- match 첫 param : 특정값 (특정 담당자 + max 미수금)

- match 두번째 param : 위에서 정한 특정값을 구할 범위 (특정 담당자 + 전체 미수금)

- index 마지막 param : 열 위치 (첫번째 열을 의미, 고객명이 있는 열) 

 

* param은 변수라는 뜻

 

(5) countifs 함수

=COUNTIFS($D$3:$D$20, "강석희",$E$3:$E$20,G$23)&"건"

- 강석희이고, 이하인 거래건수라는 2가지 조건을 만족해야함.

 

=COUNTIFS($D$3:$D$20, "강석희",$E$3:$E$20,"<="&I$23)&"건"

이하라는 조건을 표시할 때, 쌍따옴표 사용하고 & 연산자로 이어야 함.

 

 

3) 기타작업

 

(1) 초기 작업

Private Sub cmd고객관리_Click()

    고객관리.Show
    
End Sub

이게 왜 에러?

 

 

- 별도의 표가 제공되지 않은 상황에서 목록 상자에 데이터 추가 (additem 사용)

lst결제방식.additem "OO"

 

(2) 최후 작업

Private Sub cmd종료_Click()
    
    MsgBox Format(Now(), "yyyy년 mm월 dd일 aaa")
    Unload Me
    
End Sub

- 시간이 언급되지 않아 now가 아니라 date를 써도 될 듯

- 특정 위치에 넣어야 하므로 "[D2]= ~~" 이렇게 적어야 함.

- bold체 적용 : [D2].font.bold = true  

 

(3) 중간 작업

 

- 링크 참고


계산 문제 까다롭다...


2. 데이터베이스 (액세스)

시나공 채점 프로그램

 

시나공 채점 사이트

 

이번에도 결과가 다르다.

1) DB구축

 

(1) 입력마스크 

- 필수 문자 : L

- 필수 숫자 : 0

- 특수문자 저장 : 마지막에 ;0 추가

 

(2) 적절한 데이터 형식 (100이하 숫자 입력)

- 숫자, 필드 크기 - 바이트

 

2) 조회 및 출력 기능 구현

(1) 닫기 매크로 (매크로 이름 지정 X)

- closewindow

 

(2) 과목별 성적 조회 (DAVG 사용)

=DAvg("성적","과목별성적","과목명=txt과목명")

- 필드명, 레코드 위치 (테이블 or 쿼리명, 문제에서 언급됨), 조건 순으로 입력

 

 

3) 조회 및 출력 기능 구현

(1) switch 함수

=Switch([성적]>=90,"장학",[성적]>=80,"우등",[성적]<80,"")

이건 틀린 것일까?

 

4) 처리 기능 구현

(1) 업데이트 쿼리

- or은 애 들어갔지?

- [성적] +2 로 적어야 함.

728x90
반응형