LEFT, RIGHT, MID 함수 - 문자의 개수로 특정 문자를 추출하기

등록일 : 2025.09.22 (13:16)  / 조회 : 7
특정 문자를 추출하는 방법은 이미 기초 강좌에서 일부 소개했습니다. "빠른 채우기"와 "텍스트 나누기"가 있었죠. 하지만 함수를 사용하면 역시 원본이 바뀜에 따라 결과도 반영되는 자동화의 장점을 살릴 수 있습니다. 원본이 변경될 소지가 있다면, 좀 불편하지만 이제 알아볼 LEFT, RIGHT, MID 함수를 사용하는 편이 좋습니다.
"빠른 채우기"와 "텍스트 나누기"를 모르신다면 이 것들도 효율적인 방식이니 꼭 보시길 바랍니다.

사번 빠른 채우기.png

특정 문자 추출하기 ❶ 빠른 채우기

이미 만들어진 표의 데이터를 기반으로 하여 사용자가 입력한 패턴대로 빈 셀을 빠르게 완성해 주는 빠른 채우기 기능에 관해 설명합니다. 빠른 채우기를 해야 하는 상황을 소개하고 빠른 채우기를 할 수 있는 표의 상태를 만들어 봅니다. 여러 가지 상황으로 빠른 채우기를 진행해 보고 빠른 채우기를 할 수 없는 상태를 설명합니다.

https://flylight.kr/


텍스트 마법사 1단계.png

특정 문자 추출하기 ❷ 텍스트 나누기

이미 만들어진 표의 데이터를 특정 기호나 너비로 나누는 방법을 소개합니다. 텍스트 나누기의 3단계를 설명합니다. 특정 구분 기호(구분자)로 텍스트를 나누는 방법과 너비(문자의 개수)로 나누는 방법을 설명하고 불필요한 부분은 버리고 특정 부분만을 가져오는 방법을 설명합니다.

https://flylight.kr/







예제 파일부터 확인하겠습니다.

예제 파일

예제 파일 좌측 "다팔아 사원 목록"에서 필요한 데이터를 찾아 우측 표에 작성하려 합니다.
직원명에서 성을, 주민등록번호에서 뒷자리를 감춘 형태만, 사원번호에서 숫자만, 주민등록번호에서 성별만 그리고 이메일에서 ID를 제외한 도메인만 찾으려는 것입니다.
모두 LEFT, RIGHT, MID 함수 중 하나를 사용하긴 해야 하지만 성별과 도메인은 다른 함수가 필요하겠네요. 이번에는 성, 주민번호(보안), 사번(숫자)까지 알아보고 주민등록번호에서 성별을 숫자로 찾는 방법까지만 설명하겠습니다.

LEFT와 RIGHT 함수가 간단하니, 이들부터 함수 정리하겠습니다.

LEFT

텍스트 문자열의 첫 번째 문자부터 지정한 문자 수만큼 문자를 반환합니다.

LEFT(text, [num_chars])
text추출하려는 문자가 들어 있는 텍스트 문자열 또는 참조.
[num_chars][선택] 추출할 문자 개수. 생략 시 1로 간주

RIGHT

텍스트 문자열의 마지막 문자부터 지정한 문자 수만큼 문자를 반환합니다.

RIGHT(text, [num_chars])
text추출하려는 문자가 들어 있는 텍스트 문자열 또는 참조.
[num_chars][선택] 추출할 문자 개수. 생략 시 1로 간주

별거 없습니다. 시작하는 문자 몇 개를 반환할 것인지, 끝나는 문자 몇 개를 반환할 것인지에 따라 LEFT, RIGHT를 결정하면 되고, 거기서 "몇 개"라는 것이 [num_chars] 인수가 되겠습니다.





