논리/엑셀 프로그래밍

주민번호로 특수조건 나이 구하기

섬그늘 2008. 11. 14. 11:11

 

B

C

D

E

F

G

H

I

2

010301-1******

5

1

7

5

0301

0

5

3

010228-2******

6

 

 

 

 

 

 

4

030301-1******

3

 

 

 

 

 

 

5

080301-2******

98

 

 

 

 

 

 

6

870301-2******

19

 

 

 

 

 

 

C2 =IF(VALUE(LEFT(B2,2))<YEAR(NOW())-2000,YEAR(NOW())-2000-VALUE(LEFT(B2,2)),YEAR(NOW())-VALUE(LEFT(B2,2))-1900)-1+N(MID(B2,3,4)<"0301")  ; C2 잡아 데이타 행수 만큼 아래로 드래그하면 작업 끝.

 

C2 수식 구조 (D2:I2)

D2 =VALUE(LEFT(B2,2))  ; 주민번호의 연도를 숫자화

E2 =YEAR(NOW())-2000  ; 현재년도-2000

F2 =IF(D2<E2,E2-D2,YEAR(NOW())-D2-1900)-1  ; D2가 E2보다 작으면 2000년대 출생

G2 =MID(B2,3,4)  ; 생일 문자열

H2 =N(G2<"0301")  ; 문제의 정의에 따라, 생일 문자열이 "0301" 보다 작을 때만 1이 되는 수식

I2 =F2+H2

; I2에 D2:H2를 밀어넣고 정리하면 C2가 됨.

'논리 > 엑셀 프로그래밍' 카테고리의 다른 글

2차원 보간법 수치 찾기  (0) 2008.11.14
복소수 4칙연산 체계 기초  (0) 2008.11.14
구간별 시간 계산  (0) 2008.11.14
조건부 순위 매기기  (0) 2008.11.14
10 측정값으로 합부판정   (0) 2008.11.14