시무자동화 & 컴퓨터 활용능력 1급/컴활유형 1회차

유형 10회 오답노트 - 1회차(61/76)

유혁스쿨 2021. 7. 23. 17:30
728x90
반응형

액셀 : 61점
틀린문제 : 2-4, 3-1, 4-3(2) 11점
실수한문제 : 1-2, 4-2(2) 10점
못푼문제 : 2-1, 2-3, 2-5 18점
버리는문제 : 4-3(3) 5점

[문제]1-2 : 문제를 정확히 안읽음 글꼴색이 아니라 채우기색이 표준-색-주황

[문제]2-1
오답 :=IFERROR(AVERAGE(IF($D$4:$D$28=M$5,$H$4:$H$28>=90,$H$4:$H$28)),"해당없음")
정답 : =IFERROR(AVERAGE(IF(($D$4:$D$28=M$5)*($H$4:$H$28>=90),$H$4:$H$28)),"해당없음")
풀이 :
Average,If 배열수식에서는 조건이 두개라면 각 조건을 괄호로 묶고 * 곱하기 해 줘야한다.
조건의 곱하기와 쉼표를 자꾸 햇갈리는데 조건이 AND로 AND로 2개 이상이면 *이고
OR로 2개 이상이면 +를 해줘야한다.
내가 햇갈린 이유는 SUM 배열수식은 조건과 구할범위를 * 곱해줘야하는데 SUM, IF 배열수식은 조건, 구할범위로 구분하기 때문에 계속 햇갈리는것 같다. SUM, IF의 조건이 AND로 2개 이상이면 *이고 OR로 2개 이상이면 +이다.
[문제]2-1
오답 :=INDEX($C$4:$C$28,(MATCH(($D$4:$D$28=M5)*(MAX($F$4:$F$28)),0),($D$4:$D$28=M5)*(MAX($F$4:$F$28))
정답 : =IFERROR(AVERAGE(IF(($D$4:$D$28=M$5)*($H$4:$H$28>=90),$H$4:$H$28)),"해당없음")
풀이 :
index(구할범위,(match(max((조건1)*(조건2)),(조건1)*(조건2),0)
인데... match((조건1)*(조건2:max),k),(조건1)*(조건2:max))
이렇게해버림...
언제쯤 외워지냐; 공식을 외운다고 외워지는게아니라 반복해서 계속풀어봐야 머리에 익혀질텐데..


[문제]2-4 : VBA에서 IF문으로 비교구문을 사용할때 여러 항목이 같은 비교값을 가진다면 아래의 예시와 같이
영어 >= 80 And 논술 >= 80 And 상식 >= 80 즉, 비교연산자와 And나 Or을 함께 사용한다면 항목별로 비교해주고 And로 각각을 구분지어 줘야 한다.
영어And논술And상식 >=80 과 같이 항목을 And로 미리 묶은후 통합하여 비교연산자를 한번에 사용할 수 없다.

[문제]4-2(2) : 조건부서식 문제인데 이것도 문제를 정확히 안읽음 문제상의 범위는 [H3:I32]인데 [H3:H32]로 지정해버림.

[문제]4-2(3) :

오답 : MsgBox ("전체 학생수는" & Count학번 & "명입니다.")
정답 : MsgBox ("전체 학생수는" & [B2].CurrentRegion.Rows.Count - 1 & "명입니다.")

<풀이>
[B2].CurrentRegion.Rows.Count - 1 의 뜻은 B2셀을 기준 행의 갯수에서 1을 뺀다는 뜻이다.
[X?].CurrentRegion.Rows.Count 현재지역.행.갯수
다시말해 현재 지역인 [X?]필드를 기준으로 행의 갯수 에서 -1을 뺀다는 뜻이다.
필드값을 포함하지않고 이름필드를 기준으로 행의 수를 계산하는것이다.
학번인 C2로 해도된다. [C2].CurrentRegion.Rows.Count - 1 이렇게!
아래 참고
https://nuknukhan.tistory.com/71

엑셀 VBA CurrentRegion 속성 기존 데이터 영역에 연속해서 데이터 추가하는 프로시저

컴활 1급 엑셀 기출 문제 중에는 기존 데이터 영역에 연속해서 데이터를 추가하는 프로시저를 작성하라는 문제가 나옵니다. 기존 데이터 영역 마지막 행 다음에 연속해서 데이터를 추가하기 위

nuknukhan.tistory.com


액세스 : 76점

문제 1-2(2)

오답 : >L-001;0;
정답 : >L-000
<풀이>
지문상에서 -기호 1개와 숫자 3개를 반드시 포함되어 입력되도록 설정하라고 되어있었는데
포함하여 저장하라 와 햇갈렸다.
조금 꼼꼼하게 풀지 못한것같다
숫자형식도 000이라고 해야하는데 지문과 똑같이 001로 설정했다.
다음부터는 주의하자...
꼭 기억하기! 기호를 포함하여 저장할때는 ;0; 빈칸을 예를들어 #으로 보여지게 할때는 ;#
빈칸을 #으로 보여지게 하기위해서는 기호를 포함하여 저장하는 형식인 0;이 무조건 앞에 와야함


문제 2-1(3)

오답 : =Format(Date(),"yy/mm/dd AAAA")
정답 : =Format(Date(),"yy/mm/dd dddd")
<풀이>
aaa 혹은 aaaa는 요일을 한글로 출력하고 ddd혹은 dddd는 요일을 영어로 출력시킨다
dddd가 생각이 안나서 혹시 a의 대문자인가 하고 뻘짓했다...
꼭 기억하자...제발... 저번엔 맞았자나..

문제 2-2

지문 : <회원별주문현황> 폼의 'txt총수량' 컨트롤에는 현재 폼의 이름에 해당하는 허브주문현황 쿼리의 수량 합계가 표시되도록 설정하라.
정답 : =DSum("수량","허브주문현황","이름=txt이름")
<풀이>

DB함수는 ("찾아야 할 필드명","테이블or쿼리","조건")이며 조건 : "현재폼의 이름에 해당하는 " 따라서 조건은 이름을 비교하게 된다.
무슨이름? 현재 폼의 이름인 txt이름과 허브주문현황의 이름과 비교하는것!
https://u-it.tistory.com/entry/%EC%9C%A0%ED%98%95-7%ED%9A%8C-%EC%98%A4%EB%8B%B5%EB%85%B8%ED%8A%B8




문제 2-3

<풀이>
메시지 상자를 먼저 표시하고 보고서를 인쇄미리보기로 열어야 하는데
순서까지는 체크하지않고 호다닥 푸느라 거꾸로 설정했다.
품이열리고 메시지박스가열렸다.
너무아쉬운 문제다.


문제 3-2

지문 :
<회원별주문현황> 폼의 'txt고객ID' 컨트롤에 '고객ID'를 입력한 후 '조회'(cmd조회) 버튼을 클릭하면 다음과 같은 조회 기능을 수행하도록 이벤트 프로시저를 작성하시오.

오답 : Me.Filter = "고객ID = '" & txt고객ID & "'"
정답 : Me.Filter = "고객ID = '*" & txt고객ID & "*'"
<풀이>
지문에 포함 이라는 단어가 나오면 무조건 like '*" & 컨트롤명 & "*'


조회 프로시저 조건식 작성법
숫자 데이터
ㆍMe.Filter = "점수 =" & txt점수

문자 데이터
ㆍMe.Filter = "제품명 ='" & txt제품명 & "'"

날짜 데이터
ㆍMe.Filter = "날짜 = #" & txt날짜 & "#"

문자를 포함할 때
ㆍMe.Filter = "제품명 Like '*" & txt제품명 & "*'"

https://nuknukhan.tistory.com/69

access 필터 조건문 작성

ACCESS vba 필터 조건문 작성 컴활 1급 기출 문제에서 보면 조건을 사용해서 원하는 데이터만 추출 필터링하는 vba 프로시저를 작성하라는 문제가 나옵니다. ACCESS 에서는 조건을 넣어 데이터를 필터

nuknukhan.tistory.com

문제 4-4

지문 : 입고일자가 2020년 2월에서 3월까지 입고한 날짜를 조회하는 <입고날짜확인> 쿼리를 작성하라.
정답 : 조건 - BetWeen DateAdd("d",-1,"2020-02-02") And DataAdd("d",1,"2020-03-30")
<풀이>
BetWeen A And B 비교구문을 통해서 2020년 2월~3월 까지 조회를한다면
원래는 BetWeen "*-02-*" And "*-03-*" 이렇게 해도 되겠지만
굳이 DateAdd함수를 쓰란다
DateAdd("d",-1,"2020-02-02")는 2020년 2월 1일을 뜻하고 DateAdd("d",1,"2020-03-31")은 2020년 3월 31일을 뜻한다.
따라서 첫번째 인수의 d는 새번째 인수의 일 형식을 지정하는것이고 두번째인수의 -1은 세번째 인수의 일에서 -1 한다는 뜻이다.

Between DateAdd("d",1,"2020-01-31") And DateAdd("d",1,"2020-03-30")
이것도 정답이다!

Between DateAdd("m",1,"2020-01-01") And DateAdd("m",1,"2020-02-31")
이건 안된다!

728x90
반응형