Today's Agenda

숫자와 텍스트 차이, Type함수


123은 숫자일까요? 텍스트일까요? 


제목부터 좀 말이 안 되는 것 같다 싶더니, 첫 문장 역시도 좀 이상하다 생각하실 분들이 계실 것 같습니다. 오늘의 포스팅은 이 말이 안 될 것 같은 주제에 대한 이야기입니다. 


일전의 포스팅을 통해 표시 형식을 조정함으로써, 같은 입력 값에 대해서 다르게 표시되는 이야기를 하였습니다.(http://consultoffice.tistory.com/8 참조) 그러나, 오늘은 같게 보이는 것이 조금 다르게 동작하는 것을 보여드리고자 합니다. 우선 예제를 보실까요?


B2셀과 C2셀에 모두 123이라고 값이 입력되어 있고, D2셀에는 B2와 C2가 같으면 Same 다르면 Different를 Return하게 해두었습니다. 너무도 당연한 것인데, 왜 그럴까 싶으신 분들도 계실 것 같습니다. 


결과 값은 Different입니다. 예상하셨던 결과 값들이신가요?


이유는 간단히하면, 하나는 숫자 123이고 나머지는 텍스트 123이기 때문입니다. 제가 B2셀에 123을 입력할 때는 표시형식을 숫자로 해둔 상태에서, C2셀을 입력할 때는 표시형식을 텍스트로 해둔 상태에서 입력하였고, 그 때문에 Different가 나오게 된 것입니다. 


그렇다면 엑셀에 떠 있는 숫자들이 진짜 숫자인지, 아니면 텍스트 숫자인지 어떻게 알 수 있을까요? 우선 경험적으로 알 수 있기는 합니다. 자동으로 우측 정렬되어 있는 것은 숫자, 초록 삼각형 표시와 함께 좌측 정렬되어 있는 것은 텍스트라고 말입니다. 좀 더 정확하고 명확한 판단을 위해서는 TYPE함수를 써주면 됩니다.

TYPE함수의 구문

TYPE(value)


TYPE함수의 결과값

value가 숫자일 경우, 1 return

value가 텍스트일 경우, 2 return

value가 논리값일 경우, 4 return

...


TYPE함수를 통해 위에 언급된 예제를 확인해 볼까요? B2셀에 대한 TYPE함수의 결과는 1, 즉 숫자라는 뜻입니다. C2셀에 대한 결과는 2로 텍스트라는 뜻입니다. 표시형식 하나를 다르게 했을 뿐인데, 뭔가 크게 달라지는 느낌이 드실 것 입니다. 


그럼, 숫자로서의 숫자와 텍스트로서의 숫자의 차이에 대해서 총정리 들어가볼까요?

1번 부터 4번까지 입력방식을 다르게 하여 123을 4가지 방식으로 입력한 것에 대해서, TYPE함수 결과, 단순 사칙연산, SUM함수, IF함수 등을 적용한 결과값 화면입니다.


정리하면,

  • 텍스트로서의 숫자도 단순 사칙연산은 계산됨 (이건 어쩌면 좀 의외이긴 합니다.)
  • 그러나, SUM함수 등에서는 제대로 동작하지 않음

두 번째 Bullet Point 때문에 우리는 숫자로서의 숫자와 텍스트로서의 숫자를 잘 구분해주어야 합니다. 


글을 길게 썼지만, 결론은 간단할 수 있겠네요. "숫자와 텍스트를 잘 구분하자."

다음 번에는 숫자와 텍스트간의 차이를 극복하는 법에 대해서 포스팅 하도록 하겠습니다.


130224_Sample01.xlsx


AND