엑셀 업무를 하다 보면 셀 안에 들어있는 전체 텍스트 중에서 필요한 부분만 찾아내야 할 때가 있습니다. 이럴 때 쓸 수 있는 함수는 LEFT, RIGHT, MID 같은 함수입니다. 여기에 조건을 붙여주는 IF 함수나 숫자의 홀짝을 구분하는 MOD 함수를 추가해주면 한번 더 필터링 된 값을 추출 할 수 있습니다. 아래 본문에서 더욱 자세히 알아보겠습니다.
LEFT RIGHT MID 기본 개념
텍스트와 관련된 함수는 이름만 봐도 어떤 역할을 하는지 대략적으로 알 수 있습니다. 문자열에서 추출하고 싶은 위치가 왼쪽 끝인지, 오른쪽 끝인지, 아니면 중간 어딘지에 따라서 필요한 함수를 선택하시기만 하면 됩니다. 첫 번째로 LEFT 함수는 문자열의 가장 왼쪽부터 시작해서 원하는 문자의 개수만큼 문자를 가져옵니다. 기본적으로 함수를 쓰는 방법은 =LEFT(셀, [추출할 글자 수]) 입니다. 예를 들어 설명을 하면 F3 셀에 '서울특별시 강남구'라는 주소가 들어있다면 =LEFT(F3, 5)를 입력하여 '서울특별시'라는 앞 5글자만 깔끔하게 떼어낼 수 있습니다.
![]() |
| left를 적용한 엑셀 함수 결과 |
두 번째로 RIGHT 함수는 left 함수와는 반대로 텍스트의 오른쪽부터 지정한 글자의 개수만큼 문자를 읽어옵니다. 함수는 쓰는 방법은 =RIGHT(텍스트, [추출할 글자 수])입니다. F3 셀의 '서울특별시 강남지점'에서 지점명만 추출하고 싶다면 =RIGHT(F3, 4)를 입력해서 뒤의 '강남지점' 4글자만 가져오게 됩니다. 일반적으로 전화번호 뒷자리나 파일 확장자를 식별할 때도 자주 쓰입니다. 번째로 MID 함수는 양 끝이 아닌 문자열의 원하는 위치에서 원하는 만큼 글자를 뽑아낼 때 사용합니다. 시작 위치를 직접 지정해야 하므로 함수를 쓰는 방법은 =MID(텍스트, 시작 위치, 추출할 글자 수)로 작성합니다. A1 셀에 'ABCDEF'가 있다면 =MID(A1, 2, 4)를 입력했을 때 두 번째 글자인 B부터 시작해 총 4글자인 'BCDE'를 반환하게 됩니다. 업무에서 MID 함수를 사용할 때 많은 분들이 겪는 대표적인 오류가 있습니다. 분명 눈으로 보기에는 숫자를 제대로 추출했는데, IF 조건문과 연결하면 거짓(FALSE) 결과만 나오는 결과 입니다. 이런 에러가 발생하는 이유는 엑셀의 데이터 속성 때문입니다. LEFT, RIGHT, MID 같은 텍스트 추출 함수가 반환하는 결과물은 화면에 숫자로 보이더라도 엑셀에서는 무조건 '문자(Text)' 데이터로 인식됩니다. 숫자 1이 아니라 문자로 된 "1"이 나오는 것입니다. 따라서 이런 경우는 =IF(MID(E3, 8, 1)=1, "남자", "여자") 처럼 1에 큰따옴표를 붙이지 않으면 엑셀은 문자 "1"과 숫자 1을 서로 다른 값으로 판단하여 원하는 결과를 추출하지 못하게 됩니다. 텍스트 함수로 가져온 결과를 비교할 때는 반드시 큰따옴표를 감싸서 "1" 형태로 비교해야만 찾으시려는 결과값을 얻을 수 있습니다.
IF와 MID 함수를 조합한 주민등록번호 성별 자동 분류
실무 예제를 풀어보겠습니다. 주민등록번호 뒷자리의 첫 번째 글자(전체 8번째 글자)를 활용하면 성별을 자동으로 판단할 수 있습니다. 가장 좋은 방법은 8번째 글자가 1이면 남자, 그렇지 않으면 여자로 나누는 방식입니다. 함수 수식으로는 =IF(MID(셀, 8, 1)="1", "남자", "여자") 와 같이 작성할 수 있습니다. 여기서 MID(셀, 8, 1)이 주민등록번호의 8번째 문자 하나를 가져오게 됩니다. 하지만 이 기본적인 수식에는 큰 허점이 하나 있습니다. 바로 2000년대 이후에 태어난 사람들 입니다. 우리 대한민국에서는 2000년 이후 출생자의 성별 코드는 남자가 3, 여자가 4로 부여되기 때문에 단순 1과 2만 비교해서는 오류가 발생합니다. 그렇다고 1, 2, 3, 4를 모두 IF 함수로 중첩해서 작성하자니 수식이 너무 길어지고 복잡해집니다. 2000년대 이전과 이후 출생자를 한 번에 처리하는 가장 깔끔한 방법은 나머지 값을 구해주는 MOD 함수를 조합하는 것입니다. 주민등록번호의 성별 번호를 보면 한 가지 규칙을 발견할 수 있습니다. 남성을 나타내는 숫자는 1과 3으로 모두 홀수이고, 여성을 나타내는 숫자는 2와 4로 모두 짝수라는 점입니다. 따라서 성별 코드를 2로 나누었을 때 나머지가 1이면 남자, 나머지가 0이면 여자가 됩니다. 이것을 다시 수식으로 나타내면 =IF(MOD(MID(셀, 8, 1), 2)=1, "남자", "여자") 가 됩니다. MOD 함수가 문자 형태의 성별 코드를 알아서 숫자로 변환하여 2로 나눈 나머지를 계산해주기 때문에 큰따옴표 문제도 해결되고 1번부터 4번까지 모든 성별 코드를 단 한 줄의 수식으로 성별을 분류할 수 있습니다. 첫 번째 셀에 이 수식을 입력을 하신 후 셀 오른쪽 아래 끝자리에 마우스 커서를 올리고 채우기 핸들을 아래로 드래그하면 수천 건의 명단도 단 1 초 만에 성별 분류가 완료됩니다. 이때 '서식 없이 채우기' 옵션을 활용하면 기존 테두리나 배경색 서식을 깨뜨리지 않고 값만 깔끔하게 적용할 수 있습니다. 만약 Microsoft 365 버전이나 최신 엑셀을 사용하고 계신다면, 기존의 LEFT, RIGHT, MID보다 훨씬 편리해진 텍스트 함수를 쓰실 수도 있습니다. 구분 기호를 기준으로 앞뒤 텍스트를 나누어주는 TEXTBEFORE와 TEXTAFTER 함수 입니다. 예를 들어 이메일 주소에서 골뱅이(@) 기호 앞의 아이디만 가져오고 싶다면 =TEXTBEFORE(A1, "@") 라고만 적어주면 됩니다. 시작 위치나 글자 수를 일일이 세지 않아도 되므로 작업 속도가 빨라집니다. 또한 하나의 셀 안에 들어있는 여러 단어를 한 번에 배열로 나누어주는 TEXTSPLIT 함수나, 특정 문자를 찾아 바꿔주는 SUBSTITUTE 함수 등도 함께 익혀두면 복잡한 업무를 훨씬 빠르게 마칠 수 있습니다.
