Home > 엑셀 함수 > 텍스트 함수 > 엑셀함수 LEFT,MID,RIGHT – 텍스트 자르기

엑셀함수 LEFT,MID,RIGHT – 텍스트 자르기

엑셀을 이용해서 업무를 하다보면 가끔 텍스트에서 일부를 잘라내야 할 때가 있다.

이때 텍스트 자르기함수를 이용하여 편리하게 잘라낼 수 있는데 엑셀에는 다음과 같이 텍스트를 잘라주는 함수를 제공한다.

  • LEFT - 텍스트를 왼쪽부터 글자 수만큼 자른다.
  • LEFTB - 텍스트를 왼쪽부터 바이트 수만큼 자른다.
  • MID - 텍스트를 지정된 위치부터 글자 수만큼 자른다.
  • MIDB - 텍스트를 지정된 위치부터 바이트 수만큼 자른다.
  • RIGHT - 텍스트를 오른쪽부터 글자 수만큼 자른다.
  • RIGHTB - 텍스트를 오른쪽부터 바이트 수만큼 자른다.

단어의 의미를 보면 LEFT는 왼쪽부터 잘라내고 MID는 중간부터 RIGHT는 오른쪽부터 잘라낸다고 유추할 수 있겠다.

위의 함수 중 끝에 B가 붙어 있는 LEFTB, MIDB, RIGHTB함수는 더블바이트 문자(한글,일본어,중국어 등 글자 하나가 2바이트인 문자)가 포함되어 있으면 한 글자를 바이트단위로 인식하여 2자리로 계산하는 것만 다르고 LEFT,MID,RIGHT함수와 사용법이 동일하다.

1. LEFT

구문(Syntax)

LEFT(text, [num_chars])

텍스트를 왼쪽부터 글자 수만큼 자른다.

인수 :
– text : 잘라낼 텍스트가 포함된 전체 텍스트
– num_chars : 잘라낼 글자수, 생략가능하며 생략시 1로 간주되므로 한 글자만 잘라낸다.

1) 텍스트에서 왼쪽부터 글자 수 만큼 잘라내기

아래 그림과 같이 "서울/홍익문고" 텍스트에서 왼쪽부터  두 글자 "서울"을 잘라내려면 수식을 다음과 같이 입력한다.

엑셀함수 LEFT,MID,RIGHT – 텍스트 자르기

=LEFT("서울/홍익문고",2) => "서울"

 

셀의 값의 참조하여 왼쪽부터  두 글자를 잘라낼 때는 다음과 같이 수식을 입력한다.

=LEFT(B6,2) => "서울"

엑셀함수 LEFT,MID,RIGHT – 텍스트 자르기

 

2) 특정 문자가 있는 위치를 기준으로 텍스트를 잘라내기

아래 그림과 같이 중간에 "/" 가 포함된 텍스트에서 "/"를 기준으로 왼쪽에 있는 텍스트를 잘라낼려면

엑셀함수 LEFT,MID,RIGHT – 텍스트 자르기

위의 설명이 이해가 되었으면 D53셀에 다음 수식을 입력하고

=LEFT(B53,FIND("/",B53)-1) 

D53셀의 수식을 복사하여 D54,D55셀에 붙여 넣자.

제대로 입력되었으면 아래 그림과 같이 결과가 표시될 것이다.

엑셀함수 LEFT,MID,RIGHT – 텍스트 자르기

함수안에 함수가 있고 그 안에 또 함수가 있는 중첩함수이다.

이 경우 가장 안쪽 함수부터 실행되는데 실행되는 순서대로 풀어서 설명하면 다음과 같다

=LEFT(B53,FIND("/",B53)-1)
FIND함수가 먼저 실행되어 "/"의 위치값 6을 구해주면 수식은 내부적으로 아래와 같이 바뀐다.

=LEFT(B53,6-1)

"/"의 위치값은 6인데 "/"의 바로 앞자리까지만 잘라내야 하므로 1을 빼준다.

=LEFT(B53,5)

"/"의 위치값 6에서 1을 빼면 5가 되고 LEFT함수는 왼쪽에서 다섯 글자를 잘라내면
"서울특별시"가 구해진다.

 

