오피스ㆍ협업

엑셀에서 텍스트 대체, 바꾸기 함수를 활용하는 6가지 방법

JD Sartain | PCWorld 2017.12.18
엑셀의 텍스트 기능은 방대한 양의 데이터, 특히 다른 소스로부터 유입된 데이터와 관련된 작업을 할 때 엄청나게 시간을 아껴 준다. 다행히도 모든 ASCII 데이터의 유입 자체는 쉽게 이루어지지만, 이렇게 유입된 데이터의 형식은 소스에 따라 크기 달라질 수 있다.

예를 들어 필드를 탭, 스페이스, 콤마, 피리오드 등으로 한정할 수 있다. 그 어떤 값도 스페이스보다 선호되는데 그 이유는 스페이스는 필드 간에만 존재하는 것이 아니라 필드 내부의 단어들을 격리시켜 필드를 처리하는 것이 무척 힘들어지기 때문이다. 그리고 텍스팅 기능은 바로 이런 부분에서 큰 도움을 줄 수 있다.

1. 텍스트열 대체할 때 SUBSTITUTE 함수 사용하기
함수 체계: 바꾸기 함수의 체계(또는 문장 구조)은 다음과 같다.

=SUBSTITUTE(text, old text, new text, [Instance Num]).

주의: 만일 바꾸려는 숫자의 개수, 즉 몇 번째 텍스트인지를 특정하지 않으면 대상 텍스트 부분의 글자가 모두 새 텍스트(New Text)로 변경된다. 몇 번째 텍스트인지 특정할 경우 특정된 대상 텍스트만 바뀐다. 예컨대, 그 자리에 숫자 1을 넣을 경우 첫 번째 대상 텍스트만 변경되기를 원한다는 의미이다.

1. A열에 구문 입력 ( A2 에서 A13까지).
2. B열에 변경하고자 하는 단어 또는 구문 입력.
3. C열에 대상 텍스트 대체할 단어나 구문 입력..
4. D2셀에서 D7 셀까지 (혹은 데이터베이스 절반에 걸쳐) 다음의 공식 입력: =SUBSTITUTE(A2, B2,C2,1)
이렇게 하면 첫 번째 대상 텍스트만 바꿀 텍스트로 변경/대체된다.
5. 다음으로, 나머지 셀(이 경우 D8에서 D13까지)에 아래의 공식을 입력한다.
=SUBSTITUTE(A2, B2, C2). 이렇게 하면 모든 대상 텍스트를 바꿀 텍스트로 변경/대체하게 된다.

주의 : 이 함수는 대문자, 소문자 구별이 중요하다. 이대로 했는데 잘 안 된다면, 모든 텍스트의 대/소문자를 통일해 보도록 하자.

 

텍스트 한 줄을 다른 것으로 대체하는 SUBSTITUTE 기능을 활용해보자.


2. TRIM, RIGHT, 그리고 SUBSTITUTE 기능 활용하여 텍스트 열 중 마지막 단어 추출하기

이번 목표는 텍스트 열(예컨대 클라이언트 명단)에서 마지막 이름을 추출해내는 것이다.

1. A열에 이름 입력: 이름, 미들네임, 성, 또는 이니셜을 입력한다.
2. B2에 다음의 공식을 입력한다: =TRIM(RIGHT(SUBSTITUTE(A2,” “,REPT(“ “,50)),50)).
3. B2의 공식을 복사해 B3에서 B1000(데이터베이스 끝)까지 적용한다. 여기서는 데이터베이스에 1,000 개의 기록이 있다고 가정하겠다.
4. 이 공식은 SUBSTITUTE 함수가 텍스트 열의 모든 스페이스를 찾아내어 각 스페이스를 50 개의 스페이스로 대체하기 때문에 가능하다. RIGHT 함수는 50 개의 글자를(우측에서 좌측으로) 제거하며, TRIM 함수는 모든 잉여 선행 스페이스를 삭제하고 마지막 단어 하나만 남겨둔다. 텍스트 열이 아주 긴 경우, 위의 공식에서 50개 값의 100 개 이상의 스페이스를 대체해 보길 바란다.


