책 내용 질문하기
366쪽 1번 배열수식 문제
도서
2018 시나공 컴퓨터활용능력 1급 실기(엑셀, 액세스 2010 사용자용)
페이지
366
조회수
27
작성일
2018-11-14
작성자
탈퇴*원
첨부파일

정답에는

{=LARGE(IF(($B$10:$B$25=A3) * (RIGHT($A$10:$A$25,1)="1")+(RIGHT($A$10:$A$25,1)="2"),$D$10:$D$25),2)}

이렇게 수식이 주어져있고

제가 맨 처음에 작성한 수식은

{=LARGE(IF((RIGHT($A$10:$A$25,1)="1")+(RIGHT($A$10:$A$25,1)="2")*($B$10:$B$25=A3), $D$10:$D$25),2) 입니다.

결과가 다르길래 왜 그럴까 생각해보다가 OR 조건 쓰인 곳에 괄호를 양쪽에 추가했더니 맞게 나오더라고요.

{=LARGE(IF(((RIGHT($A$10:$A$25,1)="1")+(RIGHT($A$10:$A$25,1)="2"))*($B$10:$B$25=A3), $D$10:$D$25),2)}

괄호를 추가함으로 인해서 OR 조건내에서 먼저 결과를 낸 다음 * 이하 ($B$10:$B$25=A3) 범위에서 맞는 조건을 가져다가 ($D$10:$D$25) 범위에서 2번째로 큰 걸 찾는게 맞는건가요?

괄호를 추가하기 전 수식이랑 괄호 추가한 수식이랑 비교해서 설명 부탁드립니다~!

답변
2018-11-15 11:50:32

안녕하세요.

교재 정답 : {=LARGE(IF(($B$10:$B$25=A3) * ((RIGHT($A$10:$A$25,1)="1")+(RIGHT($A$10:$A$25,1)="2")),$D$10:$D$25),2)}

작성 정답 : {=LARGE(IF(((RIGHT($A$10:$A$25,1)="1")+(RIGHT($A$10:$A$25,1)="2"))*($B$10:$B$25=A3), $D$10:$D$25),2)}

문제가 "상품명별, 상품코드가 "1"이나 "2"로 끝나는 상품 중 두번째로 큰 판매수량을 계산"하는 것입니다.

상품코드가 "1"이나 "2"로 끝나는 상품 은 OR로 연결되어야 합니다. ((Right(상품코드,1)="1")+(Right(상품코드,1)="2"))

상품명별 상품코드여야 하므로 AND로 연결되어야 하죠. ($B$10:$B$25=A3) * ((Right(상품코드,1)="1")+(Right(상품코드,1)="2"))

(조건1)*((조건2)+(조건3)) 의 형태가 되는 것입니다.

당연히 ((조건2)+(조건3)) * (조건1) 도 AND로 연결된 것이므로 순서에 상관없이 답이 될 수 있습니다.

AND와 OR가 섞이지만 않는다면 동일한 답이 됩니다.

오답 : {=LARGE(IF((RIGHT($A$10:$A$25,1)="1")+(RIGHT($A$10:$A$25,1)="2")*($B$10:$B$25=A3), $D$10:$D$25),2)}

이 경우에는 상품코드가 1이거나, 상품코드가 2이면서 상품명이 같은 경우가 되서 답이 달라집니다.

괄호로 조건을 명확히 구분해 주시는 것을 권장합니다.

좋은 하루 보내세요.

  • *
    2018-11-15 11:50:32

    안녕하세요.

    교재 정답 : {=LARGE(IF(($B$10:$B$25=A3) * ((RIGHT($A$10:$A$25,1)="1")+(RIGHT($A$10:$A$25,1)="2")),$D$10:$D$25),2)}

    작성 정답 : {=LARGE(IF(((RIGHT($A$10:$A$25,1)="1")+(RIGHT($A$10:$A$25,1)="2"))*($B$10:$B$25=A3), $D$10:$D$25),2)}

    문제가 "상품명별, 상품코드가 "1"이나 "2"로 끝나는 상품 중 두번째로 큰 판매수량을 계산"하는 것입니다.

    상품코드가 "1"이나 "2"로 끝나는 상품 은 OR로 연결되어야 합니다. ((Right(상품코드,1)="1")+(Right(상품코드,1)="2"))

    상품명별 상품코드여야 하므로 AND로 연결되어야 하죠. ($B$10:$B$25=A3) * ((Right(상품코드,1)="1")+(Right(상품코드,1)="2"))

    (조건1)*((조건2)+(조건3)) 의 형태가 되는 것입니다.

    당연히 ((조건2)+(조건3)) * (조건1) 도 AND로 연결된 것이므로 순서에 상관없이 답이 될 수 있습니다.

    AND와 OR가 섞이지만 않는다면 동일한 답이 됩니다.

    오답 : {=LARGE(IF((RIGHT($A$10:$A$25,1)="1")+(RIGHT($A$10:$A$25,1)="2")*($B$10:$B$25=A3), $D$10:$D$25),2)}

    이 경우에는 상품코드가 1이거나, 상품코드가 2이면서 상품명이 같은 경우가 되서 답이 달라집니다.

    괄호로 조건을 명확히 구분해 주시는 것을 권장합니다.

    좋은 하루 보내세요.

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