책 내용 질문하기
상시 기출문제 엑셀 고급필터에서요
도서
[2014] 컴퓨터활용능력 1급 실기(엑셀, 액세스 2007 사용자용)
페이지
149
조회수
233
작성일
2013-11-15
작성자
첨부파일

생년월일의 연도가 1992 이거나 1991인 행만을 표시하시오(year,and 함수사용).

이문제인데요

왜 부등호를 >= 로 지정하는지 모르겠습니다

제가 낸 답 : and(year(생년월일)=1991,year(생년월일)=1992)

이게 왜오답이죠

아그리고

고급필터에서

식을이용한조건을사용했을때

false로 나오면 조건지정한게 틀려서 답이 못나온다는소리인가요?

아니면 false로나와도 맞게되는경우도잇는지요?

답변
2013-11-17 12:39:29

and 연산자 때문입니다.

and 는 ~이고 ~인 인데

and(year(생년월일)=1991,year(생년월일)=1992)

와 같이 사용하시면 1991년 이고 1992 년 인 것이 됩니다.

그런데 1991 년 이고 1992 년 인 데이터는 없기 때문이죠.

그래서

and(year(생년월일)>=1991,year(생년월일)<=1992)

1991년 이상이고 1992년 이하인 으로 지정하셔야 1991년과 1992년에 해당하는 값을 구할 수 있습니다.

식을 이용하여 조건을 지정하면 false와 true 로 값이 나옵니다.

필드명을 원본 데이터에 있는 필드명을 사용하게 되면

false 라는 값과 원본 데이터를 비교하게 되는데

만약 이름 이라는 값과 비교한다면

이름

시나공

길벗

이라는 데이터가 있고 식을 사용한 경우

이름

false

로 지정되는데 이름이라는 원본 필드에 false 라는 값이 없기 때문에 결과가 나오지 않게 됩니다.

그러므로

조건

false

와 같이 원본 데이터에 없는 필드명을 사용하여 가상의 필드를 만들어 놓고 true에 해당하는 행만 필터해 오게 하는 것이죠.

좋은 하루 되세요.

"
  • *
    2013-11-17 12:39:29

    and 연산자 때문입니다.

    and 는 ~이고 ~인 인데

    and(year(생년월일)=1991,year(생년월일)=1992)

    와 같이 사용하시면 1991년 이고 1992 년 인 것이 됩니다.

    그런데 1991 년 이고 1992 년 인 데이터는 없기 때문이죠.

    그래서

    and(year(생년월일)>=1991,year(생년월일)<=1992)

    1991년 이상이고 1992년 이하인 으로 지정하셔야 1991년과 1992년에 해당하는 값을 구할 수 있습니다.

    식을 이용하여 조건을 지정하면 false와 true 로 값이 나옵니다.

    필드명을 원본 데이터에 있는 필드명을 사용하게 되면

    false 라는 값과 원본 데이터를 비교하게 되는데

    만약 이름 이라는 값과 비교한다면

    이름

    시나공

    길벗

    이라는 데이터가 있고 식을 사용한 경우

    이름

    false

    로 지정되는데 이름이라는 원본 필드에 false 라는 값이 없기 때문에 결과가 나오지 않게 됩니다.

    그러므로

    조건

    false

    와 같이 원본 데이터에 없는 필드명을 사용하여 가상의 필드를 만들어 놓고 true에 해당하는 행만 필터해 오게 하는 것이죠.

    좋은 하루 되세요.

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