불친절한 파파엘 Life

오늘은 엑셀함수 포스팅의 연장선으로 주민등록번호 예제를 이어서 합니다. 지난번 말씀드린 LEFT함수와 MID함수를 조금만 응용하면 멋들어진 표를 만들어 낼 수 있는데요. IF, MOD, REPT 함수를 이야기 하겠습니다.

 

=IF(조건,참일때 값,거짓일때 값)

주민등록번호에서 앞의 6숫자는 생년월일을, 뒤 7자리중 첫번째 숫자는 성별을 나타냅니다. 2000년 이전에는 남자는 1, 여자는 2로 분류되었지만, 2000년이 지나면서 3과 4가 추가되었죠. 결국 홀수는 남자, 짝수는 여자로 분류됩니다.

이 표현은 IF, MOD, MID함수를 사용하여 풀이할 수 있는데요. 위 예제에서 김부장의 성별을 표시하려면 =IF(MOD(MID(D3,8,1),2)=1,"남","여") 함수를 사용하면 되는데요. 주민등록번호 뒤 7자리중 첫번째 숫자를 찾고(MID), 그 수를 2로 나눴을 때 나머지가(MOD), 만약 홀수(1)라면 남자이고 짝수(0)라면 여자를 표시하게 됩니다. 조금 복잡해 보여도 차근차근 풀이하면 쉽습니다.

①과 ②번의 비교는 MOD함수가 들어간 것과 안들어 간것의 차이인데요. 보기만 해도 어지럽네요.

 

=MOD(데이터,나누는 값)

참고로 MID함수를 사용해 구한 문자/숫자는 모두 문자(텍스트)로 인식이 됩니다. 그래서 숫자와 비교하면 FALSE값이 나오게 되죠. 그런데 MOD함수를 사용해 구한 값은 모두 숫자로 인식이 됩니다.

위 예제에서보면 MID함수로 구한 9란 값은 문자(좌측정렬)로 인식합니다. 숫자 9(우측정렬)와는 다른 값(FALSE)으로 인식하죠. 이 값들을 5로 나눈 나머지 값을 구해보면 모두 숫자 4(우측정렬)라는 값을 구하게 되며 동일한 값(TRUE)로 인식합니다.

 

=REPT(데이터,반복횟수)

개인정보법으로 인해 주민등록번호 뒷자리는 받지 않지만, 10년전만 해도 뒷자리는 별표시를 했었습니다. 위 예제에서 김부장의 주민등록번호 뒷자리를 별처리 하려면  일부분을 다른 문자로 대체하려면 =LEFT(D3,8)&REPT("*",6)로 입력해 주세요.

주민등록번호 앞부분을 구하고(LEFT), 별표를 6개 만들어서(REPT), 두 문자열을 합치게(&) 되는데요. 여기서 REPT함수는 지정한 문자를 반복하는 함수입니다. 즉, REPT("*",6)의 값은 ****** 이 되는 것이죠.

만약 중간 일부분을 별표로 바꾸겠다면...... LEFT, REPT, RIGHT함수를 섞어주면 되겠네요.

 

공유하기

facebook twitter kakaoTalk kakaostory naver band