책 내용 질문하기
얼래,,,, 엑셀의 배열수식에서 or이나 and 함수 쓰면 안되는건가요??
도서
[2011] 컴퓨터활용능력 1급 실기(엑셀, 액세스 2003 사용자용)
페이지
조회수
118
작성일
2011-12-20
작성자
첨부파일
답변
2011-12-20 11:34:04

안녕하세요. 길벗 수험서 운영팀입니다.

OR 이나 AND 함수를 쓰면 제대로 인식되지 않는 경우가 있습니다.

즐거운 하루 되세요.

"
  • *
    2011-12-20 11:34:04

    안녕하세요. 길벗 수험서 운영팀입니다.

    OR 이나 AND 함수를 쓰면 제대로 인식되지 않는 경우가 있습니다.

    즐거운 하루 되세요.

    "
  • *
    2011-12-20 12:44:50

    아래의 그림을 보세요.

      A B C
    1 판매수량 판매가격 매출액
    2 1 50 1
    3 2 100 3
    4 3 70 2

    판매수량이 2이상이고 판패가격이 70이상인 매출액의 합계를 구한다고 가정하면,

    {=SUM(IF((A2:A4>=2)*(B2:B4>=70),C2:C4))} ===>5 정상적인 답입니다...

    {=SUM(IF(AND(A2:A4>=2,B2:B4>=70),C2:C4))} ===> 0 원치않은 답입니다...

    and, or함수는 계산범위가 달라서 원치 않은 값을 엑셀이 돌려준 것입니다...

    배열은 행 단위로 계산이 일어나야 하는데, and(or)함수는 범위 전체를 한번에 계산하기 때문입니다.

    무슨소리냐-->

    판매수량 1, 판매가격 50

    판매수량 2, 판매가격 100

    판매수량 3, 판매가격 70

    이렇게 여섯개를 인수로 받아들입니다.

    풀어서 보면

    and(a2>=2,a3>=2,a4>=2,b2>=70,b3>=70,b4>=70) 이렇게 여섯개의 인수가 모두 만족할때 참값을 돌려주지요..

    ===>문제지의 판매가격 1을 2이상의 값으로 고치고 판매가격 50을 70이상의 값으로 고치면 and함수결과는 6으로 도출되는 값을 확인할 수 있어요...

    문제지가 원하는 계산을 순서되로 기술하면

    a2가 2이상이고 b2가 70이상이면 c2를 더하고

    a3가 2이상이고 b3가 70이상이면 c3를 더하고

    a4가 2이상이고 b4가 70이상이면 c4를 더한다. 이 순서으로 해야하는데,

    and,or함수는

    a2가 2이상이고, a3가 2이상이고, a4가 2이상이고, b2가 70이상이고,b3가 70이상이고,b4가 70이상일때 C2,C3,C4를 더해라

    라는 뜻으로 해석되어 우리가 원치않는 값을 돌려주게되지요...

    배열수식은 행단위로 계산을 해야 하는데,

    and,or 함수는 모든 수식의 인수를 한번에 전체 처리함으로 원하는 결과를 얻을 수 없음

    and===> *

    or====> + 써야 하는 이유가 되지요....

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