본문 바로가기
Ssalaryhacks

엑셀 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),"") 로 명시적으로 지정합니다

이 함수를 만들어 주는 도구

대신 쓸 수 있는 함수

REPLACE 도 대안이지만 아직 설명 페이지가 없습니다.

텍스트 함수 더 보기