Manažerská informatika 3MA381
Domů  |  3MA112  |  3MA191  |  3MA381  |  3MA382  |  3MA481   
Osnova cvičení Úvodní informace Harmonogram prezentací Hodnocení Podklady ke cvičením Teorie Domácí cvičeníExtra aktivity Odkazy

Ověření správnosti rodného čísla

Obsah:

Upozornění:
Všechna použitá rodná čísla jsou smyšlená. Jakékoliv zneužití rodného čísla či použití falešného rodného čísla při identifikaci je trestný čin ve smyslu zákonů České republiky. Tento příklad může být použit pouze k pochopení principu fungování rodných čísel. Autor nezodpovídá za pravost vygenerovaných rodných čísel a zříká se jakékoliv odpovědnosti za jejich použití či zneužití.

Pravidla platná pro rodné číslo

Rodné číslo je jednoznačné identifikační číslo, které se v České republice skládá z části data narození, pořadového čísla a případně kontrolní číslice.

Konstrukce rodného čísla

Prvních šest čísel rodného čísla je vždy částí data narození dané osoby.

Po prvních šesti číslech zpravidla následuje lomítko "/", které se však při zápisu na technických nosičích často vynechává.

Do 31.12.1953 se za lomítko přidávaly právě tři číslice. Ty vyjadřují pořadové číslo narozené osoby v daný den.

Od 1. 1. 1954 se za lomítko kromě těchto třech číslic přidává ještě čtvrtá číslice, sloužící jako kontrolní číslice. Kontrolní číslice se doplní tak, aby celé rodné číslo bylo beze zbytku dělitelné jedenácti. Na posledním místě rodného čísla je tak zbytek po dělení devítimístného rodného čísla číslem jedenáct. Z tohoto pravidla existuje výjimka. Pokud je zbytek po dělení devítimístného čísla roven deseti (a neexistuje žádná kontrolní číslice, která by splňovala předchozí podmínku), jako kontrolní číslice se použije nula (a celé rodné číslo pak dělitelné jedenácti není). Tato výjimka byla použita zhruba u tisícovky rodných čísel a přidělování takových rodných čísel bylo roku 1985 podle interního předpisu Federálního statistického úřadu č. Vk. 2898/1985 ukončeno.

Kontrola rodného čísla

Rozlišení mužů a žen

Obecně platí, že ženám se ke druhému dvojčíslí rodného čísla (tedy k měsíci narození) přičítá číslo 50. Od roku 2004 (zákonem č. 53/2004 Sb.) je zavedena možnost v případě, že jsou v nějaký den vyčerpána všechna platná čtyřčíslí, použít alternativní rodné číslo, u kterého mají muži k číslu měsíce přičteno číslo 20 a ženy 70.

Možné kombinace čísel

Z výše uvedených skutečností vyplývá, že na jednotlivých pozicích rodného čísla mohou být tyto číslice:

Nahoru

Vysvětlení vybraných pravidel pro kontrolu rodného čísla

Je rodné číslo správné? Je datum obsažený v rodném čísle reálný? Je rodné číslo pravé? Patří rodné číslo konkrétnímu člověku? Na některé z těchto otázek si dokážeme odpovědět. Využijeme k tomu Excel, který si s těmito otázkami snadno poradí. Kontrola rodného čísla je ale samozřejmě pouze formální.

Kolik číslic má rodné číslo?

V Excelu můžeme využití například funkce DÉLKA.

      A B C
