텍스트나 숫자 데이터에서 일부분만을 얻고자 할 때가 있습니다.
예를들어 전화번호에서 국번만 얻거나 날짜데이터에서 년도만 필요한 경우입니다.
이 때 엑셀의 LEFT, MID, RIGHT 함수를 사용하면 텍스트의 일부분을 잘라낼 수 있습니다.
세 함수의 목적은 같지만 함수 이름에 따라서 이름과 관련된 특성 있습니다. 그러나 셋 다 사용법은 비슷하므로 우선 LEFT함수가 어떻게 쓰이는지 알아보도록 하겠습니다.
엑셀 LEFT 함수
LEFT(텍스트, 문자 개수)
설명 : 텍스트의 가장 왼쪽(시작)의 첫 번째 문자부터 시작하여 문자 개수만큼의 범위만 읽어서 반환합니다.
이와 비슷하게 RIGHT함수는 텍스트의 가장 오른쪽(끝) 문자부터 시작하여 왼편으로 문자 개수만큼의 범위만큼 읽어서 반환합니다.
다음은 "안녕하세요"에서 첫 번째 문자부터 2개의 문자를 읽어서 반환해 준 모습입니다.
- 엑셀 LEFT 함수로 전화번호에서 국번만 추출하는 예제
서울지역 국번(02)는 제대로 추출되었지만 나머지의 경우 031, 010이 추출되어야 하는데 03, 01까지만 추출되었군요.
이렇게 국번의 자리수가 일정하지 않으므로 다른 일정한 규칙을 찾아낼 필요가 있습니다. 국번 다음에는 항상 "-" 하이픈이 온다는 일정한 규칙이 있는데 우리는 하이픈의 바로 앞까지만 텍스트를 읽도로 수식을 세우면 됩니다.
LEFT(B3, FIND("-", B3)-1)
FIND 함수는 특정 문자, 문자열을 찾아서 그 문자의 시작위치를 알려줍니다.
FIND("-", "02-123-5678")는 하이픈(-)이 세번째 문자이므로 3을 반환하고
FIND("-", "031-1234-5678")는 하이픈(-)이 네 번째 문자이므로 4를 반환합니다.
여기에서 우리는 LEFT 함수로 하이픈(-)의 바로 앞 문자까지만 읽으면 되므로 -1을 해주는 겁니다.
- 날짜서식이 적용된 날짜 데이터에서 년도만 뽑아오기
엑셀에서 날짜를 입력하는 방법은 두 가지가 있습니다.
① 텍스트로 입력하기
② 날짜서식을 적용하여 입력하기
우리는 날짜 데이터 입력 형식으로 ②번의 경우를 사용해야 하지만 엑셀파일의 작성자에 따라서 달라질 수 있으므로 둘 다 알아두어야 합니다.
이 둘의 차이점은 분명이 구분해야 하며 자세한 내용은 다음을 참고하시길 바랍니다.
이 둘의 차이점을 간단히 설명하면 날짜서식이 적용된 날짜는 양의 정수입니다. 정확히 말하면 1900년부터 해당 날짜까지의 일 수가 됩니다. 따라서 단순히 LEFT 함수로 년도를 얻으려고 하면 다음과 같이 알 수 없는 숫자가 나옵니다.
텍스트 형식의 날짜는 문제가 없지만...
날짜서식이 적용된 1999년 3월 24일이라는 날짜의 실제 데이터는 36243입니다. 36243은 1900년부터 1999년 3월 24일 까지의 경과일수이며 여기에 LEFT 함수로 앞의 네개의 문자를 읽어들여 3624라는 엉뚱한 값이 나온거죠.
이 문제를 해결하기 위해 TEXT함수를 사용하여 날짜서식이 적용된 결과 텍스트 그대로를 얻어올 필요가 있습니다. TEXT 함수에 대한 설명은 다음을 참고하세요.
=TEXT(C4, "yyyy")
날짜서식이 적용된 데이터를 TEXT 함수로 년도만 뽑아옵니다.
이 경우는 LEFT함수를 사용하지 않았지만 TEXT 함수로 뽑아온 텍스트에서 또 잘라낼 필요가 있다면 적절히 사용하면 됩니다.