논리/엑셀 프로그래밍

주민등록번호로 만나이 구하기 (2)

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

예전에 올린 로직을 다듬음. 아마도 기준년도가 2020년 쯤 되면 ABS를 활용, 차이가 10년 이내면 2000, 아니면 1900...식으로 고쳐야 할지도 모름. 일단 아래는 설명을 자세히 한 버젼.

 

http://kin.naver.com/detail/detail.php?d1id=1&dir_id=1050202&eid=jckR23W6w0F415sdgGEIpVUjrnmKk034

 

 

 

B

C

D

E

F

G

H

I

J

2

2008년 05월 02일

 

 

 

0502

 

 

 

 

3

 주민번호

 보험미가입자

 보험가입가능한자

 

2008

 

 

 

 

4

930101-0000000

 

 

1993

0

15

 

5

930601-0000000

 

 

1993

1

14

 

6

930615-0000000

 

 

1993

1

14

 

7

 

 

 

 

 

 

 

 

 

8

2008년 06월 02일

 

 

 

 

 

 

 

 

9

 주민번호

 보험미가입자

 보험가입가능한자

 

 

 

 

 

 

10

930101-0000000

 

 

 

 

 

 

 

11

930601-0000000

 

 

 

 

 

 

 

12

930615-0000000

 

 

C4 =IF(YEAR($B$2)-(VALUE(LEFT(B4,2))+IF(LEFT(B4,1)>"0",1900,2000))-N(MID(B4,3,4)>TEXT(MONTH($B$2),"00")&TEXT(DAY($B$2),"00"))<15,"○","")

D4 =IF(YEAR($B$2)-(VALUE(LEFT(B4,2))+IF(LEFT(B4,1)>"0",1900,2000))-N(MID(B4,3,4)>TEXT(MONTH($B$2),"00")&TEXT(DAY($B$2),"00"))<15,"","○") ; C4:D4 잡아 아래로 C6:D6까지 복사.

 

C4 수식의 구조

F2 =TEXT(MONTH($B$2),"00")&TEXT(DAY($B$2),"00") ; 월일을 mmdd 형태로 만듬

F3 =YEAR(B2) ; 기준일의 연도

F4 =VALUE(LEFT(B4,2))+IF(LEFT(B4,1)>"0",1900,2000) ; 주민번호가 0으로 시작하면 2000, 아니면 1900

G4 =N(MID(B4,3,4)>F$2) ; 기준일이 생일을 지났으면 0, 아직 지나지 않았으면 1

H4 =F$3-F4-G4 ; 만 나이를 계산

I4 =IF(H4<15,"○","")

J4 =IF(H4<15,"","○")

I4에 F2:F4, G4, H4를 밀어넣고 정리하면 C4, J4를 뼈대로 같은 작업을 하면 D4가 됩니다.