컴활1급 문제풀이2017. 1. 14. 20:26

[계산작업 시트]

[문제 2] [표1]의 학년, 강의과목과 [표2]의 할인율표를 이용하여 [G3:G32] 영역에 수강료 할인율을 계산하여 표시하시오

▶ HLOOKUP, MATCH 함수 사용

1. 강의과목을 표에서 찾는다.                                       (내림차순이라 -1)    =MATCH(F3,A36:A37,-1)  

2. 할인율을 계산한다.                            (과목이랑 행수가 차이나므로 +1)     =HLOOKUP(E3,B35:D37,MATCH(F3,A36:A37,-1)+1)  

3. 절대/상대/혼합참조로 수정 후 채우기 핸들을 이용하여 [표1]을 채워준다.    =HLOOKUP(E3,$B$35:$D$37,MATCH(F3,$A$36:$A$37,-1)+1)

 

[문제 3] [표1]의 현재강의수와 전체강의수를 이용하여 [K2:K32] 영역에 진행률을 계산하여 다음과 같이 표시하시오

▶ '현재강의수/전체강의수'의 값이 0.8일 경우 : ▶▶▶▶▶▶▶▶80.0%

▶ '현재강의수/전체강의수'의 값이 0.55일 경우 : ▶▶▶▶▶55.0%

▶ '현재강의수/전체강의수'의 값이 오류일 경우 : 신생강의

▶ REPT, TEXT, IFERROR 함수 사용

1. 삼각형을 먼저 구한다.                      =REPT("▶",(H3/J3)*10)

2. 값을 %로 나타낸다.                         =TEXT(H3/J3,"0.0%")

3. 두 식을 연산자를 사용해 붙여준다.    =REPT("▶",(H3/J3)*10)&TEXT(H3/J3,"0.0%")

4. 오류일 경우의 값을 지정해준다.        =IFERROR(REPT("▶",(H3/J3)*10)&TEXT(H3/J3,"0.0%"),"신생강의")

 

[문제 4] 사용자 정의 함수 'fn비고'를 작성하여 [표1]의 [L3:L32] 영역에 비고를 계산하여 표시하시오

▶ '수강인원/현재강의수'가 20 이상이면 "강의증설", 5 이하이면 "강의폐강", 그외에는 공백으로 표시하시오

▶ SELECT CASE 문 이용

1. 기본 구문을 작성한다.                          Public Function fn비고(현재강의수, 수강인원)

                                                           End Function

2. 기본 구문 사이에 조건문을 작성한다.     Select Case 수강인원 / 현재강의수

                                                           Case Is >= 20

                                                           fn비고 = "강의증설"

                                                           Case Is <= 5

                                                           fn비고 = "강의폐강"

                                                           Case Else

                                                           fn비고 = ""

                                                           End Select

3. 비고에 'fn비고' 함수를 사용하여 답을 구하고 채우기 핸들을 이용하여 [표1]을 채워준다.

 

[문제 5] [표1]의 강사명, 강의과목, 전체강의수를 이용하여 [표3]의 [G36:J38] 영역에 과목별 전체강의수별 강사명을 계산하여 표시하시오

▶ [표3]의 순위는 전체강의수가 많은 순으로 지정됨

▶ INDEX, MATCH, LARGE 함수를 적용한 배열 수식 사용

1. 과목별 전체강의수 순위를 구한다.     =LARGE((F3:F32=G35)*J3:J32,F36)

2. MATCH로 값의 위치를 구한다.         =MATCH(LARGE((F3:F32=G35)*J3:J32,F36),(F3:F32=G35)*J3:J32,0)

3. 찾은 값으로 강사명을 구한다.          =INDEX(D3:D32,MATCH(LARGE((F3:F32=G35)*J3:J32,F36),(F3:F32=G35)*J3:J32,0))

4. 절대/상대/혼합참조로 수정 후 채우기 핸들을 이용하여 [표3]을 채워준다.

    =INDEX($D$3:$D$32,MATCH(LARGE(($F$3:$F$32=G$35)*$J$3:$J$32,$F36),($F$3:$F$32=G$35)*$J$3:$J$32,0))

 

[기타작업 시트]

[문제 2-3] 종료 버튼을 클릭하면 현재 작업하는 시트의 [F2]셀에 시간을 제외한 현재 날짜를 입력한 후 폼을 종료하는 프로시저를 작성하시오

1. [F2]셀에 현재날짜를 입력하는 식을 작성한다.      [F2] = DATE

2. 폼을 종료하는 식을 작성한다.                              Unload Me

Posted by 엘세레네