책 내용 질문하기
엑셀 최신기출문제 2014년 1회 E형 문제2에서 2번 계산문제
도서
2017 시나공 컴퓨터활용능력 1급 실기(엑셀,액세스 2007사용자용)
페이지
조회수
57
작성일
2018-05-09
작성자
탈퇴*원
첨부파일

정답이

=IFERROR(I3*VLOOKUP(I3,$A$34:$D$37,MATCH(G3,$B$33:$D$33,1)+1),VLOOKUP(I3,$A$34:$D$37,MATCH(G3,$B$33:$D$33,1) +1))

인데

1. 왜 vlookup이 똑같이 두 번 들어가야하나요?

2. match 세번째에 가장 가까운 값을 넣는 1을 왜 넣는지 모르겠어요 -1, 0도 아니고 1인 이유를..

3. match 함수 뒤에 +1은 왜 하는지 이해가 안 가요..

답변
2018-05-14 15:38:54

문제에서 오류에 대한 설명은 없었지만

부담금이 텍스트면 텍스트를 그대로 표시하고, 그렇지 않으면 약제비총액x부담금 으로 계산

이라는 지시사항이 있었기 때문에 iferror 으로 오류를 확인 해야 하는 것입니다.

IFERROR(I3*VLOOKUP(I3,$A$34:$D$37,MATCH(G3,$B$33:$D$33,0)+1), VLOOKUP(I3,$A$34:$D$37,MATCH(G3,$B$33:$D$33,0)+1))

식이나 식 자체의 값이 오류가 나면 오류값을 표시합니다.

I3*VLOOKUP(I3,$A$34:$D$37,MATCH(G3,$B$33:$D$33,0)+1) 은 식이 오류가 아니면 이 식을 그대로 계산하여 표시하고

이 값이 오류가 나면 VLOOKUP(I3,$A$34:$D$37,MATCH(G3,$B$33:$D$33,0)+1 의 값을 반환하는 것이죠.

IFERROR(I3*VLOOKUP(I3,$A$34:$D$37,MATCH(G3,$B$33:$D$33,0)+1), VLOOKUP(I3,$A$34:$D$37,MATCH(G3,$B$33:$D$33,0)+1))

VLOOKUP(I3,$A$34:$D$37,MATCH(G3,$B$33:$D$33,0)+1 에서 vlookup 의 범위 a34:d37 과 macth의 범위 b33:d33 이 다르기 때문입니다. 열이 틀려서 인 것이죠.

vlookup의 범위는 a열부터 4열 이고 match의 범위는 b열 부터 3열 이므로 match에서 나온 결과를 vlookup의 열로 찾게 되면 한줄씩 당겨져서 표시가 됩니다.

그러므로 vlookup의 결과와 같게 표시하기 위해서 +1 을 하는 것입니다.

1은 match 의 옵션 부분입니다.

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

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

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

생략할시 1로 지정되므로 오름차순 정렬된 상태라면 옵션을 생략하거나 1을 입력하셔도 정확한 결과가 나오는 것입니다.

좋은 하루 되세요.

  • *
    2018-05-14 15:38:54

    문제에서 오류에 대한 설명은 없었지만

    부담금이 텍스트면 텍스트를 그대로 표시하고, 그렇지 않으면 약제비총액x부담금 으로 계산

    이라는 지시사항이 있었기 때문에 iferror 으로 오류를 확인 해야 하는 것입니다.

    IFERROR(I3*VLOOKUP(I3,$A$34:$D$37,MATCH(G3,$B$33:$D$33,0)+1), VLOOKUP(I3,$A$34:$D$37,MATCH(G3,$B$33:$D$33,0)+1))

    식이나 식 자체의 값이 오류가 나면 오류값을 표시합니다.

    I3*VLOOKUP(I3,$A$34:$D$37,MATCH(G3,$B$33:$D$33,0)+1) 은 식이 오류가 아니면 이 식을 그대로 계산하여 표시하고

    이 값이 오류가 나면 VLOOKUP(I3,$A$34:$D$37,MATCH(G3,$B$33:$D$33,0)+1 의 값을 반환하는 것이죠.

    IFERROR(I3*VLOOKUP(I3,$A$34:$D$37,MATCH(G3,$B$33:$D$33,0)+1), VLOOKUP(I3,$A$34:$D$37,MATCH(G3,$B$33:$D$33,0)+1))

    VLOOKUP(I3,$A$34:$D$37,MATCH(G3,$B$33:$D$33,0)+1 에서 vlookup 의 범위 a34:d37 과 macth의 범위 b33:d33 이 다르기 때문입니다. 열이 틀려서 인 것이죠.

    vlookup의 범위는 a열부터 4열 이고 match의 범위는 b열 부터 3열 이므로 match에서 나온 결과를 vlookup의 열로 찾게 되면 한줄씩 당겨져서 표시가 됩니다.

    그러므로 vlookup의 결과와 같게 표시하기 위해서 +1 을 하는 것입니다.

    1은 match 의 옵션 부분입니다.

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

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

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

    생략할시 1로 지정되므로 오름차순 정렬된 상태라면 옵션을 생략하거나 1을 입력하셔도 정확한 결과가 나오는 것입니다.

    좋은 하루 되세요.

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