본문 바로가기
잔머리 엑셀

REPLACE 함수를 써서 민감한 정보를 가려보자

by Lv. 35 라이츄 2024. 10. 30.

참고로 이 함수 역시 Office 365에서만 된다.


일단 저 명단의 민번과 전번은 전부 내가 임의로 만든것임을 밝히며... 여기 가상의 명단이 있다. 그리고 우리는 지금부터 여기서 주민등록번호 일부(뒤 6자리)와 전화번호 일부(가운데 4자리)를 가릴거다. 

 

이 명단은 B2부터 시작이고 주민등록번호는 C3부터 시작된다. 일단 F3셀에 커서를 가져간 다음 =REPLACE(C3,9,6,"******")을 입력하고 엔터키를 딱 치면 

 

된거 맞다.

 

근데 왜 9인가요? 저 함수 대체 왜 저렇게 되는거예요? REPLACE 함수의 입력 인자는 1) 어떤걸 2) 어디서부터(몇 번째 글자부터) 3) 어디까지 4) 바꿀 문자 이다. 그러니까 C3의 주민등록번호 9번째 글자부터 6번째 글자(끝)까지 ******으로 바꿔달라는 얘기인데, 왜 9번째냐... 하나하나 세 보면 압니다... 근데 헷갈리죠? 

 

자간이 좀 뻑났지만 순서가 이렇게 된다. 앞자리 여섯자리+하이픈+뒷자리 한자리까지가 여덟번째.

 

전화번호도 비슷한 방법으로 대체할 수 있다. G3셀에 커서를 가져간 다음 =REPLACE(D3,5,4,"****")를 입력하면 전화번호의 가운데가 ****로 바뀐 것을 볼 수 있다. 

 

어? 그런데 저거 꼭 ****** 이런 식으로 써야 하나요? 하나만 쓰면 안되나요?

*을 하나만 쓰면 이렇게 된다. 짤린게 아님. 


여기까지 보신 분들 중 이런 궁금증이 생긴 분이 계실 것이다. "그럼 문자에 공백이 있을때는 어떻게 해요?" 나도 모르겠으니까 일단 해보자. 

 

여기 예문이 있다. 여기서 콩팥을 @@으로 바꿔볼건데... 공백을 포함해서 세야 할까, 공백을 빼고 세야 할까? 

 

위는 =REPLACE(B2,3,2,"@@"), 아래는 =REPLACE(B2,2,2,"@@")를 쓴 것이다. 위는 공백까지 포함했기 때문에 콩이 3번이 되고 아래는 공백을 빼고 셌기 떄문에 콩이 2번이 된다. 그리고 의도대로 된 건 공백을 포함해서 센 위쪽이었다.

즉, 문자열에 공백이 포함되어 있으면 공백도 같이 세줘야 한다

최근댓글

최근글

skin by © 2024 ttutta