Jak sprawdzić poprawność numeru PESEL
Numer PESEL ma wbudowaną cyfrę kontrolną — dzięki niej można wykryć literówki i błędne numery jeszcze przed zapisaniem ich do bazy. Oto jak działa algorytm i jak sprawdzić poprawność, także dla tysięcy rekordów naraz.
Z czego składa się PESEL
PESEL to 11 cyfr: pierwszych 6 to zakodowana data urodzenia (RRMMDD, z przesunięciem miesiąca dla różnych stuleci), kolejne 4 to numer porządkowy (ostatnia z nich oznacza płeć), a ostatnia, 11. cyfra to cyfra kontrolna, wyliczana z pozostałych dziesięciu.
Jak liczy się cyfra kontrolna
Każdą z pierwszych 10 cyfr mnożymy przez stałą wagę, sumujemy wyniki, bierzemy resztę z dzielenia przez 10 i odejmujemy ją od 10. Wagi to:
1 · 3 · 7 · 9 · 1 · 3 · 7 · 9 · 1 · 3
Wzór na cyfrę kontrolną:
kontrolna = (10 − (suma_iloczynów mod 10)) mod 10
Przykład krok po kroku
Sprawdźmy numer 9207223456? (pierwsze 10 cyfr: 9 2 0 7 2 2 3 4 5 6):
| cyfra | 9 | 2 | 0 | 7 | 2 | 2 | 3 | 4 | 5 | 6 |
|---|---|---|---|---|---|---|---|---|---|---|
| waga | 1 | 3 | 7 | 9 | 1 | 3 | 7 | 9 | 1 | 3 |
| iloczyn | 9 | 6 | 0 | 63 | 2 | 6 | 21 | 36 | 5 | 18 |
Suma iloczynów = 166. Reszta z dzielenia przez 10: 166 mod 10 = 6. Cyfra kontrolna: 10 − 6 = 4. Poprawny numer to więc 92072234564 — jeśli na 11. miejscu jest inna cyfra, numer jest błędny.
A jak sprawdzić całą kolumnę naraz?
Powyższy rachunek dla jednego numeru jest prosty. Problem zaczyna się przy kilku tysiącach rekordów. W Excelu trzeba napisać rozbudowaną formułę tablicową albo makro w VBA — i pilnować go przy każdym nowym pliku.
W DataForge robisz to jednym kliknięciem: dodajesz kolumnę obliczeniową z funkcją PESEL_VALID(PESEL), a aplikacja zwraca true/false dla każdego wiersza i od razu pokazuje, które numery są błędne. Ten sam mechanizm działa dla NIP_VALID, IBAN_VALID i innych polskich walidatorów.
Zweryfikuj PESEL-e w swojej bazie w minutę
DataForge sprawdza całą kolumnę numerów i zaznacza błędne — bez makr, bez kodu. 100% lokalnie na Twoim komputerze.
Wypróbuj 14 dni za darmo →