엑셀 데이터를 다루다보면 어쩔수 없이 개인정보를 저장하게 되는데요. 개인정보보호법에 의해 주민등록번호나 연락처등이 문서에 노출이 되면 안됩니다.
문서에 전화번호나 주민등록이 반드시 들어가야 한다면 출력시 일부분을 다른문자로 변환해서 출력하면 됩니다.
이때 사용할수 있는 함수가 REPLACE 함수와 REPLACEB 함수입니다.
REPLACE는 지정한 문자 수에 따라 텍스트 문자열의 일부를 다른 텍스트 문자열로 바꿉니다.
REPLACEB는 지정한 바이트 수에 따라 텍스트 문자열의 일부를 다른 텍스트 문자열로 바꿉니다.
REPLACE는 SBCS(싱글바이트 문자 집합)를 사용하는 언어에 사용하며 REPLACEB는 DBCS(더블바이트 문자 집합)를 사용하는 언어에 사용합니다. 컴퓨터의 기본 언어 설정은 다음과 같이 반환 값에 영향을 줍니다.
REPLACE는 싱글바이트 문자든 더블바이트 문자든 상관없이, 또한 기본 언어 설정에 상관없이 항상 각 문자를 1로 계산합니다.
REPLACEB는 DBCS를 지원하는 언어를 편집할 수 있도록 설정하고 이 언어를 기본 언어로 설정한 경우 각 더블바이트 문자를 2로 계산합니다. 이러한 경우가 아니면 REPLACEB는 각 문자를 1로 계산합니다.
구분 확인하고 설명보시면 금방 이해가 갑니다.
REPLACE(old_text,start_num,num_chars,new_text)
REPLACEB(old_text,start_num,num_bytes,new_text)
old_text 일부 문자를 바꿀 문자열입니다.
start_num old_text에서 new_text로 바꿀 문자의 위치입니다.
num_chars old_text에서 new_text로 바꿀 문자의 수입니다.
num_bytes old_text에서 new_text로 바꿀 바이트의 수입니다.
new_text old_text에 바꿔 넣을 새 문자열입니다.
위그림의 예제입니다.
D3셀에 C3셀 데이터의 10번째 문자열부터 4개 문자를 "*"로 변환합니다.
D3셀에 =REPLACE(C3,10,4,"****")를 입력합니다.
REPLACE(old_text,start_num,num_chars,new_text)
old_text C3 -> 셀의 바꿀 문자열입니다.
start_num 10 ->10번째 문자열 바꿀 문자의 위치입니다.
num_chars 4 -> 10번째부터 4개의 바꿀 문자의 수입니다.
new_text **** -> old_text에 바꿔 넣을 새 문자열입니다.
결과는 123-5678-**** 로 표시됩니다.
위그림에서 보듯이 new_text를 문자열 하나로 처리해도 됩니다.
문자의 수나 바이트 수처럼 어려운 말이 쓰여 있지만 보기 좋게 자릿수 정해서 문자열로 변환후 출력하면 보기좋고 개인정보 유출도 걱정이 없는 문서가 됩니다.
댓글 영역