Quantcast
Channel: Malinowy Excel
Viewing all articles
Browse latest Browse all 291

Wyodrębnianie daty urodzenia z nowego PESELu

$
0
0

Czyli jak działa funkcja LET?

Nowa funkcja w Excelu, dostępna w subskrypcji (Microsoft365), świetnie nadaje się gdy w jednej formule potrzebujemy wielokrotnie użyć tego samego (albo tych samych, kilku)  fragmentu formuły. Funkcja ta nazywa ów fragment i pozwala użyć już samej nazwy, a nie wciąż pisać w kółko to samo.

Jej użycie omówię na przykładzie wyodrębniania daty urodzenia z PESELu. Zarówno “nowego” (2000-2099) jak i “starego” (1900-1999).

Tak wygląda formatka z wynikiem:

MalinowyExcel Wyodrębniania daty urodzenia z PESELu funkcja LET - Wynik

Jak odczytać datę urodzenia z PESELu?

O dacie urodzenia mówi 6 pierwszych cyfr w PESELu. Dwie pierwsze to końcówka roku, dwie kolejne – miesiąc, dwie kolejne – dzień. Aby jednak odróżnić osoby urodzone w latach 2000-2099 od osób z lat 1900-1999, jest pewna modyfikacja w zapisie miesiąca. W PESELach osób urodzonych w latach 2000-2099, dodaje się liczbę 20 do miesiąca. Czyli np. styczeń to 01+20=21, a listopad to 11+20=31 (TUTAJ możesz doczytać więcej o PESELu).

Technicznie, najważniejsza jest dla nas trzecia cyfra PESELu, czyli pierwsza cyfra miesiąca. Jeśli jest ona większa lub równa 2 – mamy do czynienia z osobą urodzoną w latach 2000-2099. Ta liczba będzie nam więc potrzebna do ustalenia roku i miesiąca urodzenia. Wyodrębnianie jej “zamkniemy” w nazwie, dzięki funkcji LET.

Jak użyć funkcji LET?

Aby zademonstrować Ci jak działa LET, sprawdzimy na początek czy trzecia liczba PESELu jest większa lub równa 2. Na początek tyle. Potem to zmodyfikujemy.

Ważne, abyś wiedziała, że cała formuła musi być zawarta w funkcji LET, jeśli planujemy skorzystać z nazywania poszczególnych jej elementów. Potrzebujemy określić:

  1. nazwę, którą planujemy używać,
  2. formułę, którą ta nazwa będzie reprezentować,
  3. formułę, w której użyjemy nazwy.

Jeśli zatem chcę aby trzecia cyfra PESELu nazywała się Trzecia, i była wyodrębniana za pomocą funkcji FRAGMENT.TEKSTU, a następnie porównana do 2, funkcja przybierze następującą postać:

=LET(Trzecia;--FRAGMENT.TEKSTU(B5;3;1);Trzecia>=2)

Dwa minusy (–) przed FRAGMENTEM.TEKSTU służy do konwersji tekstu na liczbę. Więcej o tym dowiesz się tutaj.

Wynikiem powyższej formuły będzie PRAWDA. Jest to wynik porównania trzeciej liczby (Trzecia) do dwójki. Oczywiście ten sam efekt jestem w stanie osiągnąć bez funkcji LET. Chciałam Ci jednak pokazać na prostym przykładzie jej działanie.

Ustalanie daty urodzenia

Teraz zajmiemy się już konkretami, czyli powoli będziemy ustalać datę urodzenia. Do tworzenia dat świetnie nadaje się funkcja DATA, która potrzebuje od nas 3 danych:

  1. rok
  2. miesiąc
  3. dzień

Na ich podstawie stworzy datę. Dzień najprościej jest ustalić, gdyż są to po prostu 5. i 6. znak z PESELU. Z rokiem i miesiącem jest ciężej. Do roku potrzebujemy dodać 1900 lub 2000 (w zależności od naszej Trzeciej). Od miesiąca zaś będziemy odejmować lub nie liczbę 20. Znów: w zależności od Trzeciej. Do dzieła.

Z pewnością potrzebujemy ustalić Trzecią cyfrę PESELu, aby dwukrotnie ją wykorzystać (rok i miesiąc). Możemy od razu ustalić, czy Trzecia jest większa lub równa 2, czyli w nazwie od razu zawrzeć  porównanie.

Tak to wygląda w funkcji LET:

=LET(Trzecia;--FRAGMENT.TEKSTU(B5;3;1)>=2;...)

W jej trzecim argumencie jest miejsce na właściwą formułę. W tej z kolei na pewno znajdzie się funkcja DATA, czyli na razie tak:

=LET(Trzecia;--FRAGMENT.TEKSTU(B5;3;1)>=2;DATA(rok;miesiąc;dzień))