2. MID

구문(Syntax)

MID(text, start_num, num_chars)

텍스트를 지정된 위치부터 글자 수만큼 자른다.

인수 :
– text : 잘라낼 텍스트가 포함된 전체 텍스트
– start_num : 잘라낼 위치
– num_chars : 잘라낼 글자수

1) 텍스트에서 지정된 위치부터 글자 수 만큼 잘라내기

아래 그림과 같이 "서울/홍익문고" 텍스트에서 4번째부터  두 글자 "홍익"을 잘라내려면 수식을 다음과 같이 입력한다.

엑셀함수 LEFT,MID,RIGHT – 텍스트 자르기

=MID("서울/홍익문고",4,2) => "홍익"

 

셀의 값의 참조하여 4번째부터 두 글자를 잘라낼 때는 다음과 같이 수식을 입력한다.

=MID(B22,4,2) => "홍익"

엑셀함수 LEFT,MID,RIGHT – 텍스트 자르기

 

2) 특정 문자가 있는 위치를 기준으로 텍스트를 잘라내기

아래 그림과 같이 중간에 "/" 가 포함된 텍스트에서 "/"를 기준으로 왼쪽에 있는 텍스트를 잘라낼려면 위에 설명한 LEFT함수를 이용할수도 있지만 MID함수로도 가능하다.

엑셀함수 LEFT,MID,RIGHT – 텍스트 자르기

  • MID함수에서도 "/"의 위치를 알아야 하는데 FIND함수로 위치를 구하고
  • "/"의 위치에서 한칸 왼쪽까지 잘라내야 하므로
  • 위치값에서 1을 뺀 값을 MID함수의 3번째 인수로 넣어주면 된다.

위의 설명이 이해가 되었으면 D59셀에 다음 수식을 입력하고

=MID(B59,1,FIND("/",B59,1)-1)

D59셀의 수식을 복사하여 D60,D61셀에 붙여 넣자.

제대로 입력되었으면 아래 그림과 같이 결과가 표시될 것이다.

엑셀함수 LEFT,MID,RIGHT – 텍스트 자르기

함수안에 함수가 있고 그 안에 또 함수가 있는 중첩함수이다.

이 경우 가장 안쪽 함수부터 실행되는데 실행되는 순서대로 풀어서 설명하면 다음과 같다

=MID(B59,1,FIND("/",B59,1)-1)
FIND함수가 먼저 실행되어 "/"의 위치값 6을 구해주면 수식은 내부적으로 아래와 같이 바뀐다.

=MID(B59,1,6-1)

"/"의 위치값은 6인데 "/"의 바로 앞자리까지만 잘라내야 하므로 1을 빼준다.

=MID(B59,1,5)

"/"의 위치값 6에서 1을 빼면 5가 되고 MID함수에서 두번째 인수가 1이므로 첫번째부터  다섯 글자를 잘라내면 "서울특별시"가 구해진다.

 

3. RIGHT

구문(Syntax)

RIGHT(text, [num_chars])

텍스트를 오른쪽부터 글자 수만큼 자른다.

인수 :
– text : 잘라낼 텍스트가 포함된 전체 텍스트
– num_chars : 잘라낼 글자수, 생략가능하며 생략시 1로 간주되므로 한 글자만 잘라낸다.

1) 텍스트에서 오른쪽부터 글자 수 만큼 잘라내기

아래 그림과 같이 "서울/홍익문고" 텍스트에서 왼쪽부터  네 글자 "홍익문고"을 잘라내려면 수식을 다음과 같이 입력한다.

엑셀함수 LEFT,MID,RIGHT – 텍스트 자르기

=RIGHT("서울/홍익문고",4) => "홍익문고"

 

셀의 값의 참조하여 오른쪽부터  네 글자를 잘라낼 때는 다음과 같이 수식을 입력한다.

=RIGHT(B37,4) => "홍익문고"

엑셀함수 LEFT,MID,RIGHT – 텍스트 자르기

 

2) 특정 문자가 있는 위치를 기준으로 텍스트를 잘라내기

