책 내용 질문하기
함수 질문입니다.
도서
2017 시나공 컴퓨터활용능력 1급 실기(엑셀,액세스 2010 사용자용)
페이지
147
조회수
53
작성일
2017-07-26
작성자
탈퇴*원
첨부파일

1. 2번에서 IFERROR함수 이용해서 구하는 문제에서 오류 시 값을 내는 부분에 약제비총액*부담금의 수식을 넣어서 문제를 풀었더니 정확한 값을 불러오지 않았는데 왜 IFERROR 앞부분인 인수 부분에 약제비총액*부담금의 수식을 넣어야 하는지 궁금합니다.

2. 그리고 3번 문제의 배열 수식 함수에서 SUM과 IF를 사용하는 배열수식에서 조건에 왜*1을 해주는지 이해가 안되는 부분입니다. 답을 보지 않고 *1을 쓰지 않은 상태에서 배열 수식을 작성하면 값이 0으로 뜨고 *1을 해주니 정확한 값을 도출할 수 있었습니다. 다른 문제들은 그렇지 않은데 이 문제는 *1 을 왜 해주는지 이해가 되지 않습니다. 상세한 설명 부탁드립니다.

이상 궁금한 점 질문 드립니다.

답변
2017-07-30 21:24:59

1.

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

부담금이 텍스트면 텍스트를 그대로 표시하고, 그렇지 않으면 약제비총액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 을 하는 것입니다.

2.

MID 함수는 결과를 문자로 나타냅니다.

결과 값이 1이 나와도 문자 "1" 이 나오기 때문에 비교할 값이 문자가 아닌 경우 정확한 값이 나오지 않습니다.

비교할 값이 숫자인 경우 MID 함수의 결과를 숫자로 만들어줘야하기 때문에 *1를 한 것입니다.

좋은 하루 되세요.

  • *
    2017-07-30 21:24:59

    1.

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

    부담금이 텍스트면 텍스트를 그대로 표시하고, 그렇지 않으면 약제비총액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 을 하는 것입니다.

    2.

    MID 함수는 결과를 문자로 나타냅니다.

    결과 값이 1이 나와도 문자 "1" 이 나오기 때문에 비교할 값이 문자가 아닌 경우 정확한 값이 나오지 않습니다.

    비교할 값이 숫자인 경우 MID 함수의 결과를 숫자로 만들어줘야하기 때문에 *1를 한 것입니다.

    좋은 하루 되세요.

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