1 7401040020 10 =(DÉLKA(A1)

Je rodné číslo dělitelné jedenácti?

Vzhledem k tomu, že kontrolní číslice se u rodného čísla přidává až od 1. 1. 1954, lze ověřit dělitelnost jedenácti až u těchto čísel. Tedy u všech desetimístných. Jako ideální by se v tomto případě jevilo použití modula.
Funkce MOD Excelu pro ověření dělitelnosti čísla beze zbytku není v tomto případě vhodné - viz http://support.microsoft.com/kb/119083

Využití kritéria dělitelnosti

V desítkové číselné soustavě lze dělitelnost ověřit pomocí kritéria dělitelnosti. Je-li rozdíl součtu číslic na sudém a lichém místě dělitelný jedenácti, pak je rodné číslo dělitelné jedenácti.

Například pro rodné číslo 7401040020:

(7+0+0+0+2)-(4+1+4+0+0)=9-9=0

Nula je dělitelná jedenácti beze zbytku.

Pomocí funkce ČÁST v Excelu:

      A B C
1 7401040020 0 =(ČÁST(A1;1;1)+ČÁST(A1;3;1)+ČÁST(A1;5;1)+ČÁST(A1;7;1)+ČÁST(A1;9;1))(ČÁST(A1;2;1)+ČÁST(A1;4;1)+ČÁST(A1;6;1)+ČÁST(A1;8;1)+ČÁST(A1;10;1))

V tomto případě nám mohou u rodného čísla vyjít výsledky -44, -33, -22, -11, 0, 11, 22, 33.

Pro člověka je toto číslo již na první pohled dělitelné jedenácti beze zbytku. Pro kontrolu rodného čísla v Excelu můžeme na toto číslo bez problému aplikovat funkci MOD. Nabízí se tedy například kombinace kritéria dělitelnosti a funkce MOD.

      A B C D
1 7401040020 0 0 =MOD(B1;11)

Číslo 7401040020 je dělitelné jedenácti beze zbytku.

Využití funkce CELÁ.ČÁST

Zda je číslo dělitelné jedenácti beze zbytku můžeme ověřit srovnáním výsledku po dělení jedenácti a celočíselného výsledku po dělení jedenácti.

      A B C
1 7401040020 PRAVDA =A1/11=CELÁ.ČÁST(A1/11)

Číslo 7401040020 je dělitelné jedenácti beze zbytku.

Nahoru

Odvození data narození

Jak je již popsáno výše, jsou rodná čísla do 31.12.1953 devítimístná a od 1.1.1954 desetimístná. Rodné číslo je ve formátu RRMMDD/KKK resp. RRMMDD/KKKK, kde RR je ročník narození, MM měsíc a DD den narození.

Odvození roku narození

První dvojčíslí je ročníkem narození. Podle délky rodného čísla poznáme, zda se jedná o rok před či po Y2K.

      A B C
1 7401040020 1974 =KDYŽ(NEBO(DÉLKA(A1)=9;A(DÉLKA(A1)=10;ČÁST(A1;1;2)*1>=54));1900+ČÁST(A1;1;2);2000+ČÁST(A1;1;2))

pozn.:ve vzorci je použito násobení číslem jedna – to slouží k snadnému převodu textu (čísla ve formě textu) na hodnotu. Stejně tak by šla použít i funkce HODNOTA.

Konstrukce vzorce

Jestliže platí, že rodné číslo má devět číslic nebo platí současně, že má deset čísel a první dvě čísla jsou větší nebo rovna číslu 54, pak k prvním dvěma číslům rodného čísla přičti 1900, jinak k prvním dvěma číslům rodného čísla přičti 2000.

Odvození měsíce narození

Druhé dvojčíslí je měsícem narození dané osoby. Ženám se k tomuto číslu přičítá číslo 50 (teoreticky by mohla existovat i rodná čísla, u kterých se přičítá mužům 20 a ženám 70, ale této výjimce se zde věnovat nebudeme – řešení by bylo analogické).

      A B C
1 7401040020 4 =KDYŽ(ČÁST(A1;3;2)*1>12;ČÁST(A1;3;2)-50;ČÁST(A1;3;2)*1)

Konstrukce vzorce

Jestliže je druhé dvojčíslí v rodném čísle větší než 12, pak od tohoto dvojčíslí odečti číslo 50. Druhé dvojčíslí je pak měsícem narození.

Odvození dne narození

Třetí dvojčíslí je dnem narození dané osoby. Není závislé na století ani pohlaví.

      A B C
1 7401040020 4 =ČÁST(A1;5;2)

Konstrukce vzorce

Třetí dvojčíslí v rodném čísle.

Celé datum narození

Datum narození můžeme složit z výše odvozených částí data narození pomocí funkce DATUM.

      A B C D E F
1 7401040020 1974 1 4 4.1.1974 =DATUM(B2;C2;D2)

Nebo rovnou vše v jednom vzorci.

      A B C
1 7401040020 4.1.1974 =DATUM(KDYŽ(NEBO(DÉLKA(A1)=9;A(DÉLKA(A1)=10;ČÁST(A1;1;2)*1>=54));1900+ČÁST(A1;1;2);2000+ČÁST(A1;1;2));C2;D2); KDYŽ(ČÁST(A1;3;2)*1>12;ČÁST(A1;3;2)-50;ČÁST(A1;3;2)*1); ČÁST(A1;5;2))

Konstrukce vzorce

Vzorec je složený ze třech vzorců pro odvození roku, měsíce a dne – viz výše.

Určení pohlaví

      A B C
1 7401040020 muž =KDYŽ(ČÁST(A1;3;2)*1>50;"žena";"muž")

Konstrukce vzorce

Jestliže je druhé dvojčíslí v rodném čísle větší než 50, pak se jedná o ženu. Jinak jde o muže.

