엑셀 특정 문자 위치 찾는 방법(n번째 문자 찾기)
엑셀의 셀 내용 중 특정 문자의 위치를 찾기 위해서는 FIND와 SEARCH 함수를 사용하면 된다.
하지만 해당 함수들은 첫 번째로 찾은 문자의 위치 값을 반환하기 때문에 두 번째나 세 번째 등에 문자의 위치를 찾고자 한다면 SUBSTITUTE 함수와 조합여 수식을 만들어야 한다.
엑셀 특정 문자 위치 찾기
1. 기본 적인 문자 위치 찾기.
셀 내용에서 특정 문자의 위치를 찾는 가장 기본적인 방법은 FIND 함수나 SEARCH 함수를 사용하는 것이다.
두 함수는 셀 내용에서 문자를 찾아 위치 값을 반환하는 함수로 대소문자를 구분이 필요하다면 FIND 함수를, 대소문자를 구분이 필요 없다면 SEARCH 함수를 사용하면 된다.
두 함수는 아래와 같은 형태로 사용할 수 있다.
=FIND("찾을 문자", 셀) =SEARCH("찾을 문자", 셀) |
2. n 번째 문자 위치 찾기.
FIND와 SEARCH 함수는 셀 내용의 왼쪽에서부터 오른쪽 순으로 문자를 찾아 문자를 찾으면 바로 위치 값을 반환한다.
한 마디로 첫 번째로 찾은 문자의 위치 값을 반환하는 것인데 이 때문에 두 번째나 세 번째 등 n번째로 등장하는 문자를 찾고자 한다면 SUBSTITUTE 함수와 조합하여 아래와 같은 수식을 만들어야 한다.
=FIND("변경문자",SUBSTITUTE(셀, "찾을문자", "변경문자", n번째숫자)) |
SUBSTITUTE 함수로 수식을 작성할 때 마지막 변수에 숫자를 넣으면 숫자에 있는 문자를 찾아 변경하게 된다.
이를 이용하여 n번째에 등장하는 문자를 셀 내용에 없는 문자로 문자를 변경하고 변경한 문자를 FIND 함수로 찾는 방식이라고 보면 된다.
예를 들어 'seogilang'에서 두 번째로 등장하는 g를 찾고자 한다면 아래와 같은 수식을 넣으면 된다.
=FIND("#",SUBSTITUTE(A1,"g","#",2)) |
SUBSTITUTE 함수로 'seogilang'에서 두 번째로 등장한 'g'를 '#'으로 변경.
FIND 함수로 '#'위치를 찾으면 결과적으로 'seogilang'에서 두 번째 'g'의 위치 값을 찾을 수 있다.
수식을 풀어보면 아래와 같다.
(#은 임의의 대체 값으로 셀 내용에서 사용하지 않은 값이면 어느 문자라도 상관없다)
그 외 내용
- 애초에 SUBSTITUTE 함수에서 구현한 기능이면 왜 FIND나 SEARCH 함수에는 넣지 않은 건지는 의문이긴 하지만 어쨌든 SUBSTITUTE 함수와 조합하면 n번째 문자의 위치 값을 가져오는 것이 가능하다.
- 문자가 있는 위치 값만 가져오기 때문에 문자 값을 가져오고자 한다면 LEFT나 RINGT, MID 등의 함수와 같이 사용해야 한다.