엑셀 / 함수 / REPLACE, REPLACEB / 특정 위치의 문자열을 바꾸는 함수
REPLACE는 문자열에서 시작 위치와 바꿀 문자 수를 지정해 해당 부분을 새 텍스트로 바꿉니다. 같은 단어를 찾아 바꾸는 SUBSTITUTE와 달리 문자의 위치를 기준으로 합니다. REPLACEB는 기존 바이트 단위 함수이며 Microsoft의 현재 문서에서는 사용 중단 예정 함수로 안내합니다.
REPLACE 구문과 인수
=REPLACE(old_text,start_num,num_chars,new_text)
old_text는 원본 문자열, start_num는 1부터 세는 시작 위치, num_chars는 제거할 문자 수, new_text는 넣을 문자열입니다. 원본 셀을 직접 수정하는 것이 아니라 결과 셀에 새 문자열을 반환합니다.
구문과 지원 제품은 Microsoft의 REPLACE 함수 설명에서 확인할 수 있습니다.
문자 위치로 바꾸기
=REPLACE("12345",3,2,"A")
=REPLACE("ABCDE",3,2,"XYZ")
위치를 기준으로 일부 문자를 바꾸는 예제입니다. 첫 수식은 세 번째 문자부터 두 문자 34를 A로 바꾸어 12A5, 두 번째 수식은 CD를 XYZ로 바꾸어 ABXYZE를 반환합니다.
교체할 부분과 새 문자열의 길이는 같지 않아도 됩니다. new_text에 ""을 넣으면 지정한 부분을 삭제합니다. num_chars에 0을 지정하면 원래 문자를 제거하지 않고 그 위치에 새 문자열을 넣습니다.
REPLACEB를 사용하는 기존 파일
REPLACE와 REPLACEB로 문자를 교체하는 비교 예제입니다. 문자 기준과 기존 더블바이트 언어 환경의 바이트 기준은 한글이 섞인 자료에서 서로 다른 결과가 날 수 있습니다.
REPLACEB의 바이트 계산은 UTF-8 파일의 실제 크기를 재는 개념이 아닙니다. 기존 수식은 언어 설정과 호환성에 따라 확인하고, 새 텍스트 처리에는 가능한 한 문자 기준 REPLACE를 사용하세요. 이모지가 포함된 자료도 통합 문서의 호환성 버전에 따라 문자 계산을 확인해야 합니다.
오류와 마스킹의 한계
start_num가 1보다 작거나 num_chars가 음수이면 #VALUE! 오류가 날 수 있습니다. 자릿수가 들쑥날쑥하면 고정 위치만으로 원하는 부분을 바꾸기 어려우므로 구분자 위치나 원본 길이를 먼저 검사합니다.
REPLACE로 개인정보 일부를 별표로 표시해도 원본 셀·수식 참조·다른 시트는 남습니다. 배포용 파일은 원본 데이터를 포함하지 않게 별도로 구성하고 확인해야 합니다. 찾은 텍스트 자체를 바꿀 때는 SUBSTITUTE 함수가 적합합니다.











