책 내용 질문하기
2020시나공 컴활1급 실기 96페이지, 108페이지
도서
2020 시나공 기출문제집 컴퓨터활용능력 1급 실기 [기출문제집]
페이지
96
조회수
379
작성일
2020-03-19
작성자
탈퇴*원
첨부파일

p. 96

 

면접평균

 

= average(if( ($D$3:$D$34 = A38) * iferror( find("정보",$A$3:$A$34)>=1,false),$G$3:$G$34))

 

주황색 바탕 부분에 >=1을 해서 오류가 발생했으면 "FALSE"를 반환하고 그렇지 않으면 >=1의 결과로 "TRUE"를 반환을 한다고 하는데

>=1을 안해줘도 답은 똑같이 나오던데 안해줘도 상관없을까요? 

 

p. 108

 

문제 : [표1]의 담당자와 매출금액, 그리고 [표3]을 이용하여 [I3:I20] 영역에 대리점명과 매출금액에 따른 할인금액을 계산하여 표시하시오.

- 할인금액 = 매출금액 * 할인율

- 할인율은 [표3]을 참조하여 계산

- HLOOKUP, MATCH 함수 사용

 

[표3]

          E          F            G               H           I

 23  대리점명    -          25,000       60,000     90,000

 24   합정        2.5%        3.5%        4.5%        5.5%

 25   기타        2.0%        3.0%        4.0%        5.0%

 

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

        

질문 

 대리점명과 매출금액에 따른 할인금액을 계산인데 

 MATCH함수로 대리점명을 찾았습니다.

 꼭 그렇게 해야하는 이유가 무엇인가요?

 전체적으로 식 이해가 가지 않습니다.

답변
2020-03-20 13:01:39

1.

find 함수를 이용하여 "정보"를 찾아 그 위치를 표시하는데,

 

해당 셀에 "판매"가 있다면 그 시작 위치가 결과값으로 나왔겠죠?

 

그 위치값으로 가장 작은 값은 "정보"가 첫번째로 나오는 1이므로 1보다 크거나 같다면 "정보"라는 글자가 있는 것이 됩니다.

 

그러므로 '>=1'을 해준 것입니다. 그런데 만약 "정보"라는 글자가 없을 때는 find 함수는 오류가 발생합니다.

 

그러므로 iferrorr 함수를 이용하여 오류가 발생하는지 체크를 하는 것입니다.

 

오류가 발생했다면 이것은 "정보"라는 글자가 없는 것이고, 이것은 조건을 만족하지 않은 것이므로 'false'를 넣는 것입니다.

 

>=1 을 생략해도 정확한 결과가 나온다면 생략하셔도 됩니다.

 

괄호가 있든 없든 정확한 결과가 나오면 정답으로 인정 됩니다.

 

괄호는 함수의 시작과 끝, 먼저 계산되어야 하는 부분에 잘 사용해 주시구요.

 

나머지 부분에서는 사용자 편의에 따라 작성하시면 됩니다.

 

>=1 부분이 없어도 정확한 결과가 나온다면 사용하지 않아도 됩니다.

 

2.

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


MATCH(찾을 값, 범위, 옵션)
: 범위에서 옵션을 적용하여 찾을 값과 같은 데이터를 찾아 그 위치에 대한 일련번호를 반환하는 함수입니다.

옵션 -1
: 옵션을 -1로 지정하면 찾을 값이 없을 경우 '찾을 값' 보다 큰 값 중에서 가장 작은 값을 찾습니다. 이때 범위는 반드시 내림차순으로 정렬되어야 합니다.

 

{"합정", "신촌"}
: [표1]의 대리점명은 "신림, 신촌, 합정, 목동" 중 하나인데 [표3]의 대리점명은 "합정, 기타"입니다. 즉, 합정과 그 외의 대리점으로 구분하라는 의미이지요.

이런 경우 "합정"만 정확히 찾고 나머지는 모두 "기타"로 처리해야 하는데 "합정, 신촌, 신림, 목동, 기타"로 내림차순 정렬되므로 이 방법을 이용할 수 없습니다.