3. LEFT & SEARCH 기능 활용하여 텍스트 열의 첫 번째 단어/이름 추출하기

이 공식은 클라이언트 명단에서 미들네임, 성은 남기고 이름만을 추출해 낼 때 유용하다.

1. A열에 이름을 입력한다 (위에서 사용한 이름들을 그대로 사용해도 좋다).
2. 다음 공식을 B2에서 B1000까지 입력한다: =LEFT(A2,SEARCH(“ “,A2)-1) 를 입력하면 각 클라이언트의 이름을 별개 열로 추출해 낼 수 있다.

4. TRIM, RIGHT, REPT, 그리고 SUBSTITUTE 기능 사용하여 첫 번째 단어를 제외한 나머지 단어 추출하기

이 기능은 예컨대 클라이언트 명단에서 중요 클라이언트만을 추출하기 위한 기능이다. 이 클라이언트들은 중요한 설문조사 정보를 제공하기 때문에 명단에 있는 각 개인의 타이틀이 서베이어(surveyor)에 영향을 미치지 않도록 하기 위한 것이다.

1. A열에 이름을 입력한다(위에서 사용한 이름들을 사용해도 좋다). 이름 앞에 Mr., Miss, Ms, Mrs. , Dr., Sir, Lord, Lady, Capt 등 타이틀이나 경칭을 입력한다.
2. Enter this formula in B2 에서 B1000까지 다음의 공식을 입력한다: =TRIM(RIGHT(SUBSTITUTE(TRIM(A2),” “,REPT(“ “,60)),180)) 를 입력하여 경칭을 제외한 모든 클라이언트들 전체 이름을 추출한다.
3. 만약 경칭을 추출하고 싶다면 다음의 공식을 C2에서 C1000까지 입력한다: =LEFT(A2,SEARCH(“ “,A2)-1).


5.LEFT, FIND, 그리고 SUBSTITUTE 기능 이용하여 이메일 주소에서 이름 추출하기

이메일 주소에서 클라이언트 이름, 도메인 명을 찾아 이를 일일이 타이핑한다는 것은 정말 지루하고 건조하기 짝이 없는 일이다. 게다가 클라이언트 명단에 5,000명이 넘는 사람이 있다면 더욱 그렇다. 다음의 공식을 활용하면 이런 작업을 몇 분 이내로 끝낼 수 있다.

1. A열에 이메일 주소를 입력한다.
2. B2 에서 B5000까지 다음의 공식을 입력한다: =LEFT(A2,FIND(“@”,a2)-1) 를 입력하여 모든 클라이언트의 풀 네임을 추출한다.


3. C2 에서 C5000까지 다음의 공식을 입력하여 성과 이름 사이의 언더스코어( _ )를 제거한다: =SUBSTITUTE(B2,” “,”_”).
4. F2 셀로 이동한다. 공식 > 텍스트 를 선택 한다. Functions Arguments 다이얼로그 스크린의 텍스트 필드 박스에 C2를 입력한다. 또는 C2 셀을 클릭 후 OK를 누른다. 이 공식은 클라이언트 이름의 대, 소문자를 교정해 줄 것이다(예컨대 각 이름의 첫 글자는 대문자로, 나머지 이름들은 소문자로).
5. F2 에서 F3에 있는 공식을 복사하여 F5000까지 적용 후 엔터를 누른다.

6. TRIM, LEFT, SUBSTITUTE, MID, FIND, LEN, 그리고 REPT 이용하여 이메일 주소에서 도메인 추출하기

1. Enter this formula in D2 에서 D5000까지 아래의 공식을 입력하여 이메일 주소의 도메인 이름을 추출한다:
=TRIM(LEFT(SUBSTITUTE(MID(A2,FIND(“@”,A2),LEN(A2)),” “,REPT(“ “,100)),100))
2.마지막으로, E2에서 E5000까지 다음의 공식을 입력하여 추출된 도메인 이름에서 @를 제거한다: =SUBSTITUTE(D2,”@”,””). editor@itworld.co.kr 
 Tags 엑셀 함수

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.