엑셀 / 함수 / 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를 반환합니다.

위치를 기준으로 일부 문자를 바꾸는 예제입니다. 첫 수식은 세 번째 문자부터 두 문자 34를 A로 바꾸어 12A5, 두 번째 수식은 CD를 XYZ로 바꾸어 ABXYZE를 반환합니다.

교체할 부분과 새 문자열의 길이는 같지 않아도 됩니다. new_text에 ""을 넣으면 지정한 부분을 삭제합니다. num_chars에 0을 지정하면 원래 문자를 제거하지 않고 그 위치에 새 문자열을 넣습니다.

REPLACEB를 사용하는 기존 파일

REPLACE와 REPLACEB로 문자를 교체하는 비교 예제입니다. 문자 기준과 기존 더블바이트 언어 환경의 바이트 기준은 한글이 섞인 자료에서 서로 다른 결과가 날 수 있습니다.

REPLACE와 REPLACEB로 문자를 교체하는 비교 예제입니다. 문자 기준과 기존 더블바이트 언어 환경의 바이트 기준은 한글이 섞인 자료에서 서로 다른 결과가 날 수 있습니다.

REPLACEB의 바이트 계산은 UTF-8 파일의 실제 크기를 재는 개념이 아닙니다. 기존 수식은 언어 설정과 호환성에 따라 확인하고, 새 텍스트 처리에는 가능한 한 문자 기준 REPLACE를 사용하세요. 이모지가 포함된 자료도 통합 문서의 호환성 버전에 따라 문자 계산을 확인해야 합니다.

오류와 마스킹의 한계

start_num가 1보다 작거나 num_chars가 음수이면 #VALUE! 오류가 날 수 있습니다. 자릿수가 들쑥날쑥하면 고정 위치만으로 원하는 부분을 바꾸기 어려우므로 구분자 위치나 원본 길이를 먼저 검사합니다.

REPLACE로 개인정보 일부를 별표로 표시해도 원본 셀·수식 참조·다른 시트는 남습니다. 배포용 파일은 원본 데이터를 포함하지 않게 별도로 구성하고 확인해야 합니다. 찾은 텍스트 자체를 바꿀 때는 SUBSTITUTE 함수가 적합합니다.

같은 카테고리의 다른 글
엑셀 / 특정 문자 앞, 특정 문자 뒤 텍스트 추출하는 방법

엑셀 / 특정 문자 앞, 특정 문자 뒤 텍스트 추출하는 방법

구분자 앞뒤 문자열을 LEFT·RIGHT·FIND·LEN으로 추출합니다. 첫 구분자 기준의 동작, 없는 구분자의 처리 및 TEXTBEFORE·TEXTAFTER 대안도 설명합니다.

엑셀 / 피벗 테이블 / 여러 범위로 다중 피벗 테이블 만드는 방법

엑셀 / 피벗 테이블 / 여러 범위로 다중 피벗 테이블 만드는 방법

기존 다중 통합 범위 피벗 마법사로 여러 요약 범위를 합치는 방법을 설명합니다. 필드 분석의 한계·범위 추가·새로 고침과 Power Query 대안도 다룹니다.

엑셀 / 셀 병합하기, 셀 분할하기

엑셀 / 셀 병합하기, 셀 분할하기

병합하고 가운데 맞춤·전체 병합·셀 병합·셀 분할을 비교합니다. 병합 과정의 데이터 손실, 해제의 한계와 표 편집에 미치는 영향도 설명합니다.

엑셀 / 나누기, 몫 구하기, 나머지 구하기

엑셀 / 나누기, 몫 구하기, 나머지 구하기

나눗셈 연산자와 QUOTIENT·MOD의 결과를 비교합니다. 0으로 나누는 오류와 음수에서 몫·나머지가 계산되는 방식도 예제로 설명합니다.

엑셀 / 함수 / SUMSQ / 제곱의 합 구하는 함수

엑셀 / 함수 / SUMSQ / 제곱의 합 구하는 함수

SUMSQ로 여러 수의 제곱합을 구하는 구문과 범위 예제를 안내합니다. 합의 제곱과의 차이, 통계의 편차 제곱합과의 구분도 설명합니다.

엑셀 / 주민등록번호 뒷자리 별표로 바꾸는 방법

엑셀 / 주민등록번호 뒷자리 별표로 바꾸는 방법

REPLACE로 하이픈 유무에 따라 주민등록번호 뒷자리를 별표로 표시하는 방법을 설명합니다. 형식 검사와 원본이 남지 않는 배포용 파일 확인 절차도 안내합니다.

엑셀 / 함수 / RANK, RANK.EQ, RANK.AVG / 순위 구하는 함수

엑셀 / 함수 / RANK, RANK.EQ, RANK.AVG / 순위 구하는 함수

RANK·RANK.EQ·RANK.AVG의 순위 기준과 동점 처리를 비교합니다. 범위 고정과 오름차순·내림차순 예제로 순위표를 만들 수 있습니다.

엑셀 / 함수 / MAX, MIN, MAXIFS, MINIFS / 최댓값, 최솟값 구하는 함수

엑셀 / 함수 / MAX, MIN, MAXIFS, MINIFS / 최댓값, 최솟값 구하는 함수

MAX·MIN과 조건별 MAXIFS·MINIFS를 비교하고 실제 범위 예제로 설명합니다. 조건에 맞는 데이터가 없을 때의 결과와 지원 버전도 확인할 수 있습니다.

엑셀 / 시트의 눈금선 없애는 방법

엑셀 / 시트의 눈금선 없애는 방법

보기 탭에서 눈금선을 숨기고 다시 표시하는 방법을 안내합니다. 셀 테두리와 인쇄 눈금선의 차이, 눈금선 색과 채우기 색의 영향도 설명합니다.

엑셀 / 함수 / UPPER, LOWER, PROPER / 대문자로 또는 소문자로 변환하는 함수

엑셀 / 함수 / UPPER, LOWER, PROPER / 대문자로 또는 소문자로 변환하는 함수

UPPER·LOWER·PROPER의 변환 결과를 비교합니다. 영문 약어와 이름에서 PROPER가 기대와 다르게 작동하는 경우 및 원본에 값으로 반영하는 방법도 안내합니다.