티스토리 뷰
엑셀에서 주민번호를 이용해 태어난 요일을 추출하는 방법은 WEEKDAY와 CHOOSE 함수를 함께 사용하여 간단하게 구현할 수 있습니다. 이 두 함수를 결합하면, 특정 날짜의 요일을 숫자로 반환한 후 그 숫자를 요일 이름으로 변환할 수 있습니다. 아래에서 이 과정을 단계별로 설명하겠습니다.
1. 주민번호에서 생년월일 추출하기
주민번호는 보통 YYYYMMDD-XXXXXXX 형식으로 되어 있으며, 앞의 6자리는 생년월일을 나타냅니다. 이 정보를 기반으로 생년월일을 추출하려면 엑셀의 MID 함수와 DATE 함수를 사용합니다.
예시:
주민번호가 880202-1234567
인 경우, 앞의 6자리인 880202
는 1988년 2월 2일을 나타냅니다. 여기서 중요한 점은, 주민번호의 뒷자리 첫 번째 숫자가 1 또는 2이면 1900년대에 태어난 사람이고, 3 또는 4이면 2000년대에 태어난 사람이라는 것입니다.
생년월일 추출 공식:
=DATE(IF(MID(A1,8,1)="1", "19", "20") & MID(A1,1,2), MID(A1,3,2), MID(A1,5,2))
위 공식을 사용하면 주민번호 A1
에서 생년월일을 추출할 수 있습니다. 여기서 MID
함수는 주민번호에서 특정 위치의 문자를 추출하고, DATE
함수는 이를 날짜 형식으로 변환합니다.
2. WEEKDAY 함수로 요일 구하기
생년월일을 추출한 후에는 WEEKDAY 함수를 사용하여 해당 날짜가 무슨 요일인지 알아낼 수 있습니다. WEEKDAY 함수는 특정 날짜에 해당하는 요일을 숫자로 반환합니다.
WEEKDAY 함수 구조:
=WEEKDAY(날짜, [Return_type])
- 날짜: 요일을 구하고자 하는 날짜입니다.
- Return_type: 반환되는 요일의 형식을 결정합니다.
1
: 일요일이 1이고 토요일이 7인 방식 (기본값).2
: 월요일이 1이고 일요일이 7인 방식.3
: 월요일이 0이고 일요일이 6인 방식.
예를 들어, 1988-02-02
에 대한 요일을 구하려면 다음과 같이 입력합니다:
=WEEKDAY(DATE(1988,2,2),2)
이 경우 결과는 2
로 반환되며 이는 화요일을 의미합니다.
3. CHOOSE 함수로 요일 이름 표시하기
WEEKDAY 함수는 숫자로 요일을 반환하지만, 이를 한글로 변환하려면 CHOOSE 함수를 사용해야 합니다. CHOOSE 함수는 숫자에 따라 미리 정의된 값을 반환하는 함수입니다.
CHOOSE 함수 구조:
=CHOOSE(숫자값, "옵션1", "옵션2", "옵션3", ...)
여기서 첫 번째 인수로 반환된 숫자값을 입력하고, 그 뒤에 각 숫자에 대응하는 요일명을 입력하면 됩니다.
예시:
=CHOOSE(WEEKDAY(DATE(1988,2,2),2), "월요일", "화요일", "수요일", "목요일", "금요일", "토요일", "일요일")
위 공식은 화요일(WEEKDAY
결과값이 2
)에 해당하는 "화요일"이라는 값을 반환하게 됩니다.
4. 주민번호에서 태어난 요일 추출하기
주민번호에서 직접 태어난 요일을 추출하려면 위의 모든 과정을 하나의 수식으로 결합할 수 있습니다.
전체 공식:
=CHOOSE(WEEKDAY(DATE(IF(MID(A1,8,1)="1","19","20")&MID(A1,1,2),MID(A1,3,2),MID(A1,5,2)),2), "월요일", "화요일", "수요일", "목요일", "금요일", "토요일", "일요일")
설명:
- MID(A1,8,1): 주민번호 뒷자리 첫 번째 숫자를 가져와서 출생 세기를 결정합니다.
- DATE(IF(...)): 주민번호에서 연도와 월/일 정보를 추출하여 날짜를 생성합니다.
- WEEKDAY(... ,2): 해당 날짜의 요일을 숫자로 반환합니다.
- CHOOSE(...): 반환된 숫자에 따라 요일명을 출력합니다.
결론
엑셀에서 주민번호를 이용해 태어난 요일을 추출하는 방법은 매우 간단하며, MID, DATE, WEEKDAY, 그리고 CHOOSE 함수를 적절히 결합하면 됩니다. 이 방법은 엑셀에서 다양한 데이터 분석 작업에 유용하게 활용될 수 있으며 특히 대량의 데이터에서 자동으로 요일을 계산하고 표시하는 데 매우 효과적입니다.