
W tej miniserii trzech filmów omawiam strukturę PESELu i buduję formuły wydobywające z niego wszystkie informacje: datę urodzenia, płeć, sumę kontrolną. Więcej informacji o strukturze Peselu można znaleźć tu:
https://www.gov.pl/web/gov/czym-jest-numer-pesel
Płeć kodowana jest na przedostatniej, 10 cyfrze. Nieparzysta oznacza mężczyznę, a parzysta kobietę. W fimie użyłem formuły:
=JEŻELI( CZY.PARZYSTE( FRAGMENT.TEKSTU(A2;10;1) ); "K"; "M" ) W tym filmie wydobywam po kolei dzień, miesiąc, rok urodzania, i finalnie składam je w jedną formułę zwracającą kompletną datę urodzenia. Pokazuję też jak rozróżnić „stare” i „nowe” Pesele.
=FRAGMENT.TEKSTU(A2;5;2)*1 =LET(
mcur; FRAGMENT.TEKSTU(A2;3;2)*1;
JEŻELI(mcur>20; mcur-20; mcur )
) =LET(
mcur; FRAGMENT.TEKSTU(A2;3;2)*1;
rur; FRAGMENT.TEKSTU(A2;1;2)*1;
JEŻELI(mcur>20; rur+2000; rur+1900 )
) =LET(
kom; A2;
dur; FRAGMENT.TEKSTU(kom;5;2)*1;
mcur; FRAGMENT.TEKSTU(kom;3;2)*1;
rur; FRAGMENT.TEKSTU(kom;1;2)*1;
mmm; JEŻELI(mcur>20; mcur-20; mcur );
rrr; JEŻELI(mcur>20; rur+2000; rur+1900 );
DATA(rrr; mmm; dur)
) Suma kontrolna to ostania, 11 cyfra Peselu. Oblicza się ją wykonując kilka prostych kroków obliczeniowych, które omawiam w filmie obok. Jej celem jest sprawdzenie poprawności Peselu, np. w celu uniknięcia błędów przy dyktowaniu: każda zmiana cyfr od 1 do 10 spowoduje inne obliczenie sumy kontrolnej.
10-MOD( SUMA( MOD( FRAGMENT.TEKSTU(A2;{1\2\3\4\5\6\7\8\9\10};1) * {1\3\7\9\1\3\7\9\1\3}; 10 ) ); 10) =LET(
pesel; A2;
tablica_z_peselu; FRAGMENT.TEKSTU(pesel;{1\2\3\4\5\6\7\8\9\10};1);
tablica_wag; {1\3\7\9\1\3\7\9\1\3};
krok1; tablica_z_peselu*tablica_wag;
krok2; MOD(krok1;10);
krok3; SUMA(krok2);
krok4; MOD(krok3;10);
10-krok4
) = PRAWY(A2)*1= 10-MOD( SUMA( MOD( FRAGMENT.TEKSTU(A2;{1\2\3\4\5\6\7\8\9\10};1) * {1\3\7\9\1\3\7\9\1\3}; 10 ) ); 10) =LET(
pesel; A2;
tablica_z_peselu; FRAGMENT.TEKSTU(pesel;{1\2\3\4\5\6\7\8\9\10};1);
tablica_wag; {1\3\7\9\1\3\7\9\1\3};
ostatnia_z_peselu; PRAWY(pesel)*1;
krok1; tablica_z_peselu*tablica_wag;
krok2; MOD(krok1;10);
krok3; SUMA(krok2);
krok4; MOD(krok3;10);
ostatnia_z_peselu=10-krok4
) ![]()
Etiam magna arcu, ullamcorper ut pulvinar et, ornare sit amet ligula. Aliquam vitae bibendum lorem. Cras id dui lectus. Pellentesque nec felis tristique urna lacinia sollicitudin ac ac ex. Maecenas mattis faucibus condimentum. Curabitur imperdiet felis at est posuere bibendum. Sed quis nulla tellus.
63739 street lorem ipsum City, Country
+12 (0) 345 678 9
info@company.com

