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:
Okomentovat