엑셀 작업을 하다 보면 텍스트의 특정 위치의 문자열을 다른 문자열로 대체해야 하는 경우가 있습니다.
주민등록번호 뒷자리를 별표(*)로 표시 하거나, 전화번호의 뒷 4자리를 별표(*) 표시를 하거나, 이름에서 앞자리 한자리만 표시해서 성만 보여주고 이름은 별표(*)로 표시해서 감추는 등 의외로 텍스트에서 일부 문자열을 다른 문자열로 바꾸는 작업은 자주 사용됩니다.
개인정보보호법이 강화되면서 이렇게 표시를 숨겨야할 항목이 늘어난게 큰 이유인듯 합니다.
엑셀에서 REPLACE() 함수를 사용하면 텍스트의 일부(지정된 위치와 지정 문자 개수)를 다른 텍스트로 바꿀 수가 있습니다.
참고로 단순히 문자열을 변경하는 찾기 및 바꾸기와 조금 다른 개념입니다.
이번 글에서는 엑셀에서 지정한 특정 위치의 일부 텍스트를 다른 텍스트로 변경하는 방법에 대해 알아보겠습니다.
엑셀에서 REPLACE를 사용하여 텍스트의 지정 위치 일부를 다른 텍스트로 바꾸는 방법
▶ REPLACE() 함수는 텍스트의 일부를 다른 텍스트로 바꾸어 주는 함수입니다.
– 사용 형식 : REPLACE(Old_text, Start_num, Num_chars, New_text)
- Old_text : 일부분을 바꾸려는 텍스트입니다.
- Start_num : Old_text에서 바꾸기를 시작할 위치로서, 문자 단위로 지정합니다.
- Num_chars : Old_text에서 바꾸려는 문자의 개수입니다.
- New_text : Old_text의 일부를 대체할 새 텍스트입니다.
1. 아래 화면은 전화번호 뒷자리 4자리를 별표(*)로 대체하는 화면입니다.
=REPLACE(B1, 10, 4, “****”)
– 설명 : B1 셀의 텍스트에서 10번째 자리에서 4개의 문자를 별표(*)로 대체합니다.
2. 위의 화면에서 두 번째 행을 보면 알겠지만 전화번호 중간이 3자리인 경우 뒷자리 1자리가 화면에 그대로 노출되는 오류가 발생했습니다. 1열과 2열의 전체 글자 수가 다르기 때문에 생긴 오류 입니다.
3. 이같은 오류를 해결하기 위해 시작할 위치의 인수를 LEN() 함수로 계산해 주었습니다.
=REPLACE(B1, LEN(B1)-3, 4, “****”)
– 설명 : B1 셀의 텍스트에서 뒤에서 네 번째가 시작되는 자리에서 4개의 문자를 별표(*)로 대체합니다.
4. “LEN(B1)-3“에서 LEN() 함수는 텍스트의 글자 수를 반환하는 함수 입니다.
뒤에서 4자리를 변경하는데 텍스트 글자 수에서 3을 빼준 이유는 뒤에서 4번째 자리부터 시작하기 위해서 입니다.
5. 아래 함수 인수 화면의 Start_num 부분을 보면 쉽게 이해할 수 있으리라 생각됩니다.
6. 아래 화면은 엑셀에서 REPLACE 함수를 사용하여 주민등록번호의 뒷자리를 별표(*)로 표시한 예시입니다.
- =REPLACE(B2, 9, 6, “******”) : 앞의 생년월일 8자리와 성별을 표시하는 뒤의 1자리만 표시하고 뒷 6자리를 별표(*)로 표시됩니다.
- =REPLACE(B2, 8, 7, “*******”) : 앞의 생년월일 8자리만 표시되고 뒷 7자리 모두 별표(*)로 표시됩니다.
마무리
이상으로 엑셀에서 지정한 특정 위치의 일부 텍스트를 다른 텍스트로 변경하는 방법에 대해 알아보았습니다.
이름, 주민등록번호, 전화번호 등의 주요 민간 데이터에 대해 일부 텍스트를 별표(*) 등으로 대체할 때 유용하게 사용할 수 있는 방법입니다.
※ 함께 읽으면 도움이 될 만한 다른 포스팅 글입니다.
이 글이 도움이 되었기를 바랍니다. ^-^