책 내용 질문하기
함수에서 숫자에 언제 ""를 붙여주나요??
도서
[2015] 컴퓨터활용능력 2급 실기
페이지
107
조회수
89
작성일
2015-04-08
작성자
첨부파일
안녕하세요.
함수를 작성하다보면 어떤 경우에는 3을 어떤 경우에는 "3"를 지정하는데 둘의 차이가 뭔가요??
예를 들면 P.107 섹션08 문제 3번을 보면 =IF(OR(MID(C16,8,1)="1",MID(C16,8,1)="3"),"남","여") 에서 숫자에 ""를 제거하고 =IF(OR(MID(C16,8,1)=1,MID(C16,8,1)=3),"남","여") 라고 입력하면 모두 "여"라는 값이 나오는데 이유가 뭔가요??
어차피 숫자 1 또는 3을 찾는 함수인데 왜 다른 결과가 나오는지 궁금합니다.
답변
2015-04-08 23:40:01
이게 헷갈릴 수도 있는데, 3이라는게 숫자로 인식 될때도 있고, 문자로 인식 될때도 있습니다. 우리는 그냥 똑같은 3인데 문자 3이랑 숫자 3은 엄연히 달라요.
위에서 쓰인 MID 함수 같은 경우 문자열 내에서 문자를 추출 하는 함수입니다. LEFT나 RIGHT도 마찬가지고요.
MID(C16,8,1) = "1"을 차근차근히 살펴보겠습니다.
C16에 870402-1745214 라는 값이 입력되어 있다고 칩시다. 8번째에, 한글자를 추출해 냅니다. 그럼 1이라는 문자가 추출되네요. 결국 MID(C16,8,1) 은 "1"이라는 결과값을 도출해냅니다. 위의 MID 함수의 결과값이 "1"이므로, 결국 "1" = "1" 이란 식만 남겠네요. 당연히 참이니깐, "남" 이 출력되겠죠.
근데 님이 두번째 쓰신 MID(C16,8,1) = 1 은 마찬가지로 MID 함수는 문자를 결과로 출력하니깐 "1"이 되겠고, 결과적으로 "1" = 1 이란 식이 남습니다. 문자 "1"과 숫자 1이 같냐고 하니깐 당연히 거짓으로 나옵니다. (사람의 논리적 생각으론 같지만 컴퓨터에서는 다릅니다....) 그래서 무조건 "여"가 나오겠지요....
C16에 870402-1745214 라는 값이 입력되어 있다고 칩시다. 8번째에, 한글자를 추출해 냅니다. 그럼 1이라는 문자가 추출되네요. 결국 MID(C16,8,1) 은 "1"이라는 결과값을 도출해냅니다. 위의 MID 함수의 결과값이 "1"이므로, 결국 "1" = "1" 이란 식만 남겠네요. 당연히 참이니깐, "남" 이 출력되겠죠.
근데 님이 두번째 쓰신 MID(C16,8,1) = 1 은 마찬가지로 MID 함수는 문자를 결과로 출력하니깐 "1"이 되겠고, 결과적으로 "1" = 1 이란 식이 남습니다. 문자 "1"과 숫자 1이 같냐고 하니깐 당연히 거짓으로 나옵니다. (사람의 논리적 생각으론 같지만 컴퓨터에서는 다릅니다....) 그래서 무조건 "여"가 나오겠지요....
결론적으로 숫자를 이용할때는 그냥 숫자만 적어주시면 되고 ( IF(C16 > 3 , "남" , "여") ) 저렇게 문자를 이용할땐 "" 를 써주시면 됩니다.
-
*2015-04-08 23:40:01
이게 헷갈릴 수도 있는데, 3이라는게 숫자로 인식 될때도 있고, 문자로 인식 될때도 있습니다. 우리는 그냥 똑같은 3인데 문자 3이랑 숫자 3은 엄연히 달라요.
위에서 쓰인 MID 함수 같은 경우 문자열 내에서 문자를 추출 하는 함수입니다. LEFT나 RIGHT도 마찬가지고요.MID(C16,8,1) = "1"을 차근차근히 살펴보겠습니다.
C16에 870402-1745214 라는 값이 입력되어 있다고 칩시다. 8번째에, 한글자를 추출해 냅니다. 그럼 1이라는 문자가 추출되네요. 결국 MID(C16,8,1) 은 "1"이라는 결과값을 도출해냅니다. 위의 MID 함수의 결과값이 "1"이므로, 결국 "1" = "1" 이란 식만 남겠네요. 당연히 참이니깐, "남" 이 출력되겠죠.
근데 님이 두번째 쓰신 MID(C16,8,1) = 1 은 마찬가지로 MID 함수는 문자를 결과로 출력하니깐 "1"이 되겠고, 결과적으로 "1" = 1 이란 식이 남습니다. 문자 "1"과 숫자 1이 같냐고 하니깐 당연히 거짓으로 나옵니다. (사람의 논리적 생각으론 같지만 컴퓨터에서는 다릅니다....) 그래서 무조건 "여"가 나오겠지요....결론적으로 숫자를 이용할때는 그냥 숫자만 적어주시면 되고 ( IF(C16 > 3 , "남" , "여") ) 저렇게 문자를 이용할땐 "" 를 써주시면 됩니다. -
*2015-09-11 17:50:33
안녕하세요.
답변이 늦어져 죄송합니다.
mid, right, left 함수는 텍스트 함수라서 결과가 숫자 모양이더라도 문자로 나타나게 됩니다.
그래서 "1"로 표시해주는 것입니다.
즐거운 하루 보내세요.