Nahoru

Ověření reálnosti jednotlivých částí rodného čísla

To, že jsme v krocích výše odvodili z rodného čísla rok, měsíc a den ještě neznamená, že jsou tato čísla reálně možná. Neověřili jsme například to, jestli v případě, že měsíc odpovídá únoru není den vyšší než 29.

Ověření prvního dvojčíslí

Prvním dvojčíslím může být jakékoliv číslo 0-99. Ověřujeme tedy pouze, zda jde o číslo.

      A B C
1 7401040020 PRAVDA =JE.ČISLO(ČÁST(A1;1;2)*1

Konstrukce vzorce

Je pravda, že první dvojčíslí v rodném čísle převedené na číslo je číslo?

Pokud bychom chtěli ověřit, zda je rodné číslo platné nejen formálně, ale jestli mohlo být někomu přiděleno, pak by bylo vhodné zkoumat, zda je desetimístné pro všechny ročníky od ročníku 54 včetně do aktuálního ročníku. Nebo naopak – zda je dvojčíslí, které je mezi aktuálním ročníkem a ročníkem 53 včetně devítimístné.

Ověření druhého dvojčíslí

Druhé dvojčíslí je číslo měsíce, které je případně zvýšené u žen o 50.

      A B C
1 7401040020 PRAVDA =NEBO(A(ČÁST(A1;3;2)*1>0;ČÁST(A1;3;2)*1<13);A(ČÁST(A1;3;2)*1>50;ČÁST(A1;3;2)*1<63))

Konstrukce vzorce

Je pravda, že druhé dvojčíslí (převedené na číslo), je buď mezi 1-12 nebo 51-62?

Případně bychom mohli ještě zkoumat teoretickou možnost, že bylo některému muži přičteno k měsíci narození číslo 20, resp. některé ženě číslo 70. Řešení by bylo analogické.

Ověření třetího dvojčíslí

Třetí dvojčíslím může být jakékoliv číslo 1-31. V závislosti na měsíci narození jsme poté schopni ověřit, zda počet dní odpovídá danému měsíci. U měsíců leden, březen, květen, červenec, srpen, říjen a prosinec může být třetí dvojčíslí rovno 1-31, pro měsíce duben, červen, září a listopad může být třetí dvojčíslí rovno 1-30 a pro měsíc únor 1-29. Dále by bylo možné zkoumat v závislosti na ročníku narození, zda byl daný rok přestupný. V opačném případě a v kombinaci s měsícem únor by mohlo být třetí dvojčíslí pouze 1-29.

Přestupné roky jsou násobkem 4 počínaje od roku 1900. Tedy 1900, 1904, 1908, 1912,…

Ověřování pomocí funkce by bylo v tomto případě možné, nicméně zbytečně komplikované. Jako vhodnější se nabízí využití kombinace funkcí a malého číselníku.

Pro lepší přehlednost by bylo ještě vhodné si tabulku s maximálními počty dní v daných měsících pojmenovat.

      A B C D E F G H I J K L
1 1 2 3 4 5 6 7 8 9 10 11 12
2 31 29 31 30 31 30 31 31 30 31 30 31

Pro lepší orientaci ve vzorci je číselník se dny v měsíci (tedy pro buňky A1:L2) definován název dny_v_mesici.

      A B C
1 7401040020 PRAVDA =KDYŽ(ČÁST(A1;3;2)*1>50;ČÁST(A1;3;2)-50;ČÁST(A1;3;2)*1) <=VVYHLEDAT(ČÁST(A1;3;2)*1;dny_v_mesici;2)

Konstrukce vzorce

Jestliže je třetí dvojčíslí větší než 50, pak odečti 50, jinak vezmi toto číslo a porovnej ho s druhým řádkem tabulky dny_v_mesici.
Je pravda, že toto číslo je mu rovno nebo je menší?
Kombinace kontroly čísel v případě použití přičítání čísla 20 nebo 70 a kontrola, zda v případě, že je den v rodném čísle 29 a současně měsíc únor, jde o přestupný rok, nechávám na pilném čtenáři.

Ke stažení

Některé zde popsané postupy a možnost generování rodných čísel naleznete v ukázkovém sešitu.

Generování rodného čísla - Excel 2003 Kontrola a generování rodných čísel XLS - verze Excel 2003 a starší
Generování rodného čísla - Excel 2007 Kontrola a generování rodných čísel XLSM - verze Excel 2007

Další zdroje informací

Související právní předpisy

 

Nahoru

© 2007–2013 Miroslav Lorenc

Převzetí, publikování, kopírování, či jiné užití než pro osobní potřebu je možné pouze s písemným svolením autora.