ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 엑셀 문자열 처리 (LEFT함수, RIGHT함수, LEN함수, FIND함수)
    Excel/Excel 일반 2022. 10. 1. 01:02
    728x90

    전체 목차
    - 001. SUMIF 함수, SUMIFS 함수, COUNTIF 함수, COUNTIFS 함수
    - 002. MATCH 함수, INDEX 함수
    - 003. 엑셀 이동 단축키, 채우기 핸들, 수식 채우기 팁
    - 004. DAVERAGE함수, DMAX함수, DMIN 함수
    - 005. DCOUNT, DCOUNTA, DSUM, DGET, DPRODUCT, DVAR, DSTDEV 함수
    - 006. 엑셀 절대주소 vs 상대주소 (절대주소 활용법)

    - 007. 엑셀에서 배열 수식 사용하기 (1)

    - 008. 엑셀에서 배열 수식 사용하기 (2)

     

    포스트 목차.

    본 포스트에서는 엑셀에서 제공하는 문자열 처리 함수에 대해 다룬다. 

     

    01. LEFT 함수

    LEFT 함수에 대해 알아보자.

     

    LEFT함수는 문자열의 왼쪽에서 원하는 길이만큼만 잘라내어, 반환한다. 함수의 인자는 다음과 같다.

    Text: 잘라내기 작업이 될 원본 문자열

    Num_chars: 잘라낼 문자열의 길이 (공백도 하나의 문자로 간주한다.)

     

    위의 예에서는 길이가 13인 문자열이 있고, 그중에서 왼쪽에서 5개의 문자에 해당하는 "서울특별시"만 반환되는 것을 확인 할 수 있다.

     

     
    02. RIGHT 함수

    RIGHT 함수는 문자열의 오른쪽에서 원하는 길이만큼만 잘라내어, 반환한다. 함수의 인자는 다음과 같다.

    Text: 잘라내기 작업이 될 원본 문자열

    Num_chars: 잘라낼 문자열의 길이 (공백도 하나의 문자로 간주한다.)

     

    위의 예에서는 길이가 13인 문자열이 있고, 그중에서 오른쪽에서 3개의 문자에 해당하는 "도곡동"만 반환되는 것을 확인 할 수 있다.

     

    03. LEN 함수

     LEN 함수는 인자로 입력된 문자열의 길이를 반환한다. 인자는 다음과 같다.

    Text: 길이를 구해야하는 문자열

     

    위의 예에서는 문자열의 길이인 13이 반환된다.

     

    (1) LEFT + LEN 활용

    이해를 돕기 위해 예제 문자열에서 공백을 제거해보겠다.

     

    문제: 뒤에서 3글자를 제거해주세요

     

    누군가가 문자열의 뒤에서 3문자를 제거한 값을 알려달라고 요청한다면, 우리는 "서울특별시강남구"를 반환하는 수식을 만들어야 한다.

     

     

    하나의 작업은 수작업으로 가능하겠지만, 데이터의 양이 많고, 길이도 각각 다르다고 하면 수작업은 힘들 것이다.

    [왼쪽부터 잘라내야 하는 길이]는 [문자열의 길이]에서 3을 빼면 구할 수 있다. 

     

    따라서 수식을 다음과 같이 구성하여 이문제를 해결할 수 있다.

    =LEFT(A1, LEN(A1)-3)

    (2) RIGHT + LENT 활용

    문제: 앞에서 5글자를 제거해주세요

     

    누군가가 문자열의 앞에서 5문자를 제거한 값을 알려달라고 요청한다면, 우리는 "강남구도곡동"을 반환하는 수식을 만들어야 한다.

    [오른쪽부터 잘라내야 하는 길이]는 [문자열의 길이]에서 5을 빼면 구할 수 있다.

     

    따라서 수식을 다음과 같이 구성하여 이문제를 해결할 수 있다.

    =RIGHT(A1, LEN(A1)-5)

     
    04. FIND 함수

    FIND 함수는 문자열 내에서 특정 문자의 위치를 반환하는 역할을 한다. 조사하고자하는 포인트로부터 가장 먼저 등장하는 특정문자의 위치를 반환한다.

     

    아래의 공백을 포함한 문자열을 기준으로  FIND 함수를 알아보자.

    FIND 함수의 인자는 다음과 같다.

    Find_text: 어느 위치에 있는지 알고 싶은 문자

    Within_text: 조사할 대상 문자열

    Start_num: 조사를 시작할 Within_text내의 위치, 생략시 문자열의 처음부터 살펴본다.

     

    위의 예제는 "서울특별시 강남구 도곡동"에서 처음으로 공백문자가 발생하는 위치인 6을 반환한다.

     

    다음예제를 통해 Start_num의 역할에 대해 알아보자.

     

    (1) start_num이 6인 경우, 6번째 문자인 공백부터 탐색을 시작한다.

    따라서 6이 반환된다.

     

    (2) start_num이 7인 경우, 7번째 문자인 "강"부터 탐색을 시작한다. 

    따라서 "강" 이후에 위치하는 공백의 위치인 10이 반환된다.

     

    (3) 찾는 텍스트가 두 글자 이상인 경우

    찾는 텍스트가 두 글자 이상인 경우에 대해 알아보자.

    앞의 예제에서 공백 대신 "강남"을 찾아보자.

     

     

    "강남" 중 첫글자인 "강"의 위치인 7이 반환된다.

     

     

     

    (3) LEFT와  FIND의 활용

    문제1 : 첫번째 공백 앞부분만 표기해주세요.

    누군가가 첫번째 공백 앞부분만 표기해달라고 요청한다면, 우리는 "서울특별시"를 반환하는 수식을 만들어야 한다.

     

    첫번째 공백의 위치를 FIND로 찾으면 6이 된다. 이 값에서 1을 빼면 공백 앞부분만 표기할 수 있는 길이 5를 구할 수 있다.

    따라서 다음 수식으로 해결이 가능하다.

     

    =LEFT(A7,FIND(" ",A7)-1) 

    *조사할 문자열이 A7에 있다고 가정

     

     

    문제2 : 두번째 공백 앞부분만 표기해주세요.

    누군가가 두번째 공백 앞부분만 표기해달라고 요청한다면, 우리는 "서울특별시 강남구"를 반환하는 수식을 만들어야 한다.

     

    첫번째 공백의 위치를 FIND로 찾으면 6이 된다. 따라서 FIND함수를 한번 더 돌려서 7부터 탐색을 하면 두번째 공백의 위치를 구할 수 있다. 이 값에서 1을 빼면 공백 앞부분만 표기할 수 있는 길이 9를 구할 수 있다.

    따라서 다음 수식으로 해결이 가능하다.

    =LEFT(A8,FIND(" ",A8,FIND(" ",A8)+1))

    *조사할 문자열이 A8에 있다고 가정

    의도한 값이 나오는 것을 확인할 수 있다.

    728x90
Designed by Tistory.