Temat: Excel - Pesel w wiek

Witam,
Mam problem
Jak dokonać ekstrakcji daty urodzenia z peselu oraz obliczenia wieku co do roku w oparciu o datę zegara czasu rzeczywistego. w kolumnie I mam pesele a w kolumnie H muszą pokazywać mi się wiek wyciągnięty z peselu
Excel mam dokonać ekstrakcji daty urodzenia z numeru pesel oraz obliczenia wieku wiem ze trzeba ROK, DZIŚ, FRAGMENT.TEKSTU oraz ZŁACZ.TEKSTY , tylko nie wiem jak to dokładnie ma być wie ktoś może.
Proszę o pomoc.
Andy L.

Andy L. ITM, VUB

Temat: Excel - Pesel w wiek

DATEDIF()
DATE()
2x IF()
AND() opcjonalnie
3x MID() ,żeby nie mieszać innej funkcji
TODAY()

lub
TEXT()
TODAY()
DATE()
2x IF()
AND() opcjonalnie
3x MID() ,żeby nie mieszać innej funkcji

od 1900 do 2099 roku
co kto lubi

zasady PESEL są opisane w wikipediiTen post został edytowany przez Autora dnia 07.11.16 o godzinie 01:28
Oskar Shon

Oskar Shon Dodatki do Office
www.VBATools.pl

Temat: Excel - Pesel w wiek

Nowe nr Pesel (dla osób urodzonych po 2000r) posiadają inną logikę zapisywania daty urodzenia.
Z samym rokiem nie będziesz miał raczej problemów ponieważ dodajesz w warunku "19" lub "20" do 2-ch pierwszych liczb. Gorzej jest jeśli chciałbyś pobrać pełną datę. Obawiam się że można ja wyliczyć jedynie funkcją w VBA, bo proste odcięcie cyferek z numeru nie zadziała.
Mateusz M.

Mateusz M. Mateusz M.

Temat: Excel - Pesel w wiek

Cześć
Pesel jako tekst - w komórce A1

w a2 formuła

powinno działać dla urodzonych w 19RR oraz 20RR

=JEŻELI(LUB(FRAGMENT.TEKSTU(A1;3;1)="2";(FRAGMENT.TEKSTU(A1;3;1)="3"));ROK(DZIŚ())-ROK(DATA(ZŁĄCZ.TEKSTY(20;LEWY(A1;2));1;1));ROK(DZIŚ())-ROK(DATA(ZŁĄCZ.TEKSTY(19;LEWY(A1;2));1;1)))
Oskar Shon

Oskar Shon Dodatki do Office
www.VBATools.pl

Temat: Excel - Pesel w wiek

AA jeszcze mała uwaga. Jak PESEL wpisany jest w komórkę która nie jest o formacie tekstowym to dla osób urodzonych po 1999 ilość zero z początku znika, co powoduje ze moja córka ma 74 lata :)
Andy L.

Andy L. ITM, VUB

Temat: Excel - Pesel w wiek

1. VBA nie jest panaceum na wszystko
2. Zarówno datę jak i płeć można uzyskać za pomocą jednej formuły
3. Jeżeli początkowe zero znika to oznacza tylko, że nie została zastosowana obsługa błędu (w tym przypadku funkcja LEN() ) co do długości numeru PESEL - 11 cyfr. Bez zera początkowego sprawdzanie daty w numerze o długości 10 mija się z celem.
4. Należy zastosować weryfikację zapisu numeru PESEL co do długości i cyfry kontrolnej (ostatnia cyfra w numerze)

Jeżeli córka ma 74 lata to gratuluję ojcu osiągnięcia tak poważnego wieku :))))Ten post został edytowany przez Autora dnia 07.11.16 o godzinie 19:09

Temat: Excel - Pesel w wiek

Mateusz M.:
Cześć
Pesel jako tekst - w komórce A1

w a2 formuła

powinno działać dla urodzonych w 19RR oraz 20RR

=JEŻELI(LUB(FRAGMENT.TEKSTU(A1;3;1)="2";(FRAGMENT.TEKSTU(A1;3;1)="3"));ROK(DZIŚ())-ROK(DATA(ZŁĄCZ.TEKSTY(20;LEWY(A1;2));1;1));ROK(DZIŚ())-ROK(DATA(ZŁĄCZ.TEKSTY(19;LEWY(A1;2));1;1)))

Mam bład jak wklejam to do kolumy w której ma mi sie pokazac wiek bad ARG
Mateusz M.

Mateusz M. Mateusz M.

Temat: Excel - Pesel w wiek

