엑셀 SUBSTITUTE 함수
특정 문자를 다른 문자로 바꿉니다.
모든 버전구문
=SUBSTITUTE(텍스트, 찾을문자, 바꿀문자, [몇번째])| 인수 | 필수 | 설명 |
|---|---|---|
| 텍스트 | 필수 | 대상 셀 |
| 찾을문자 | 필수 | 바꿀 대상 문자열 |
| 바꿀문자 | 필수 | 새 문자열. 삭제하려면 "" |
| 몇번째 | 선택 | 생략하면 전부 바꿉니다 |
예시
=SUBSTITUTE(A2,"-","")- 결과
- "010-1234-5678" → "01012345678"
- 설명
- 전화번호에서 하이픈만 제거합니다.
언제 쓰나요
특정 문자열을 **다른 문자열로 바꿀 때** 씁니다. 전화번호의 하이픈 제거, 단위 문자 삭제, 눈에 안 보이는 공백 치환 같은 데이터 정리에 씁니다. REPLACE 가 '몇 번째 글자부터 몇 글자' 를 바꾸는 반면 SUBSTITUTE 는 **찾을 내용으로** 바꾸므로 위치를 몰라도 됩니다. 대소문자를 구분한다는 점을 기억하십시오.
자주 나는 오류와 해결
SUBSTITUTE 함수가 뜻대로 안 될 때 확인할 것들입니다.
대소문자가 다르면 안 바뀜
- 원인
- SUBSTITUTE 는 대소문자를 구분합니다
- 해결
- UPPER·LOWER 로 먼저 통일하거나, REPLACE 계열을 씁니다
여러 개를 한 번에 못 바꿈
- 원인
- SUBSTITUTE 는 한 번에 한 종류만 바꿉니다
- 해결
- 중첩합니다 — SUBSTITUTE(SUBSTITUTE(A2,"-","")," ","") 형태입니다
특정 순번만 바꾸고 싶음
- 원인
- 네 번째 인수를 안 썼습니다
- 해결
- 네 번째 인수에 순번을 넣으면 그 번째 것만 바뀝니다. 생략하면 전부 바뀝니다
결과가 텍스트라 계산이 안 됨
- 원인
- SUBSTITUTE 결과는 항상 텍스트입니다
- 해결
- 숫자로 쓸 값이면 VALUE 로 감쌉니다
안 보이는 공백이 안 지워짐
- 원인
- 웹에서 복사한 CHAR(160) 공백입니다
- 해결
- SUBSTITUTE(A2,CHAR(160),"") 로 명시적으로 지정합니다
함께 보면 좋은 것
이 함수를 만들어 주는 도구