본문 바로가기
아주 쉬운 엑셀 강의

엑셀 초급 01. 문자 형식의 데이터

by 부자 엑셀 2024. 2. 26.

엑셀의 4가지 형식의 데이터

 

인간도 문자 중에 숫자는 수학적 계산을 하는 특별한 문자로 보듯이, 엑셀도 문자와 숫자형식은 서로 다른 형식의 데이터로 구분하고 있으며, 여기에 날짜와 논리형식까지 있어서, 총 4가지 자료형으로 모든 데이터를 구분합니다.

 

- 우리가 볼 때 똑같은 3이라도 문자3과 숫자3은 완전히 다른 데이터이며, 서로 계산도 안되고 뭔가를 같이 처리할 때 오류가 나기도 합니다.

 

 

문자 형식 데이터

 

가장 일반적인 자료형이며, 책이나 지금 이 블로그 글에서도 가장 많이 볼 수 있고 가장 많이 다뤄지는 데이터들이 문자형식입니다. 따라서 문자열을 자유자재로 다룰 수 있어야 편집과 분석을 잘 할 수 있습니다.

셀에 어떤 데이터를 입력하면 엑셀은 이것이 숫자인지, 날짜인지, 논리형인지를 판단하고 이 3가지 자료형이 아니면 모두 문자형으로 판단합니다. 그리고 숫자, 날짜, 논리형이더라도 맨 앞에 아포스트로피 (')가 있으면 무조건 문자형으로 인식합니다.

셀에 수식을 입력할 때에는 =2+3과 같이 등호를 맨 앞에 씁니다. 그러면 눈에 보이는 것은 결과인 5이죠. 이 때 맨 앞(등호 앞)에 아포스트로피를 넣으면 =2+3이라는 문자로 인식을 하기 때문에 5가 보이는 것이 아니라 =2+3이 보이게 됩니다.

 

문자 데이터 다루기 1

 

- 두 문자 데이터를 하나의 문자 데이터로 합칠 때 앰퍼샌드 &를 사용합니다. 예를 들어 a1셀에 "부자", b1셀에 "엑셀"이 입력되어 있을 때 c1셀에 수식을 =a1&b1 이라고 하면 "부자엑셀"로 표기됩니다. & 대신 concatenate라는 함수를 써서 문자열을 합칠 수 있습니다. 하지만 그냥 & 쓰는게 편합니다.

 

- 공백도 문자입니다. a1셀에 "부자 " b1셀에 "엑셀" c1셀에 =a1&b1 이라고 하면 "부자 엑셀"로 표기됩니다.

 

- 중간에 있는 공백말고 문자열의 앞과 뒤에 있는 공백은 없애고 싶을 때가 많습니다. 왜냐하면 공백은 눈에 보이지는 않지만 공백이 붙어있는 홍길동과 공백이 없는 홍길동은 다른 데이터라서 분석이 잘 안되거든요. 이럴 때 공백을 없애주는 함수가 trim입니다. trim(" 홍길동 ") 하면 양쪽 공백은 없애고 홍길동만 남습니다. 아주 자주 쓰는 함수입니다.

 

- 글자수가 몇개인지 알고 싶을 때가 엄청 많습니다. 이 때 쓰는 함수가 len 함수입니다. 길이를 뜻하는 length에서 앞부분을 따서 만든 len입니다. =len("홍길동") 하면 결과가 3이 나옵니다. 그럼 =len(" 홍길동 ") 하면 결과가 몇이 나올까요? 정답은 5입니다. 공백도 하나의 문자이기 때문에 홍길동 양쪽 공백 하나씩 더해주면 총 다섯글자라 5가 반환되는것이죠. 그럼 =len(trim(" 홍길동 "))하면 결과는? 네... 정답은 3입니다. 홍길동 양쪽의 공백이  trim함수에 의해 없어지고, 이 상태로 문자길이를 구하는 것이니 결과는 3이 되겠죠.

문자열 기초 함수
문자열 기초 함수

 

TIP. =LEN(TRIM(A7))과 같이 괄호 안에 또 함수가 있는 경우 맨 안쪽 괄호의 함수부터 실행됩니다. 즉 TRIM(A7)이 실행되서 (공백)홍길동(공백)에서 공백이 제거가 되어 홍길동만 남게되고, 그 다음 LEN(홍길동)이 실행되어 결과가 3이 나오게 되는 것이죠. 이러한 중첩된 괄호에서의 우선 순위는 수학이나 다른 프로그래밍 언어와 동일합니다.

 

문자 데이터 다루기 2

 

- 엑셀을 많이 다루다 보면, 문자열의 왼쪽 몇 글자만 추출하고 싶을 때가 있습니다. 마찬가지로 중간에 몇글자 또는 오른쪽 몇글자를 추출하고 싶을 때가 상당히 자주 있습니다. 이 때 쓰는 함수가 LEFT, MID, RIGHT입니다.

 

- LEFT(문자열, 글자몇개)하면 왼쪽 몇개만큼만 결과로 나옵니다. 즉, =LEFT("부자엑셀", 2)하면 결과는 "부자"

- RIGHT(문자열, 글자몇개)하면 오른쪽 몇개만큼만 결과로 나옵니다. =RIGHT("부자엑셀", 2)하면 결과는 "엑셀"

- MID(문자열, 몇번째글자부터, 글자몇개) 하면 됩니다. 즉 =MID("부자엑셀", 2, 2)하면 두번째 글자인 "자"부터 글자 2개이니까 결과는 "자엑"

 

문자와 숫자 변환하기

 

- 겉모양은 숫자인데 알고 보니 문자로 입력된 것들이 있어서 숫자로 바꾸고 싶을 때 VALUE를 씁니다. VALUE(문자열) 쓰면 되는데, 그 문자열이 숫자라면 숫자형으로 잘 변환되지만 문자열에 이 함수를 쓰면 오류가 납니다.

- 반대로 숫자를 문자로 바꾸고 싶을 때도 있습니다. 이 경우는 그냥 바꾸는게 아니라 뭔가 문자를 덧붙여서 문자로 바꾸고 싶을 때인데요. 예를 들어 500을 500원으로 바꾸고 싶을 때 =TEXT(500, "#원") 이라고 하면 "500원"이 됩니다.