책 내용 질문하기
질문좀 드릴게요
도서
2014 하반기 특별판 컴퓨터활용능력 1급 실기 기출문제집
페이지
0
조회수
88
작성일
2015-01-21
작성자
첨부파일

시험대비자료실에 있는 컴활1급 최신에 있는 14년 1회 엑셀 기출문제를 풀어봤는데요 계산작업 2번 [표1]의 투약일수 ,약제비총과 [표2]를 이용하여 [j3:j30 영역에 희귀약품부담금을 계산하여 표시하시오

부담금이 텍스트면 그대로 그렇지 않으면 약제비총액*부담으로 계산

이문제에서

저는 답을 =IFERROR(VLOOKUP(I3,$A$34:$D$37,MATCH(G3,$B$33:$D$33,1)+1,TRUE),I3*VLOOKUP(I3,$A$34:$D$37,MATCH(G3,$B$33:$D$33,1)+1,TRUE)) 이렇게 적었거든요 근데 ifrror가 오류 나는거같네요 왜 그런거죠? IFERROR 는 그렇지 않을값을 나중에 넣는거 아닌가요? 해설보니 앞에쪽에 약제비총액 *

VLOOKUP으로 시작되던데 제가 이태까지 할때는 IFERROR의 오류값은 마지막에 입력해줬는데 이건 앞에 나와서 혼란스럽네요. 문제 이해를 잘못한건가요? 텍스트면 오류값이라고 봐야하는건가요?

그리고 계산작업 3번문제에서 =SUM(IF((MID(A3:A30,4,2)=F34)*(B3:B30=G33),I3:I30)) 제가 푼 답 이고요

=SUM(IF((MID(A3:A30,4,2)*1=F34)*(B3:B30=G33),I3:I30)) 이게 정답입니다

왜 *1이 들어가는건가요? MID RIGHT LEFT 슬때 *1이나 " " 로 싸준다고 책에서 본거같은데 "F34" 이렇게 싸줘도 답이 나오질 않네요 이것도 이유좀 알려주세요

단일조건)

=sum(if(조건,구할범위)): 조건 합계
=sum(if(조건,1)): 조건 개수
=sum(if(조건,참값))
=sum((조건)*구할범위): 조건 합계
=sum((조건)*1): 조건 개수
(복수조건)
sum만 활용
=sum((조건1)*(조건2)*구할범위 : 다수 조건 합계
=sum((조건1)*(조건2)*1) : 다수 조건 개수
sum과 if 활용
=sum(if((조건1)*(조건2)*구할범위 : 다수 조건 합계
=sum(if((조건1)*(조건2)*1 : 다수 조건 개수
그리고 제가 이런식으로 알고 있는데 저게 맞는건가요? 배열수식에서 보면 어떤건 *로 구하고 어떤건 ,로 구하는데 그 차이를 정확히 모르겟네요
마지막으로...ㅠㅠ 2014년도 1회 기출문제에서 고급필터에 답이 =AND(F3="보험",DAYS360(A3,H3>=1)) 왜 이렇게 나오는지 설명좀 부탁드려요 days360 함수 위주로..
질문이 많아졌네요 ㅠㅠ 죄송합니다 답변좀 부탁드릴게요 ㅠ
답변
2015-01-23 07:38:47

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 을 하는 것입니다.

sum((조건1)*(조건2)*값을구할범위)

sum(if((조건1)*(조건2),값을구할범위)

로 조건들은 * 나 + 로 and or 을 적용하셔야 하고

if 가 있는지 없는지에 따라 값을 구할범위를 * 로 연결할지 , 로 사용할지를 판단하시면 됩니다.

if(조건,참,거짓) 이므로 조건이 모두 참이면 값을구할범위에서 값을 반환하고 합계를 구하게 되는 것입니다.

days360 함수는 1년을 360일 즉 한달을 30일로 치게 됩니다. 그리고 두 수 사이의 날짜를 구하죠

진료일자와 조제일자 사이의 날짜수를 구하여 1 이하로 차이가 나면 됩니다.

days360(2014-9-11,2014-9-10)

이면 1이 나옵니다. 1보다 작거나 같은 값이 되죠? 문제에서 원한 조제일자가 같거나 조제일자가 1일많은 행을 찾을 수 있는 것입니다.


좋은 하루 되세요.

"
  • *
    2015-01-23 07:38:47

    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 을 하는 것입니다.

    sum((조건1)*(조건2)*값을구할범위)

    sum(if((조건1)*(조건2),값을구할범위)

    로 조건들은 * 나 + 로 and or 을 적용하셔야 하고

    if 가 있는지 없는지에 따라 값을 구할범위를 * 로 연결할지 , 로 사용할지를 판단하시면 됩니다.

    if(조건,참,거짓) 이므로 조건이 모두 참이면 값을구할범위에서 값을 반환하고 합계를 구하게 되는 것입니다.

    days360 함수는 1년을 360일 즉 한달을 30일로 치게 됩니다. 그리고 두 수 사이의 날짜를 구하죠

    진료일자와 조제일자 사이의 날짜수를 구하여 1 이하로 차이가 나면 됩니다.

    days360(2014-9-11,2014-9-10)

    이면 1이 나옵니다. 1보다 작거나 같은 값이 되죠? 문제에서 원한 조제일자가 같거나 조제일자가 1일많은 행을 찾을 수 있는 것입니다.


    좋은 하루 되세요.

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