책 내용 질문하기
기출유형6,7회/기출문제집/컴활1급 실기
도서
2021 시나공 기출문제집 컴퓨터활용능력 1급 실기
페이지
154
조회수
446
작성일
2021-04-15
작성자
탈퇴*원
첨부파일

6회 2-3

If Mid(제품명, Len(제품명) - 4, 3) * 1 >= 100 Then 

        For a = 1 To Mid(제품명, Len(제품명) - 4, 3) / 100

 

위 식에서 Mid(제품명, Len(제품명) - 4, 3) * 1 는 어떻게 나온 식인가요?

해설 부탁드립니다.

 

6회 4-2


제가 쓴 답

[>0]"남성";[<0]"여성";"공통";"반품" 

 

답지

"남성";"여성";"공통";"반품" 

 

둘다 같은 답이 나오는데 두개다 정답인가요?

 

7회 2-2

MATCH(F4*G4,$B$31:$E$31,1)+1)

위 식에서 왜 1을 더해주는 건가요? 

 

답변
2021-04-15 21:41:15

1. 제품명 중 첫번째에 있는 c3 셀의 값을 직접 넣어 계산해 보겠습니다.

c3 셀의 값 '건웅 로딘정 100mg'에서 LEN 함수를 이용하여 전체 글자수를 구하면 12이고,

여기에서 4를 빼면 8이 됩니다.

그럼 mid(제품명,8,3)이 되고, "건웅 로딘정 100mg"에서 8번째부터 3글자를 가져오면 100이 됩니다.

 

즉, 뒤에서 세글자만 불러오게 되는 거죠...

즉, len(제품명)-4를 하는 이유는 제품명에서 중간에 있는 숫자의 시작 위치를 구하기 위해 작성한 것입니다.

 

2. 결과가 정확히 나오면 정답으로 인정 됩니다. 

 

3. =MAX(H4*VLOOKUP(E4,$A$32:$E$36,MATCH(F4*G4,$B$31:$E$31,1)+1),100000)

 

MATCH 함수의 옵션

• -1 : 찾을값보다 크거나 같은 값 중 가장 작은 값을 찾습니다. 범위는 반드시 내림차순으로 정렬되어 있어야 합니다.

• 0 : 찾을값과 첫 번째로 정확하게 일치하는 값을 찾습니다. 범위는 정렬되어 있지 않아도 됩니다.

• 1 : 찾을값보다 작거나 같은 값 중에서 가장 큰 값을 찾습니다. 범위는 반드시 오름차순으로 정렬되어 있어야 합니다.

 

$B$31:$E$31 의 범위가 오름차순으로 정렬된 상태이기 때문에 1을 사용한 것입니다.  

 

 

vlookup에서 지정한 범위는 A열부터 시작인데

 

 

match 에서 지정한 범위는 b열 부터이기 때문에

 

 

vlookup의 범위를 맞춰 줄려면 +1 을 하여 사용하셔야 합니다.

 

 

match의 범위를 그대로 사용하여 1 이 나온 경우

 

 

vlookup의 b열에 해당하는 값을 가져오게 되므로 수강인원인 0 이 나올 수 있습니다.

 

 

그러므로 +1 을 수강인원이 18인 결과 3%를 가져오기위해 +1을 해주셔야 합니다.

 

=MAX(H4*VLOOKUP(E4,$A$32:$E$36,MATCH(F4*G4,$B$31:$E$31,1)+1),100000)

 

빨간색으로 표시한 식에서 나온 결과와, 100000의 결과중 큰값을 표시하게 되는 것입니다.

 

계산한 수당 금액이 100,000 미만이면 수당 대신 100,000을 입력

 

이라는 지시사항이 있기 때문에 이렇게 지정한 것이죠.

 

좋은 하루 되세요. 

  • 관리자
    2021-04-15 21:41:15

    1. 제품명 중 첫번째에 있는 c3 셀의 값을 직접 넣어 계산해 보겠습니다.

    c3 셀의 값 '건웅 로딘정 100mg'에서 LEN 함수를 이용하여 전체 글자수를 구하면 12이고,

    여기에서 4를 빼면 8이 됩니다.

    그럼 mid(제품명,8,3)이 되고, "건웅 로딘정 100mg"에서 8번째부터 3글자를 가져오면 100이 됩니다.

     

    즉, 뒤에서 세글자만 불러오게 되는 거죠...

    즉, len(제품명)-4를 하는 이유는 제품명에서 중간에 있는 숫자의 시작 위치를 구하기 위해 작성한 것입니다.

     

    2. 결과가 정확히 나오면 정답으로 인정 됩니다. 

     

    3. =MAX(H4*VLOOKUP(E4,$A$32:$E$36,MATCH(F4*G4,$B$31:$E$31,1)+1),100000)

     

    MATCH 함수의 옵션

    • -1 : 찾을값보다 크거나 같은 값 중 가장 작은 값을 찾습니다. 범위는 반드시 내림차순으로 정렬되어 있어야 합니다.

    • 0 : 찾을값과 첫 번째로 정확하게 일치하는 값을 찾습니다. 범위는 정렬되어 있지 않아도 됩니다.

    • 1 : 찾을값보다 작거나 같은 값 중에서 가장 큰 값을 찾습니다. 범위는 반드시 오름차순으로 정렬되어 있어야 합니다.

     

    $B$31:$E$31 의 범위가 오름차순으로 정렬된 상태이기 때문에 1을 사용한 것입니다.  

     

     

    vlookup에서 지정한 범위는 A열부터 시작인데

     

     

    match 에서 지정한 범위는 b열 부터이기 때문에

     

     

    vlookup의 범위를 맞춰 줄려면 +1 을 하여 사용하셔야 합니다.

     

     

    match의 범위를 그대로 사용하여 1 이 나온 경우

     

     

    vlookup의 b열에 해당하는 값을 가져오게 되므로 수강인원인 0 이 나올 수 있습니다.

     

     

    그러므로 +1 을 수강인원이 18인 결과 3%를 가져오기위해 +1을 해주셔야 합니다.

     

    =MAX(H4*VLOOKUP(E4,$A$32:$E$36,MATCH(F4*G4,$B$31:$E$31,1)+1),100000)

     

    빨간색으로 표시한 식에서 나온 결과와, 100000의 결과중 큰값을 표시하게 되는 것입니다.

     

    계산한 수당 금액이 100,000 미만이면 수당 대신 100,000을 입력

     

    이라는 지시사항이 있기 때문에 이렇게 지정한 것이죠.

     

    좋은 하루 되세요. 

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.