MS Excel - Převod rodného čísla na datum


Úkol:

Převést rodné číslo na datum.

Postup při řešení
Řešení existuje větší množství, já vybral názornější, ať si procvičíme více různých funkcí včetně formátování buněk.
Jak funguje rodné číslo
Jde o 10-ti místné číslo (9-ti místné u lidí s datem narození do 1. 1. roku 1954), kde první dvě čísla jsou zkratkou roku narození, další dvě měsíce narození (u žen je přičteno navíc 50, u mužů někdy 20), další dvě pak jsou pro narozeninový den. No a poslední 4 čísla označují matriku a pořadové číslo narození ( u dříve narozených je koncovka pouze 3-místná).
Navíc rodné číslo má i kontrolní funkci, jelikož je dělitelné 11 beze zbytku.
Algoritmus řešení
(vycházíme z obrázku)

Bereme v úvahu, že nejmladší člověk bude narozen 1910 a nejstarší se bude moci narodit 2009 (pro širší okruh by se musela dodělat ještě jedna podmínka). Pro názornou ukázku toto postačí.
Postup:
1.    rozdělíme si rodné číslo na rok, měsíc, den... =ČÁST(B2;1;2)
2.    převedeme na číslo (viz článek o textových funkcích) =C2+0
3.    u roku zjistíme, zda se jedná již o rok 2000 (tj. bude tam 00-09), a vytvoříme správný rok (1910 – 2009) =KDYŽ(C3<9;C3+2000;C3)
4.    oddělíme měsíc =ČÁST(B2;3;2)
5.    zjistíme, jestli je to žena, když ano, odečteme 50, (žena má na třetím místě RČ 5 nebo 6)=ČÁST(B2;3;1) =KDYŽ(C6="0";1;KDYŽ(C6="1";1;2))
6.    vytvoříme měsíc (tady už budeme mít rovnou číslo)=KDYŽ(C7=1;C5;C5-50)
7.    oddělíme den=ČÁST(B2;5;2)
8.    vytvoříme den (ve formátu číslo)=C9+0
9.    naformátujeme buňku na datum (o formátování více v jiném článků) a sloučíme datum=DATUM(C4;C8;C10)
Hotovo!
A máme z rodného čísla datum narození.
Doplnění
Ještě by se měl algoritmus doplnit o možnost, že má někdo více než 100 let. U staršího člověka je jeho rodné číslo 9-ti místné, to bývalo do 1. 1. 1954. Ale to již si bez problému doprogramujete :) . Nezapomeňte na jednoduchou kontrolu, zda je RČ dělitelné 11!


Žádné komentáře: