DataForge  ›  Poradniki  ›  Walidacja PESEL

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

cyfra9207223456
waga1379137913
iloczyn96063262136518

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.

Częsty błąd: poprawna cyfra kontrolna nie gwarantuje, że PESEL należy do realnej osoby — sprawdza tylko spójność matematyczną. Warto dodatkowo zweryfikować, czy zakodowana data urodzenia jest sensowna (miesiąc 1–12, dzień zgodny z miesiącem).

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 →