취미생활/P.C·Mobile

[스크랩] [엑셀]MID, SEARCH 함수, 텍스트에서 원하는 부분을 잘라 낼 때

그리운시냇가 2016. 9. 2. 09:35

엑셀에서 문자열 관련 함수들은 정말 많이 사용됩니다. 특히 문자열을 자르는 LEFT, MID, RIGHT 함수들은 꼭 사용법을 알아 두셔야 합니다.그 중에서 MID 함수로 주민번호에 생년월일과 메일 주소에서 아이디를 추출해 보려고 합니다.
주민번호는 문자열의 크기가 변하지 않기 때문에 MID 로만 추출이 되지만
메일 주소는 SEARCH 라는 함수를 같이 이용해야 합니다.

그림과 같이 주민번호에서 생년월일을 추출하는 경우 MID 함수를 이용해야겠죠. MID 함수는 추출하려면 대상의 위치가 변하지 않고 고정된 경우 사용합니다. 예를 들어 메일 주소에서 아이디를 추출하는 함수로는 사용하지 못하겠죠. 이 때는 MID 와 다름 함수를 연계해야 합니다. 그 내용은 뒤에서 설명하도록 하겠습니다.

▼ 주민번호에서 생년월일을 추출하기 위해 MID 를 두 번 사용했습니다. 년과 월을 따로 추출하는 것이죠. 각각 추출한 년과 월은 “&” 연산자로 그림과 같은 형태의 문자열을 만들었습니다. 참고로 마지막 인자인 num_chars 가 문자열의 크기를 넘어가면 에러가 나지 않고 빈 텍스트가 반환됩니다.

▼ 위에서 설명한 주민번호에서 생년월일 추출은 MID 함수 하나로 가능합니다. 그럼 메일 주소처럼 크기가 변하는 문자열은 어떻게 아이디를 추출해야 할까요? 메일 주소의 특징 중 하나는 아이디가 끝나는 지점에 “@” 가 있다는 것이죠. 이것의 위치만 알아내면 MID 함수와 같이 사용해서 아이디를 추출할 수 있습니다.

“@” 의 위치를 알아내는 함수는 SEARCH 입니다. 첫 번째 find_text 에 메일 주소를 넣고 두 번째 인수에 “@” 를 넣습니다. 그럼 위치 값을 반환하는데 MID 에서 사용할 때는 -1 을 해야 합니다.

▼ 아이디를 추출하는 함수의 완성은 아래 식과 같습니다. MID 의 세 번째 인수에 SEARCH()로 찾은 위치 값을 넣는 것입니다. 그럼 시작부터 아이디의 끝인 @ 까지 문자열을 잘라서 반환하는 것이죠.



출처 : 녹두장군 블로그

출처 : 이종격투기
글쓴이 : 제정신이냐? 원글보기
메모 :