목차▾
엑셀 REPLACE 함수란?
엑셀 REPLACE 함수는 지정 위치의 지정 문자 수를 새 텍스트로 교체하는 텍스트 함수입니다. 전화번호·주민번호·카드번호처럼 위치가 정해진 마스킹에 표준. 값이 아니라 위치로 지정한다는 점이 SUBSTITUTE와 다름.
구문은 =REPLACE(원본, 시작위치, 문자수, 새텍스트) 4인수. 위치는 1부터 시작. num_chars가 0이면 삽입 모드(원본 훼손 없이 끼워넣기).
REPLACE vs SUBSTITUTE
| 함수 | 지정 방식 | 주 사용 |
|---|---|---|
| REPLACE | 위치(숫자) 지정 | 주민번호 마스킹처럼 위치 고정 |
| SUBSTITUTE | 값(텍스트) 지정 | 단어 교체, "old" → "new" |
→ 위치 알면 REPLACE, 값을 알면 SUBSTITUTE.
위치 지정 + num_chars=0 삽입
=REPLACE("abcdefg", 3, 2, "***")
→ "ab***efg" (3번째부터 2글자 → ***)
=REPLACE("abcdefg", 4, 0, "XYZ")
→ "abcXYZdefg" (num_chars=0 → 삽입)
=REPLACE("abcdefg", 3, 2, "")
→ "abefg" (new_text="" → 삭제)
→ num_chars=0: 삽입, new_text="": 삭제. 조합 활용도 높음.
실전 사용 시나리오 8가지
- 전화번호 마스킹 —
=REPLACE(A1, 5, 4, "****")→ 010-****-5678 - 주민번호 뒷자리 마스킹 —
=REPLACE(A1, 8, 7, "*******") - 카드번호 중간 마스킹 —
=REPLACE(A1, 6, 8, "****-****") - 이름 가운데 마스킹 —
=REPLACE(A1, 2, 1, "*")→ 홍*동 - 이메일 도메인 마스킹 —
=REPLACE(A1, FIND("@", A1), 100, "@***") - 접두어 삽입 —
=REPLACE(A1, 1, 0, "010-") - 특정 위치 문자 삭제 —
=REPLACE(A1, 5, 1, "") - 뒤에서 N자 마스킹 —
=REPLACE(A1, LEN(A1)-3, 4, "****")
FIND·LEN 결합 동적 위치
REPLACE는 정적 위치가 한계. FIND(값 위치 찾기)나 LEN(길이)과 결합하면 동적 위치 지정 가능.
이메일 아이디 마스킹 (@ 앞까지)
=REPLACE(A1, 1, FIND("@", A1)-1, "***")
→ example@domain.com → ***@domain.com
파일명 앞 경로 제거
=REPLACE(A1, 1, FIND("/", A1), "")
→ path/to/file.txt → to/file.txt (첫 / 이후)
뒤에서 N번째부터 마스킹
=REPLACE(A1, LEN(A1)-N+1, N, REPT("*", N))
→ 계좌번호 뒤 4자 마스킹 등
자주 발생하는 함정 6가지
- start_num이 텍스트 길이 초과 — 원본 뒤에 new_text 추가됨 (오류 X). 예: REPLACE("abc", 10, 1, "X") → "abcX"
- num_chars=0은 "삽입" — 삭제 X, 지정 위치에 new_text 끼워넣기. 접두어 삽입 활용
- num_chars가 남은 글자보다 큼 — 남은 글자 모두 대체. REPLACE("abcde", 3, 100, "X") → "abX"
- 한글 REPLACE vs REPLACEB — REPLACE는 글자 단위, REPLACEB는 바이트 단위(한글 2바이트). 한글엔 REPLACE
- SUBSTITUTE와 혼동 — 위치 지정 = REPLACE, 값 지정 = SUBSTITUTE. "hello" 안의 "l" 바꾸려면 SUBSTITUTE
- 결과가 문자열 — REPLACE 결과는 항상 텍스트. 숫자로 쓰려면
VALUE(REPLACE(...))
자주 묻는 질문
Q. REPLACE 함수 사용법은?
=REPLACE(원본, 시작위치, 문자수, 새텍스트) 형식. 예: =REPLACE("010-1234-5678", 5, 4, "****") → "010-****-5678". 위치는 1부터 시작.
Q. REPLACE vs SUBSTITUTE 차이는?
REPLACE는 위치 지정, SUBSTITUTE는 값 지정. 주민번호처럼 위치가 정해진 마스킹은 REPLACE, "old"를 "new"로 단어 교체는 SUBSTITUTE.
Q. 주민번호 뒷자리 마스킹은?
=REPLACE(A1, 8, 7, "*******"). 8번째 위치(하이픈 다음)부터 7글자를 별표로. 카드번호는 =REPLACE(A1, 6, 8, "****-****") 형태.
Q. num_chars=0은 뭔가요?
삽입 모드. 지정 위치에 new_text를 끼워넣음. 예: =REPLACE("12345", 1, 0, "010-") → "010-12345". 앞에 접두어 붙일 때 유용.
Q. 동적 위치는 어떻게?
FIND·LEN 결합. 이메일 도메인 마스킹: =REPLACE(A1, FIND("@", A1)+1, 100, "***"). 뒤에서 N자 마스킹: =REPLACE(A1, LEN(A1)-N+1, N, REPT("*", N)).
Q. 한글도 잘 되나요?
REPLACE는 글자 단위라 한글도 1자로 처리. "홍길동" 3자. REPLACEB는 바이트 단위(한글 2바이트)라 한글엔 REPLACE 권장.
Q. 결과가 숫자 계산이 안 돼요.
REPLACE 결과는 문자열. 숫자로 쓰려면 =VALUE(REPLACE(...)) 또는 =--REPLACE(...) (이중 음수).
Q. 구글 스프레드시트에서도 동일하게 작동하나요?
네. REPLACE·SUBSTITUTE 모두 표준 텍스트 함수로 Google Sheets, LibreOffice Calc, Apple Numbers, 한컴 한셀, WPS에서 동일하게 작동합니다.
본 페이지는 Microsoft Support 공식 REPLACE·SUBSTITUTE·FIND 문서를 기준으로 작성되었습니다. 정확한 동작은 Excel 버전·환경에 따라 달라질 수 있으니 중요한 작업 전에는 실제 환경에서 확인하세요.