아래 그림과 같이 중간에 "/" 가 포함된 텍스트에서 "/"를 기준으로 오른쪽에 있는 텍스트를 잘라낼려면

엑셀함수 LEFT,MID,RIGHT – 텍스트 자르기

  • "/"의 뒤에 있는 텍스트의 길이를 알아야 하는데 전체길이(LEN함수이용)에서 "/"까지의 위치(FIND함수이용)를 빼면 길이가 구해진다.
  • 이렇게 구해진 길이를 RIGHT함수의 두번째 인수로 넣어준다.

위의 설명이 이해가 되었으면 D65셀에 다음 수식을 입력하고

=RIGHT(B65,LEN(B65)-FIND("/",B65))

D65셀의 수식을 복사하여 D66,D67셀에 붙여 넣자.

제대로 입력되었으면 아래 그림과 같이 결과가 표시될 것이다.

엑셀함수 LEFT,MID,RIGHT – 텍스트 자르기

함수안에 함수가 있고 그 안에 또 함수가 있는 중첩함수이다.

이 경우 가장 안쪽 함수부터 실행되는데 실행되는 순서대로 풀어서 설명하면 다음과 같다

=RIGHT(B65,LEN(B65)-FIND("/",B65))
LEN함수가 먼저 실행되어 B65셀의 텍스트의 길이 12를 구하고 FIND함수가  "/"의 위치값 6을 구해주면 수식은 내부적으로 아래와 같이 바뀐다.

=RIGHT(B65,12-6)

=RIGHT(B65,6)

전체 텍스트 길이 12에서 "/"의 위치 6을 빼주면 6이 되고 RIGHT함수는 오른쪽에서 여섯 글자를 잘라내면 "신촌홍익문고"가 구해진다.

 

[ 엑셀 텍스트 함수 ]

“엑셀함수 LEFT,MID,RIGHT – 텍스트 자르기”의 9개의 댓글

  1. 핑백: 엑셀함수 FIND, FINDB – 텍스트에서 특정 텍스트의 위치 찾기 - XLWorks

  2. 핑백: 엑셀함수 LEN, LENB – 텍스트의 길이(문자수) 구하기 - XLWorks

  3. 핑백: 엑셀함수 SEARCH, SEARCHB – 텍스트에서 대소문자 구분없이 특정 텍스트의 위치 찾기 - XLWorks

  4. 만약에 "/"가 여러개 있는 경우는 어떻게 해야하는지요?

    생활용품>세탁용품>다리미판
    가구/홈데코>인테리어용품>조명/스탠드>인테리어스탠드>장스탠드
    위와 같이 있는경우에 최종적으로 각 셀에서 "다리미판"과 "장스탠드"만을 남기려 하려고 합니다.
    엑셀에서 이런것도 가능한지... 부탁드립니다.

    1. 그닥 좋은 방법은 아니지만... A1셀에 잘라내기 전의 전체 문자열이 있다고 할 때 B1셀에 다음 수식을 입력하세요
      =RIGHT(A1,LEN(A1)-FIND("@",SUBSTITUTE(A1,">","@",LEN(A1)-LEN(SUBSTITUTE(A1,">",""))),1))
      혹시 수식이 제대로 작동 안되면 쌍따옴표를 키보드에 있는 것으로 다시 입력해보세요.

  5. 감사합니다 글 내용이 많은 도움이 되었습니다.
    혹시 글자 수만큼 잘랐을 때 단어가 중간에 몇글자만 잘리는 경우 글자가 잘린 단어까지 자르는 방법은 없을까요?

    공백을 만날때까지 지우다가 공백까지 지우고 싶은데 어떻게 해야할지 감이안오네요ㅠㅠ

    1. 아 그리고 혹시 매크로를 특정 파일에서 말고 모든 파일에서 사용 가능하도록
      그러니까, 단축키를 누르면 모든파일에서 매크로가 실행되도록 하는 방법은 없는지요?

    2. 정확한 사용케이스가 어떻게 되는지 모르겠지만 find(" ", 문자열)의 형식으로 공백의 위치를 찾아서 그 위치까지 자르면 되지 않을까 합니다. 감사합니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다.