Zacznijmy od najprostszego – od dnia.

Ustalanie dnia urodzenia

Dzień to po prostu 5. i 6. cyfra PESELU, czyli:

FRAGMENT.TEKSTU(B5;5;2)

Wrzucone do funkcji LET i DATA wygląda to tak:

=LET(Trzecia;--FRAGMENT.TEKSTU(B5;3;1)>=2;DATA(rok;miesiąc;FRAGMENT.TEKSTU(B5;5;2)))

DATA umie działać na liczbach przechowywanych w formie tekstu, więc z dniem nic już nie musimy robić.

Jedźmy więc do roku.

Ustalanie miesiąca urodzenia

Jak wspomniałam – miesiąc będą to 3. i 4. cyfra PESELu ewentualnie zmniejszone o 20. Zmniejszamy, jeśli Trzecia jest większa lub równa 2. Możemy to zapisać w ten sposób (drugi argument funkcji DATA):

FRAGMENT.TEKSTU(B5;3;2)-20*Trzecia

W powyższej formule wykorzystałam fakt, że Trzecia jest wartością logiczną, czyli jeśli będzie FAŁSZem, to w mnożeniu przyjmie wartość zero (0). Jeśli zaś będzie PRAWDĄ – przyjmie wartość 1. Więcej o takim wykorzystaniu logiki dowiesz się tutaj.

Po wrzuceniu tego do funkcji LET i DATA, otrzymujemy to:

=LET(Trzecia;--FRAGMENT.TEKSTU(B5;3;1)>=2;DATA(rok;FRAGMENT.TEKSTU(B5;3;2)-20*Trzecia;FRAGMENT.TEKSTU(B5;5;2)))

Podobnie zadziałamy z rokiem.

Ustalanie roku urodzenia

Rok to 1. i 2. cyfra PESELu, powiększone o 1900 lub 2000, w zależności od Trzeciej. Jeśli Trzecia >=2 – dodajemy 2000, w przeciwnym wypadku 1900:

LEWY(B5;2)+JEŻELI(Trzecia;2000;1900)

Całość wygląda tak:

=LET(Trzecia;--FRAGMENT.TEKSTU(B5;3;1)>=2;DATA(LEWY(B5;2)+JEŻELI(Trzecia;2000;1900);FRAGMENT.TEKSTU(B5;3;2)-20*Trzecia;FRAGMENT.TEKSTU(B5;5;2)))

Czyli wszystkie daty urodzenia, po sformatowaniu ich na daty oczywiście, wyglądają tak:

MalinowyExcel Wyodrębniania daty urodzenia z PESELu funkcja LET - Wynik

Wynik

Przydatne? 🙂

Na koniec mam do Ciebie prośbę: pomożesz mi dotrzeć z tym artykułem do szerszego grona? Jeśli zechcesz udostępnić ten artykuł na Facebooku – będę Ci bardzo wdzięczna! Bardzo się starałam, aby ten artykuł był dla Ciebie na tyle wartościowy, by wart był wzmianki ;). Oczywiście śmiało podeślij go innym osobom mailem lub Messengerem. Będzie mi bardzo miło:)

Powiązane produkty

  • Zagnieżdżanie funkcji – podczas tej lekcji nauczysz się jak zagnieżdżać funkcje w sposób łatwy i przyjemny. I przede wszystkim: zrozumiały!
  • Logika bez funkcji logicznych – podczas tej lekcji nauczysz się korzystać z logiki bez użycia funkcji logicznych (takich jak ORAZ czy LUB). Okazuje się, że często bardzo ułatwia i przyspiesza to naszą pracę. Dodatkowo dowiesz się jak stosować logikę w narzędziach Excela takich jak sprawdzanie poprawności czy formatowanie warunkowe.
  • Funkcje dat – excelowy niezbędnik – lekcja omawiająca najważniejsze funkcje dat, które pozwolą Ci w prosty sposób dokonywać obliczeń na datach, bez kombinowania jak koń pod górę.

Plik do pobrania:

MalinowyExcel Wyodrębnianie daty urodzenia z PESELu LET DW.xlsx

 

I film na Youtubie, gdzie pokazuję powyższe rozwiązanie:

 

 


Viewing all articles
Browse latest Browse all 291

Trending Articles


TRX Antek AVT - 2310 ver 2,0


Автовишка HAULOTTE HA 16 SPX


POTANIACZ


Zrób Sam - rocznik 1985 [PDF] [PL]


Maxgear opinie


BMW E61 2.5d błąd 43E2 - klapa gasząca a DPF


Eveline ➤ Matowe pomadki Velvet Matt Lipstick 500, 506, 5007


Auta / Cars (2006) PLDUB.BRRip.480p.XviD.AC3-LTN / DUBBING PL


Peugeot 508 problem z elektroniką


AŚ Jelenia Góra