책 내용 질문하기
MID함수로 값추출시에 판별할 대상값을 큰따옴표로 감싸는경우와 그렇지 않은 경우 차이점
도서
[2012] 컴퓨터활용능력 2급 실기(엑셀 2007 사용자용)
페이지
357
조회수
76
작성일
2012-01-12
작성자
첨부파일

p357의 문제2 따라하기

성별 D26의 경우는 mod(mid(b26,8,1),2)=1) 이라고 되어있고

생년월일 E26의 경우 mid(b26,8,1)>"2" 라고 되어있는데.

d26의 mod후행 함수가 "1"이라고 감쌋을 경우에는 텍스트값으로 판단하고 0으로 나누는 건가요?

빈시트 c3셀에 1324를 입력하고 아래와 같이 처리하면

=IF(MOD(RIGHT(C3,1),5)=4,"오케이","노") 인경우는 오케이를 리턴

=IF(MOD(RIGHT(C3,1),5)="4","오케이","노")인경우는 노를 리턴하던데

해설을 어려워서 질문드립니다.

답변
2012-01-13 07:32:39

mid 함수는 텍스트 함수로 여기서 나온 값은 텍스트로 반환 됩니다.

그러므로 mid(b26,8,2) 를 계산하고 반환된 값은 문자인 "1","2",... 이 되는 것이죠.

그래서 비교할때 mid(b26,8,2)>="2" 로 비교하는 것입니다.

이렇게 mid 에서 나온 값이 텍스트 인데요.

mod 함수에서 계산되게 되면 숫자값이 됩니다. mod 함수는 나머지를 구하는 함수로 반환값이 숫자이기 때문이죠.

mod(mid(b26,8,2),2) 를 하게 되면 0이나 1 이 나오게 됩니다.

그러므로 숫자로 비교하시면 되는 것이죠.

=IF(MOD(RIGHT(C3,1),5)=4,"오케이","노") 인경우는 숫자값과 숫자값을 비교하기때문에 제대로된 결과가나오는데

=IF(MOD(RIGHT(C3,1),5)="4","오케이","노")인경우는 숫자값과 문자값을 비교함로 올바른 결과가 나오지 않는 것입니다.

좋은 하루 되세요.

"
  • *
    2012-01-13 07:32:39

    mid 함수는 텍스트 함수로 여기서 나온 값은 텍스트로 반환 됩니다.

    그러므로 mid(b26,8,2) 를 계산하고 반환된 값은 문자인 "1","2",... 이 되는 것이죠.

    그래서 비교할때 mid(b26,8,2)>="2" 로 비교하는 것입니다.

    이렇게 mid 에서 나온 값이 텍스트 인데요.

    mod 함수에서 계산되게 되면 숫자값이 됩니다. mod 함수는 나머지를 구하는 함수로 반환값이 숫자이기 때문이죠.

    mod(mid(b26,8,2),2) 를 하게 되면 0이나 1 이 나오게 됩니다.

    그러므로 숫자로 비교하시면 되는 것이죠.

    =IF(MOD(RIGHT(C3,1),5)=4,"오케이","노") 인경우는 숫자값과 숫자값을 비교하기때문에 제대로된 결과가나오는데

    =IF(MOD(RIGHT(C3,1),5)="4","오케이","노")인경우는 숫자값과 문자값을 비교함로 올바른 결과가 나오지 않는 것입니다.

    좋은 하루 되세요.

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