티스토리 뷰

하나의 데이터에서, 특정 텍스트의 위치를 알고 싶을 때 사용할 수 있는 함수로 FIND 함수가 있습니다. 참고로 텍스트 뿐만 아니라, 숫자 또는 공백의 위치도 찾을 수 있는데, 영문 텍스트 경우 대/소문자도 구분한다는 점, 중복 값의 경우에는 해당 택스트의 가장 앞의 위치를 반환한다는 점 또한 유의하셔야 합니다. 예를들어, 아래의 B3셀에서 소문자 'o'의 위치를 FIND 함수로 찾는다면, 4가 반환되는 형태입니다. 


이 FIND 함수는 보통 단독으로 사용하기 보다는 LEFT 함수, RIGHT 함수, MID 함수 등의 텍스트 함수와 함께 사용되어, 데이터 안에서 특정 문자의 위치를 찾고 그 위치를 기준으로 앞의 텍스트 전체 또는 그 뒤의 텍스트 전체를 추출해 낼 수 있습니다. 즉, 위에서 B열에 이메일 주소가 입력되어 있고, C열에는 B열의 이메일 주소에서 아이디 정보만을 분리되어 표시되고 있습니다.

엑셀 배우기, 숫자 또는 텍스트를 추출하는 LEFT/RIGHT/MID 함수

일단, FIND 함수의 구조는 '=FIND(찾을 텍스트, 데이터)' 입니다. 따라서 C3 셀의 FIND 함수의 수식, 'FIND("@",B3)'은 '@'의 위치인 2 값을 반환하고, 전체 수식은 '=LEFT(B3, 2-1)'로 정리 됩니다. 따라서 LEFT 함수로 'a'부터 시작하여 왼쪽으로 1번째 글자까지 추출하므로, 텍스트 'a'를 추출하게 됩니다.

마찬가지로, C4 셀의  함수 수식, =LEFT(B4, FIND("@", B4)-1)'을 풀어보면, FIND 함수는 '@'의 위치인 3 값을 반환하여, 전체 수식은 '=LEFT(B4, 3-1)'로 정리되고, LEFT 함수는 'b'부터 시작하여 왼쪽으로 2번째 글자까지 추출하므로, 텍스트 'bb'를 추출합니다.

참고로, LEFT 함수의 구조는 '=LEFT(데이터, 왼쪽부터 추출할 숫자 또는 텍스트의 개수)' 입니다.


다음으로 D열에서처럼 'google.com', 'naver.com' 등등의 이메일 서비스 공급자 정보 만을 분리하기 위해서는 FIND 함수와 더불어 LEN 함수가 필요합니다. 먼저 LEN 함수는 하나의 데이터에 존재하는 모든 텍스트의 개수를 세는 함수로, 함수의 구조는 '=LEN(데이터)' 입니다. 또한 숫자는 물론 공백도 카운트한다는 점 유의셔야 합니다.

따라서 위의 D3 셀의 함수 수식, '=RIGHT(B3, LEN(B3)-FIND("@",B3))'에서, LEN 함수 부분은 B3 셀의 전체 텍스트 개수인 12를 반환하게 됩니다. 그다음 이 값에서 FIND 함수로 찾은  '@'의 위치 값인 2를 빼주고, 결국 전체 수식은, '=RIGHT(B3, 12-3)'으로 정리됩니다.

RIGHT 함수의 구조는 '=RIGHT(데이터, 오른쪽부터 추출할 숫자 또는 텍스트의 개수)'이므로, 마지막 텍스트 'm'부터 오른쪽으로 9번째 텍스트까지를 추출하게 되어, 'google.com'을 반환하게 되는 것입니다.

마찬가지로, D4 셀의 함수 수식, '=RIGHT(B4, LEN(B4)-FIND("@",B4))'을 풀어보면, LEN 함수 부분의 값은 12, FIND 함수 부분의 값은 3으로, 전체 수식은 '=RIGHT(B4, 12-3)'으로 정리되고, 마지막 텍스트 'm'부터 오른쪽으로 9번째 텍스트까지를 추출하게 되어, 'naver.com'을 반환하게 됩니다.

FIND 함수나 LEN 함수 또한 간단한 함수이나, 혹시 이해하기 어려운 부분이 있다면 아래에 댓글 부탁드립니다. 


댓글