엑셀 REPLACE
특정 위치부터 N글자를 잘라 새 텍스트로 바꾸는 함수 — 주민번호·카드번호 마스킹의 정석
REPLACE 수식 구조
텍스트 (old_text)
원본 문자열. 셀 참조 또는 직접 텍스트
시작위치 (start_num)
교체 시작 위치. 1부터 시작 (프로그래밍의 0이 아닌 1-based)
길이 (num_chars)
잘라낼 글자 수. 0이면 삽입만, 기존 글자 유지
새텍스트 (new_text)
그 자리에 들어갈 문자열. 길이가 num_chars와 달라도 OK (결과 길이는 자동 조정)
직접 체험해보세요
시작 위치와 길이 슬라이더를 움직여보세요. 잘려나갈 구간이 분홍색으로 강조됩니다. 길이를 0으로 두면 삽입만 됩니다
8번부터 7글자를 잘라내고 새 텍스트로 교체
원본 (A2)
8~14번 글자 → 새 텍스트로 교체
REPLACE 결과 (B2)
새로 삽입된 부분 · 나머지는 원본 그대로
원본 길이
14
삭제
7
결과 길이
14
실전 활용 예제
=REPLACE(A2, 8, 7, "*******")주민등록번호 뒷자리 마스킹 — "901015-1234567"의 8번 위치(- 다음)부터 7글자를 *로 교체. 개인정보 노출 방지 패턴.
=REPLACE(A2, 6, 9, "****-****")카드번호 중간 가리기 — 카드번호 16자리 중 가운데 8자리를 *로. 앞 4·뒤 4만 보여주는 PCI 표준 마스킹.
=REPLACE(A2, 1, 0, "010-")맨 앞에 삽입 (num_chars=0) — 휴대폰 번호에 국가코드처럼 prefix 붙이기. 시작위치 1, 길이 0이면 순수 삽입.
다른 엑셀 함수도 알아보세요
REPLACE vs SUBSTITUTE — 언제 무엇을?
▼
이름은 비슷하지만 동작이 정반대입니다. 잘못 쓰면 엉뚱한 결과 — "무엇을 바꿀지 정하는 방식"이 핵심.
| 상황 | REPLACE | SUBSTITUTE |
|---|---|---|
| 위치를 정확히 알 때 | ✓ | ❌ |
| 특정 문자를 모두 바꿀 때 | ❌ | ✓ |
| 주민번호·카드번호 마스킹 | ✓ | △ |
| 하이픈·공백 제거 | ❌ | ✓ |
| N번째 매칭만 | ❌ | ✓ |
한마디로: "N번째 자리부터" → REPLACE, "특정 문자를" → SUBSTITUTE. 자세한 내용 매칭은 SUBSTITUTE 페이지.
마스킹·삽입·잘라내기 — 위치 기반 3패턴
▼
1. 마스킹 — 보이지 말아야 할 부분
=REPLACE(A2, 8, 7, REPT("*", 7))
REPT로 별표 7개 동적 생성. 마스크 길이가 가변일 때 유용
2. 삽입 — num_chars=0의 위력
=REPLACE(A2, 4, 0, "-")
4번 위치 앞에 하이픈 삽입. 기존 글자는 그대로 유지
3. 잘라내기만 — new_text=""
=REPLACE(A2, 5, 3, "")
5번 위치부터 3글자 삭제. 빈 문자열로 교체
이 3패턴이 REPLACE 사용의 95%. 어떤 글자를 다룰지보다 어디서 어디까지가 중요합니다.
FIND·LEN과 결합 — 동적 위치 찾기
▼
REPLACE의 약점은 위치를 미리 알아야 한다는 것. 데이터마다 위치가 다르면 FIND·LEN과 조합해 동적으로 위치를 계산.
이메일 도메인만 가리기
=REPLACE(A2, FIND("@", A2)+1, 99, "***")
@ 위치를 FIND로 찾아서 그 뒤를 모두 ***로 교체. 99는 충분히 큰 수
마지막 N글자만 마스킹
=REPLACE(A2, LEN(A2)-3, 4, "****")
LEN으로 끝 위치 역산. 카드번호 끝 4자리 가리기 등
이 패턴은 REPLACE의 진가입니다. 위치를 동적으로 계산하면 SUBSTITUTE로는 어려운 작업이 깔끔하게 됩니다.
자주 묻는 질문 (FAQ)
▼
Q. start_num이 텍스트 길이를 넘어가면?
텍스트 끝에 new_text가 추가됩니다. 예: REPLACE("ABC", 10, 0, "XYZ") = "ABCXYZ". 음수면 #VALUE! 오류.
Q. 한글이나 이모지에서 위치는?
REPLACE는 문자 단위로 셉니다 (바이트 아님). 한글 한 글자 = 1, 일반 이모지도 거의 1. 단, 일부 확장 이모지(👨👩👧👦처럼 ZWJ로 결합된 것)는 여러 코드 포인트라 의도와 다를 수 있습니다.
Q. REPLACEB는 뭐가 다른가요?
REPLACEB는 바이트 단위로 셉니다 (DBCS 환경). 한국어 윈도우에서 한글 한 글자 = 2바이트로 계산. 한국어 텍스트 다룰 때 의도와 다를 수 있으니 보통 REPLACE 사용.
Q. 결과를 셀에 직접 덮어쓰고 싶어요
REPLACE는 수식이라 새 셀에 결과만 표시. 원본 셀을 영구 변경하려면 결과를 복사 → 값으로 붙여넣기(Ctrl+Alt+V → 값). 또는 Ctrl+H의 Find & Replace는 위치 기반은 직접 지원 X — REPLACE 함수가 더 정확.