직원명에서 성 반환
  1. 성을 작성할 셀(G5)을 클릭하여 선택합니다.
  2. 수식 입력줄에서 수식을 시작하고 함수명을 작성합니다. => =LEFT(
  3. 첫 번째 인수 힌트(text)를 확인하고 참조로 값을 가져옵니다. => =LEFT(C5
  4. 두 번째 인수를 작성할 순서지만 1글자만 가져오고 싶다면 생략해도 됩니다. 2개 이상일 경우만 작성하면 된다는 얘기입니다.
    더 이상 인수가 없고 함수가 하나이므로 그냥 엔터(닫힌 괄호 자동 생성 후 셀 완성) => =LEFT(C5)
  5. 완성된 G5셀을 클릭하고 나머지는 자동 채우기(우측 하단에서 클릭 드래그)로 완성합니다.

간단하죠. 주민번호(보안)도 만들겠습니다. 앞자리는 가져오고 뒷자리는 "*"로 표시하겠습니다. 

주민번호(보안) 작성
  1. 작성할 셀(H5)을 클릭하여 선택합니다.
  2. 수식 입력줄에서 수식을 시작하고 함수명을 작성합니다. => =LEFT(
  3. 첫 번째 인수 힌트(text)를 확인하고 참조로 값을 가져옵니다. => =LEFT(D5
  4. 쉼표로 구분, 두 번째 인수 힌트(num_chars)를 확인하고 가져올 문자 개수(6)를 입력하고 닫힌 괄호까지 작성합니다. => =LEFT(D5,6)
    엔터를 입력하면 셀이 완성되어 버리므로 닫힌 괄호를 입력하고 일단 함수만 완성합니다. 더 작성할 내용이 남았으니, 엔터를 입력하여 셀을 완성하지 않는 것입니다.
  5. 더 작성할 내용은 주민번호 뒷자리를 *로 처리할 내용입니다. 문자를 이어주기 위해 & 기호를 사용하고 "-*******"를 입력합니다. => =LEFT(D5,6)&"-*******"
    문자는 큰따옴표로 감싸야 한다는 것을 주의해 주세요. 
    셀이 완성되었으니, 엔터를 눌러줍니다. => 주민번호 앞자리는 반영되고 뒷자리는 * 처리됩니다.
  6. 다시 완성된 H5셀을 클릭하고 나머지는 자동 채우기(우측 하단에서 클릭 드래그)로 완성합니다.

주민번호(보안) 작성 결과

결과, 주민번호(보안)가 정상 작성됩니다.
& 기호 사용법을 모르신다면 아래 강좌를 참고해 주세요. 수식에서 문자를 연결하는 방식으로, 꼭 알고 있어야 하는 내용입니다.

다양한 연결.png

수식에서 문자, 숫자, 참조의 연결 &

엑셀 수식에서 값을 연결하는 방법을 설명합니다. 수식에서 숫자와 문자를 혼합하여 사용하면 어떤 결과가 나오는지 확인합니다. 숫자와 문자를 구분하고 & 기호 연결하면 수식에서도 문자를 사용할 수 있다는 것을 확인합니다. 숫자, 문자, 참조를 & 기호로 연결해 보고 문자의 경우 반드시 큰따옴표를 사용해야 한다는 것을 알아봅니다.

https://flylight.kr/







다음, 사번(숫자)입니다. 이 녀석은 원본 사원번호에서 끝 3자리를 반환해야겠습니다. RIGHT 함수를 써야겠죠.

사번(숫자) 작성
  1. 작성할 셀(I5)을 클릭하여 선택합니다.
  2. 수식 입력줄에서 수식을 시작하고 함수명을 작성합니다. => =RIGHT(
  3. 첫 번째 인수 힌트(text)를 확인하고 참조로 값을 가져옵니다. => =RIGHT(B5
  4. 쉼표로 구분, 두 번째 인수 힌트(num_chars)를 확인하고 가져올 문자 개수(3)을 입력합니다. => =RIGHT(B5, 3
  5. 엔터(닫힌 괄호 자동 생성 후 셀 완성)  => =RIGHT(B5, 3)
    다시 완성된 I5셀을 클릭하고 나머지는 자동 채우기(우측 하단에서 클릭 드래그)로 완성합니다.

결과, 사원번호의 뒷자리 숫자만 정상 반환됩니다.
RIGHT 함수도 LEFT 별반 다르지 않습니다. 가져오는 것이 text 인수의 시작 부분인지 끝 부분인지의 차이일 뿐이라는 것이죠.





다음, 성별을 알기위해선 주민번호 뒷자리의 첫 숫자를 알아 와야 합니다. 그 첫 숫자가 홀수면 "남자", 짝수면 "여자"입니다.
이건 LEFT와 RIGHT만으로는 알 수 없습니다. 시작에서 몇 개, 끝에서 몇 개는 반환할 수 있지만 중간에서 몇 개를 반환할 수는 없기 때문이죠. 예상하셨겠지만 이럴 때 사용하는 함수가 MID 함수입니다.

MID

텍스트 문자열의 지정된 위치로부터 지정된 수만큼 문자를 반환

MID(text, start_num, num_chars)
text추출하려는 문자가 들어 있는 텍스트 문자열 또는 참조.
start_numtext에서 추출한 첫 문자의 위치. (시작하는 첫 문자 위치는 1)
num_chars추출할 문자 개수. 
주의! 선택사항이 아니므로 반드시 작성. 1보다 작으면 오류 발생

함수 정리는 위와 같습니다. LEFT, RIGHT와 동일한데, 중간에 시작할 문자의 위치인 start_num 인수가 추가로 필요 합니다.
그리고 num_chars 인수는 LEFT, RIGHT 함수와 다르게 1개라도 무조건 입력해야 한다는 점이 다릅니다. 선택사항이 아니라 필수사항이란 것이죠.

성별 숫자 작성
  1. 작성할 셀(J5)을 클릭하여 선택합니다.
  2. 수식 입력줄에서 수식을 시작하고 함수명을 작성합니다. => =MID(
  3. 첫 번째 인수 힌트(text)를 확인하고 참조로 값을 가져옵니다. => =MID(D5
  4. 쉼표로 구분, 두 번째 인수 힌트(start_num)를 확인하고 가져올 문자의 시작 위치(8)를 입력합니다. => =MID(D5,8
  5. 쉼표로 구분, 세 번째 인수 힌트(num_chars)를 확인하고 가져올 문자 개수(1)를 입력합니다. => =MID(D5,8,1
  6. 엔터(닫힌 괄호 자동 생성 후 셀 완성)  => =MID(D5,8,1)
    다시 완성된 J5셀을 클릭하고 나머지는 자동 채우기(우측 하단에서 클릭 드래그)로 완성합니다.

성별 숫자 작성 완료

결과, 성별까지 주민등록번호의 숫자에서 추출됩니다.
MID 함수도 LEFT, RIGHT 함수와 유사하게 사용할 수 있다는 것을 확인할 수 있습니다. 중간부터 가져올 것이니 start_num 이 반드시 필요하다는 것만 기억하시면 되겠습니다.





그런데 성별은 이왕이면 숫자가 아니라 "남"과 "여"로 나타나는 것이 좋겠네요. 그 방법은 다음 강좌에서 알아보겠습니다.

추가로 한 가지 더, 이렇게 함수화하면 원본이 바뀌었을 경우 결과도 자동 변경된다는 것 기억하시죠?

함수 자동화

위 그림처럼 원본이 바뀌더라도 결과가 자동 반영되므로 "빠른 채우기"나 "텍스트 나누기"처럼 수정하는 해야하는 작업을 생략할 수 있게됩니다.


첨부파일

LET RIGHT MID.xlsx

(12.4 Kb)save_alt


이전글

윤슬로

122025.09.18
코멘트 의견글 입니다. ()

굵게 밑줄 기울임 취소선 글자색 배경색 윗첨자 아래첨자

왼쪽 정렬 가운데 정렬 오른쪽 정렬 양쪽 정렬

배경색 윗첨자 아래첨자 밑줄 기울임 취소선

url og table

html

줄이기 늘리기