Podmien adres komórki z A1 na I1

Temat: Excel - Pesel w wiek

Mateusz M.:
Podmien adres komórki z A1 na I1

dalej Blad ?

https://postimg.org/image/5iy679jmv/


Obrazek
Ten post został edytowany przez Autora dnia 07.11.16 o godzinie 21:22
Andrzej Kowalski

Andrzej Kowalski Technik pomiarów /
metrolog, Hutchinson
Poland Sp. z o.o.

Temat: Excel - Pesel w wiek

W i1 jest "number" a nie pesel do przetworzenia, trza zacząć od i2
Andy L.

Andy L. ITM, VUB

Temat: Excel - Pesel w wiek

i zmień sobie nagłówki:
(first name) imię
(surname) nazwisko

a nie surename

a tak na marginesie to w/w formuła jest totalną bzdurą.Ten post został edytowany przez Autora dnia 14.11.16 o godzinie 00:59
Witold P.

Witold P. CFO, MBA

Temat: Excel - Pesel w wiek

Podrzuć jakąś mini bazę, np. tą ze screena, to Ci złożę formułę.
Andy L.

Andy L. ITM, VUB

Temat: Excel - Pesel w wiek


02699680441
91734476197
22219929694
14890986951
03107358602
35397098116
81647951636
29031310743
90238005832
07123541086
52435570223
32638391968
12896370814
38660309682
48156367893
10939548787
76369028873
22130991802
50661919758
61238706832
60968232234
69850119758
67971279054
96037764203
39107336319
78222058382
70791293346
45394377310
51081510977
15282113837
68680253426
76962253389
29077688613
55418035713
67690534509


Na bazie powyższych numerów zestaw prawidłową formułę.
NOTE: tylko jedna z powyższych pozycji jest prawidłowym numerem PESEL :-)

EDIT: formułę prawidłową mam ale ciekawią mnie inne (być może) rozwiązania.Ten post został edytowany przez Autora dnia 18.11.16 o godzinie 10:30
Witold P.

Witold P. CFO, MBA

Temat: Excel - Pesel w wiek

Btw.

Założenie z zaokrągleniem.

Jeśli mamy 18-11-2016, a ktoś urodził się 10-12-1986, to należy wskazać, że ma 29 czy 30 lat?
Witold P.

Witold P. CFO, MBA

Temat: Excel - Pesel w wiek

Dobra,

przyjmując, że:
- odniesieniem jest sam rok,
- PESEL jest w komórce A1,
- PESEL jest w komórce zapisanej tekstowo (inaczej PESEL zaczynający się na 0, skróci się o cyfrę).

=JEŻELI(WARTOŚĆ(FRAGMENT.TEKSTU(A1;3;1))>=2;ROK(DZIŚ())-WARTOŚĆ("20" & LEWY(A1;2));ROK(DZIŚ())-WARTOŚĆ("19" & LEWY(A1;2)))

njoy ;)Ten post został edytowany przez Autora dnia 18.11.16 o godzinie 10:51
Witold P.

Witold P. CFO, MBA

Temat: Excel - Pesel w wiek

Oskar S.:
Nowe nr Pesel (dla osób urodzonych po 2000r) posiadają inną logikę zapisywania daty urodzenia.
Z samym rokiem nie będziesz miał raczej problemów ponieważ dodajesz w warunku "19" lub "20" do 2-ch pierwszych liczb. Gorzej jest jeśli chciałbyś pobrać pełną datę. Obawiam się że można ja wyliczyć jedynie funkcją w VBA, bo proste odcięcie cyferek z numeru nie zadziała.


Oskar też się bawię w VBA, ale nie przesadzajmy, Excel jest na tyle elastyczny, że sobie spokojnie poradzi :)
Andy L.

Andy L. ITM, VUB

Temat: Excel - Pesel w wiek

Podstawą numeru PESEL są:
- data czyli rok, miesiąc i dzień
- zdefiniowana płeć
- cyfra kontrolna
- ilość cyfr w numerze

Twoja formuła pokazuje wartości zarówno dodatnie jak i ujemne (trudno mieć -75 lat), a w dalszym ciągu nie wiadomo czy jest to rok 18xx, 19xx, 20xx, 21xx czy 22xx. Formuła musi uwzględniać lata: 1800-2299.
Jako pomoc napisałem, że w podanym zestawie jest tylko jeden prawidłowy numer PESEL.

Jednym słowem: kiepskie rozwiązanie a w zasadzie żadne.