왜냐면, 내림차순이므로 '옵션'으로 -1을 사용해야하는데 "신림", "신촌", "목동"은 "기타"보다 크므로 "합정"으로 처리됩니다.

이런 경우, 별도로 찾을 데이터가 있는 범위를 만들어 주면 됩니다.
가장 큰 "합정"과 두 번째 큰 항목인 "신촌"을 두 번째로 하여 범위를 만들면 "합정"을 제외한 모든 과목은 "신촌"으로 처리됩니다. "신촌"이 "기타"역할을 하는 것이지요.
 
+1은

hlookup에 사용된 범위와 match 에서 사용된범위가 다르기 때문에

 

이것을 맞춰주기 위해서 +1 을 한 것입니다.

 

좋은 하루 보내세요.  

 

 

  • 관리자
    2020-03-20 13:01:39

    1.

    find 함수를 이용하여 "정보"를 찾아 그 위치를 표시하는데,

     

    해당 셀에 "판매"가 있다면 그 시작 위치가 결과값으로 나왔겠죠?

     

    그 위치값으로 가장 작은 값은 "정보"가 첫번째로 나오는 1이므로 1보다 크거나 같다면 "정보"라는 글자가 있는 것이 됩니다.

     

    그러므로 '>=1'을 해준 것입니다. 그런데 만약 "정보"라는 글자가 없을 때는 find 함수는 오류가 발생합니다.

     

    그러므로 iferrorr 함수를 이용하여 오류가 발생하는지 체크를 하는 것입니다.

     

    오류가 발생했다면 이것은 "정보"라는 글자가 없는 것이고, 이것은 조건을 만족하지 않은 것이므로 'false'를 넣는 것입니다.

     

    >=1 을 생략해도 정확한 결과가 나온다면 생략하셔도 됩니다.

     

    괄호가 있든 없든 정확한 결과가 나오면 정답으로 인정 됩니다.

     

    괄호는 함수의 시작과 끝, 먼저 계산되어야 하는 부분에 잘 사용해 주시구요.

     

    나머지 부분에서는 사용자 편의에 따라 작성하시면 됩니다.

     

    >=1 부분이 없어도 정확한 결과가 나온다면 사용하지 않아도 됩니다.

     

    2.

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


    MATCH(찾을 값, 범위, 옵션)
    : 범위에서 옵션을 적용하여 찾을 값과 같은 데이터를 찾아 그 위치에 대한 일련번호를 반환하는 함수입니다.

    옵션 -1
    : 옵션을 -1로 지정하면 찾을 값이 없을 경우 '찾을 값' 보다 큰 값 중에서 가장 작은 값을 찾습니다. 이때 범위는 반드시 내림차순으로 정렬되어야 합니다.

     

    {"합정", "신촌"}
    : [표1]의 대리점명은 "신림, 신촌, 합정, 목동" 중 하나인데 [표3]의 대리점명은 "합정, 기타"입니다. 즉, 합정과 그 외의 대리점으로 구분하라는 의미이지요.

    이런 경우 "합정"만 정확히 찾고 나머지는 모두 "기타"로 처리해야 하는데 "합정, 신촌, 신림, 목동, 기타"로 내림차순 정렬되므로 이 방법을 이용할 수 없습니다.

    왜냐면, 내림차순이므로 '옵션'으로 -1을 사용해야하는데 "신림", "신촌", "목동"은 "기타"보다 크므로 "합정"으로 처리됩니다.

    이런 경우, 별도로 찾을 데이터가 있는 범위를 만들어 주면 됩니다.
    가장 큰 "합정"과 두 번째 큰 항목인 "신촌"을 두 번째로 하여 범위를 만들면 "합정"을 제외한 모든 과목은 "신촌"으로 처리됩니다. "신촌"이 "기타"역할을 하는 것이지요.
     
    +1은

    hlookup에 사용된 범위와 match 에서 사용된범위가 다르기 때문에

     

    이것을 맞춰주기 위해서 +1 을 한 것입니다.

     

    좋은 하루 보내세요.  

     

     

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