Z doświadczenia wiem, że często powtarzającym się problemem jest obróbka imion i nazwisk. Czy powinny być w dwóch kolumnach czy w jednej i w jakiej kolejności ?
Jeżeli możecie zdecydować oczywiście powinny być w osobnych kolumnach. Możemy je wtedy dowolnie sortować niezależenie po imieniu i nazwisku oraz nie mamy problemu z nazwiskami typu Marek Konrad gdzie nie wiemy który człon jest nazwiskiem a który imieniem. Niemniej systemy dostarczają nam tu całą gamę różnych kombinacji więc dziś pokażę Wam jak szybko dokonać konwersji w dowolną stronę zarówno za pomocą funkcji jak i Power Query.
Zacznijmy od prostszego przypadku gdy mamy imię i nazwisko osobno zgodnie z poniższym przykładem
a potrzebujemy je połączyć.
Najpierw wykonajmy to funkcją. Dodajemy nową kolumnę za naszymi imionami i nazwiskami, nazywamy ją tak jak chcemy i wprowadzamy do pierwszego wiersza funkcję =ZŁĄCZ.TEKSTY([@Imię];” “;@Nazwisko])
Oczywiście jeżeli oczekujemy odwrotnej kolejności, argumenty funkcji wprowadzamy odwrotnie. Teraz możemy ukryć kolumny Imię i Nazwisko i pozostawić interesującą nas kolumnę z obiema wartościami, lub skasować poprzednie kolumny pamiętając jednak aby najpierw zaznaczyć wszystkie wiersze naszej nowej kolumny wykonać ich kopię oraz wklejenie specjalne dokładnie w te same miejsca tylko wartości.
Teraz taką samą operację dla tej tabeli wykonajmy przy udziale Power Query. Zaznaczamy naszą tabelę, przechodzimy do Menu -> Dane -> Pobierz dane -> Z innych źródeł -> Z tabeli/zakresu co uruchomi nam dodatek Power Query.
Przechodzimy do menu Przekształć i teraz musimy zdecydować czy pierwsze ma być imię czy nazwisko. Jeżeli konieczna jest zamiana kolejności kolumn wybieramy opcję Przenieś zaznaczając odpowiednią kolumnę i wybierając czy przesunąć ją w lewo czy w prawo zgodnie z dostępnym menu.
Gdy kolumny mamy ustawione już w odpowiedniej kolejności zaznaczamy je obie i przechodzimy do opcji <strong>Scal kolumny</strong>. Pojawi się menu umożliwiające wybór separatora najczęściej użyjemy tu spacji oraz wpisanie nazwy nowej kolumny.
Po zatwierdzeniu automatycznie znikną dotychczasowe kolumny i pojawi się nasza połączona kolumna. Teraz wystarczy przejść do menu Narzędzia główne i użyć opcji Zamknij i załaduj. Teraz otrzymaliśmy nową tabelę z połączonymi kolumnami Imię i Nazwisko która reaguje na zmiany jak pierwowzór czyli każda zmiana w pierwotnej tabeli po odświeżeniu zostanie odzwierciedlona w naszej tabeli docelowej. Aby pozbyć się tego efekty musimy usunąć Zapytanie znajdujące się w okienku z prawej strony arkusza wybierając dostępną pod prawym klawiszem myszy funkcję Usuń.
Teraz trudniejszy wariant gdy nasze imiona i nazwiska już są połączone jak w poniższym przykładzie
Dodajemy dwie kolumny Imię oraz Nazwisko. W pierwszym wierszu dla imienia (jeżeli w naszej połączonej kolumnie imię było pierwsze jeżeli nie to funkcje wykonujemy na odwrót) wpisujemy =LEWY([@[Imię i Nazwisko]];ZNAJDŹ(” “;[@[Imię i Nazwisko]])-1) . Czyli dla wartości z naszej połączonej kolumny przenosimy do imienia wszystkie znaki z lewej strony do pierwszej spacji.
Analogicznie dla nazwiska wpisujemy =FRAGMENT.TEKSTU([@[Imię i Nazwisko]];ZNAJDŹ(” “;[@[Imię i Nazwisko]])+1;255). Czyli przenosimy 255 (nazwisko raczej się zmieści) liter z prawej strony.
Gdy umiemy już wyodrębnić imię i nazwisko możemy w jednej linijce odwrócić ich kolejność stosując powyższe funkcje z funkcją z poprzedniego przykładu czyli =ZŁĄCZ.TEKSTY(FRAGMENT.TEKSTU([@[Imię i Nazwisko]];ZNAJDŹ(” “;[@[Imię i Nazwisko]])+1;255);” “;LEWY([@[Imię i Nazwisko]];ZNAJDŹ(” “;[@[Imię i Nazwisko]])-1))
Pamiętajcie proszę przy tych operacjach, że istnieją osoby które używają dwóch imion lub dwóch nazwisk jeżeli będą one rozdzielone spacją możemy uzyskać błędne wyniki. Koniecznie należy przeglądnąć efekt swoich działań.
Na koniec jak poprzednio ukrywamy pierwotną kolumnę lub kopiujemy nasze nowe kolumny do samych siebie wklejając tylko wartości i możemy skasować pierwotną kolumnę.
I jeszcze to samo za pomocą Power Query. Zaznaczamy naszą tabelę, przechodzimy do Menu -> Dane -> Pobierz dane -> Z innych źródeł -> Z tabeli/zakresu, co uruchomi nam dodatek Power Query.
Następnie wybierzemy z Narzędzia główne -> Podziel kolumny -> Według ogranicznika
W kolejnym menu program automatycznie wykryje spację lub inny znak którym mamy rozdzielone imiona i nazwiska, jeżeli coś się nie zgadza należy to poprawić i zatwierdzić
Otrzymujemy dwie kolumny „Imię i Nazwisko.1” oraz „Imię i Nazwisko.2” które oczywiście możemy zmienić na osobne nazwy. Następnie jeżeli kolejność nam nie odpowiada wybieramy Przekształć -> Przenieś i ładujemy naszą tabele Narzędzia główne -> Zamknij i załaduj. Również tak jak w poprzednim przypadku pamiętajcie proszę czy chcecie aby tabelę dało się odświeżyć przy zmianach w tabeli pierwotnej czy też lepiej skasować zapytanie i pozostawić dane statyczne.
Mam nadzieję, że ten krótki film dał wam komplet niezbędnej wiedzy na temat radzenia sobie z łączeniem i rozdzielaniem zarówno imion i nazwisk jak i dowolnych innych połączonych w analogiczny sposób tekstów.
Jak zawsze zapraszam Was również do kontaktu na adres <a href="mailto:konrad.pogodz@itch.pl">konrad.pogodz@itch.pl</a> gdy traficie na jakieś ciekawe zagadnienie lub scenariusz z którym nie umiecie sobie poradzić.
Nasza Firma zapewnia nie tylko najnowsze rozwiązania z dziedziny IT ale również nie pozostaje w miejscu każdego dnia poszerza swoją wiedzę którą bardzo chętnie dzielimy się z innymi. Zapraszamy do zapoznania się z ostatnimi nowinkami.
Skontaktuj się z nami i otwórz drzwi do innowacyjnych rozwiązań technologicznych dla Twojej firmy. Nasz zespół ekspertów jest gotów odpowiedzieć na Twoje pytania, dostosować ofertę do Twoich potrzeb i wesprzeć Cię w osiągnięciu sukcesu.
Wykorzystaj potencjał technologii już dziś, by zwiększyć efektywność, rozwijać biznes i zadbać o bezpieczeństwo swoich danych.