EDIT:
Twoje założenia są błędne (no może poza tym, że numery są w komórce A1 w formacie tekstowym)Ten post został edytowany przez Autora dnia 18.11.16 o godzinie 11:12
Witold P.

Witold P. CFO, MBA

Temat: Excel - Pesel w wiek

Andy L.:
Podstawą numeru PESEL są:
- data czyli rok, miesiąc i dzień
- zdefiniowana płeć
- cyfra kontrolna
- ilość cyfr w numerze

Twoja formuła pokazuje wartości zarówno dodatnie jak i ujemne (trudno mieć -75 lat), a w dalszym ciągu nie wiadomo czy jest to rok 18xx, 19xx, 20xx, 21xx czy 22xx. Formuła musi uwzględniać lata: 1800-2299.
Jako pomoc napisałem, że w podanym zestawie jest tylko jeden prawidłowy numer PESEL.

Jednym słowem: kiepskie rozwiązanie a w zasadzie żadne.

EDIT:
Twoje założenia są błędne (no może poza tym, że numery są w komórce A1 w formacie tekstowym)

Założenie w górnym poście mówi tylko o podaniu wieku, w odniesieniu do dzisiejszej daty, więc formuła skupia się na tym, a nie liczbie kontrolnej, płci itp.

Nie zakładam, żeby ktoś potrzebował takich danych dla ludzi urodzonych 200 lat temu lub za 100 lat, raczej rozwiązania systemowego na dziś i następne 5-10 lat (żywotność rozwiązań narzędziowych i tak raczej nie jest dłuższa).

Jest konkretne pytanie, jest proste rozwiązanie.
Jasne, nie problem złożyć w 1 komórce odp, zawierającą wiek, płeć, symbol, czy nawet jakiś znaczek, jeśli liczba kontrolna się zgadza, ale nie komplikujmy sobie życia zanadto Panie Levi :)
Andy L.

Andy L. ITM, VUB

Temat: Excel - Pesel w wiek

Twoje rozwiązanie nie spelnia żadnych warunków bo nawet ilość znaków w numerze olewasz.
Formuła, którą proponujesz liczy tylko dwie cyfry niby roku a w wyniku usiłujesz wmówić, że jest to wiek (czy też dwie ostatnie cyfry roku) z numeru PESEL.

Jak napiszesz formułę w której uwzględnisz podstawowe założenia obowiązujące w PL (i nie tylko) wraz z obsługą błędu (nieprawidłowa długość, nieprawidłowy rok, miesiąć, dzień, płeć i najważniejsze - nieprawidłowa cyfra kontrolna) to wtedy pogadamy.
Do tego momentu nie ma o czym dyskutować.

Oczywiście możesz komuś wmawiać, że jest to prawidłowa formuła i "ciemny lud to kupi" ale to ma krótkie nogi :)))

EDIT: wskaż, który z podanych numerów jest prawidłowym numerem PESEL i podaj datę urodzin tego osobnika i jego płeć. Nic więcej :-PTen post został edytowany przez Autora dnia 18.11.16 o godzinie 11:43
Witold P.

Witold P. CFO, MBA

Temat: Excel - Pesel w wiek

Andy L.:
Twoje rozwiązanie nie spelnia żadnych warunków bo nawet ilość znaków w numerze olewasz.
Formuła, którą proponujesz liczy tylko dwie cyfry niby roku a w wyniku usiłujesz wmówić, że jest to wiek (czy też dwie ostatnie cyfry roku) z numeru PESEL.

Jak napiszesz formułę w której uwzględnisz podstawowe założenia obowiązujące w PL (i nie tylko) wraz z obsługą błędu (nieprawidłowa długość, nieprawidłowy rok, miesiąć, dzień, płeć i najważniejsze - nieprawidłowa cyfra kontrolna) to wtedy pogadamy.
Do tego momentu nie ma o czym dyskutować.

Oczywiście możesz komuś wmawiać, że jest to prawidłowa formuła i "ciemny lud to kupi" ale to ma krótkie nogi :)))

EDIT: wskaż, który z podanych numerów jest prawidłowym numerem PESEL i podaj datę urodzin tego osobnika i jego płeć. Nic więcej :-P

No tak. Zazwyczaj ludzie pracują na bazach, w których na 30 rekordów, 1 to PESEL i trzeba go wskazać.
Nie będę nic wmawiał, ale śmiem twierdzić, że nasze nr PESEL jednak zaczynają się od roku urodzenia.

Powodzenia w tworzeniu rakiet kosmicznych, w miejscach gdzie starczy rower.
Miłego dnia



Wyślij zaproszenie do