Proszę o polecenie (kombinację funkcji) do Excela
Moderatorzy: elgra, Galinski_Wojciech, maria.j.nie
- Kostkowski

- Posty: 1244
- Rejestracja: czw 14 paź 2010, 18:41
Proszę o polecenie (kombinację funkcji) do Excela
Proszę o polecenie (kombinację funkcji) do Excela
Mam pustą kolumnę F, a w kolumnie G mam imię ojca przecinek spację imię matki spację nazwisko matki, a chcę by imię ojca przeniosło się do kolumny F, a w kolumnie G przecinek i spacja znikły, a pozostało tylko imię i nazwisko matki.
Później będę potrzebował dane z jednej kolumny np. F poprzenosić do trzech kolumn: G, H, I, pozostawiając kolumnę F do porównania danych i potem ją usunę.
Kiedyś miałem parę bardzo przydatnych funkcji (poleceń), które po części nawet sam napisałem dzięki podpowiedziom excelowego fachowca. Większość potraciłem, a teraz próbując napisać je ponownie, widzę, że już nie rozumiem excelowych komend. Miałem nawet taki arkusz, w którym wpisywałem dane w kolejności jak występują w akcie, żeby nie skakać po kolumnach, a w docelowym arkuszu dane układały się zgodnie z szablonem genealogów. To wbrew pozorom było dość złożone, bo dane z rubryk, których w szablonie genealogów nie ma (wiek pana, wiek pani, miejsce urodzenia pana, miejsce zamieszkania pana, zawód/zajęcie, miejsce urodzenia pani, miejsce zamieszkania pani, inne uwagi) przenosiły się do rubryki „uwagi” z dodaniem w odpowiednich miejscach przecinków i spacji. Z tamtych czasów pozostał mi „zmieniacz dat”, więc daty wpisuję dd.mm.rrrr lub d.mm.rrrr, a samoczynnie powstaje rrrr.mm.dd. Niby proste, ale w odpowiednie miejsce wstawiane jest brakujące zero. Czyli pisząc np.: 1.05.2023, powstaje 2023.05.01. No ale to mam i z tego korzystam.
Teraz potrzebuję przekształcić jedną kolumnę z danymi rodziców:
* na dwie kolumny: I z imieniem ojca, II z imieniem i nazwiskiem matki;
* na trzy kolumny: I z imieniem ojca, II z imieniem matki, III z nazwiskiem matki.
Dla uproszczenia formułki pomijam przypadki braku imienia ojca lub nazwiska matki, bo wstawię tam np. „NN”, lub „nie podano”, więc polecenie ma obejmować to co przed przecinkiem (imię lub imiona ojca) i to co po przecinku i spacji (imię lub imiona matki), a ostatnie słowo jako nazwisko matki do następnej kolumny. Żeby nie rozbudowywać polecenia dla przypadków gdy nie podano nazwiska matki lub imienia i nazwiska matki to wpiszę, np. „n” lub „n” „n”.
Mam pustą kolumnę F, a w kolumnie G mam imię ojca przecinek spację imię matki spację nazwisko matki, a chcę by imię ojca przeniosło się do kolumny F, a w kolumnie G przecinek i spacja znikły, a pozostało tylko imię i nazwisko matki.
Później będę potrzebował dane z jednej kolumny np. F poprzenosić do trzech kolumn: G, H, I, pozostawiając kolumnę F do porównania danych i potem ją usunę.
Kiedyś miałem parę bardzo przydatnych funkcji (poleceń), które po części nawet sam napisałem dzięki podpowiedziom excelowego fachowca. Większość potraciłem, a teraz próbując napisać je ponownie, widzę, że już nie rozumiem excelowych komend. Miałem nawet taki arkusz, w którym wpisywałem dane w kolejności jak występują w akcie, żeby nie skakać po kolumnach, a w docelowym arkuszu dane układały się zgodnie z szablonem genealogów. To wbrew pozorom było dość złożone, bo dane z rubryk, których w szablonie genealogów nie ma (wiek pana, wiek pani, miejsce urodzenia pana, miejsce zamieszkania pana, zawód/zajęcie, miejsce urodzenia pani, miejsce zamieszkania pani, inne uwagi) przenosiły się do rubryki „uwagi” z dodaniem w odpowiednich miejscach przecinków i spacji. Z tamtych czasów pozostał mi „zmieniacz dat”, więc daty wpisuję dd.mm.rrrr lub d.mm.rrrr, a samoczynnie powstaje rrrr.mm.dd. Niby proste, ale w odpowiednie miejsce wstawiane jest brakujące zero. Czyli pisząc np.: 1.05.2023, powstaje 2023.05.01. No ale to mam i z tego korzystam.
Teraz potrzebuję przekształcić jedną kolumnę z danymi rodziców:
* na dwie kolumny: I z imieniem ojca, II z imieniem i nazwiskiem matki;
* na trzy kolumny: I z imieniem ojca, II z imieniem matki, III z nazwiskiem matki.
Dla uproszczenia formułki pomijam przypadki braku imienia ojca lub nazwiska matki, bo wstawię tam np. „NN”, lub „nie podano”, więc polecenie ma obejmować to co przed przecinkiem (imię lub imiona ojca) i to co po przecinku i spacji (imię lub imiona matki), a ostatnie słowo jako nazwisko matki do następnej kolumny. Żeby nie rozbudowywać polecenia dla przypadków gdy nie podano nazwiska matki lub imienia i nazwiska matki to wpiszę, np. „n” lub „n” „n”.
Z najlepszymi życzeniami wszelkiej pomyślności
Władysław Edward Kostkowski
Władysław Edward Kostkowski
-
Sroczyński_Włodzimierz

- Posty: 35480
- Rejestracja: czw 09 paź 2008, 09:17
- Lokalizacja: Warszawa
@ "dla uproszczenia..." itd
to jest kluczowe, nie ma sensu bez uwzględnienia i tego przypadku i innych
każda operacja i to zawsze jest uzależniona od tego czym dysponujesz
jeśli zawsze w polu "G" jest konstrukcja typu "coś1" + ", " + "coś2", a Ty chcesz coś1 i coś2 wydzielić to szukasz pierwszego ", " i dzielisz
chyba, że akceptujesz "ręczne" korekty etc - konieczne za każdym razem - albo przed wydzieleniem coś1 i coś2 , albo po ..
to jest kluczowe, nie ma sensu bez uwzględnienia i tego przypadku i innych
każda operacja i to zawsze jest uzależniona od tego czym dysponujesz
jeśli zawsze w polu "G" jest konstrukcja typu "coś1" + ", " + "coś2", a Ty chcesz coś1 i coś2 wydzielić to szukasz pierwszego ", " i dzielisz
chyba, że akceptujesz "ręczne" korekty etc - konieczne za każdym razem - albo przed wydzieleniem coś1 i coś2 , albo po ..
Bez PW. Korespondencja poprzez maila:
https://genealodzy.pl/index.php?module= ... 3odzimierz
https://genealodzy.pl/index.php?module= ... 3odzimierz
-
Cieniek_Bogumil

- Posty: 43
- Rejestracja: ndz 14 lip 2013, 13:37
- Popkowicz_Bronisław

- Posty: 364
- Rejestracja: ndz 02 mar 2008, 16:26
- Lokalizacja: Warszawa
Twój problem dotyczy generalnie pracy w Excelu z użyciem tzw. funkcji tekstowych. Mam spore doświadczenie w dokonywaniu nieraz karkołomnych przekształceń danych tekstowych. Ich realizacja w zasadzie wymaga spełnienia jednego warunku: dane w kolumnach muszą mieć jednolitą strukturę i format.
W tym konkretnym przypadku proponowałbym zastosowanie następującej procedury:
1. Skopiować dane z kolumny G do kolumny F
2. W kolumnie G dokonać rozdzielenia danych na trzy kolumny korzystając z menu "Dane"/polecenie "Tekst jako kolumny" deklarując spację jako znak rozdzielający. Dane te pojawią się kolejno w kolumnach F, G i H
3. Usunąć w kolumnie G przecinki poleceniem "Znajdź i zaznacz" opcja "Zamień" (zamienić przecinki na puste znaki)
4. Kolumnę zawierającą razem imię i nazwisko matki można uzyskać korzystając z funkcji =ZŁĄCZ.TEKSTY(G;" ";H)
Dalej już z górki. Powodzenia
W tym konkretnym przypadku proponowałbym zastosowanie następującej procedury:
1. Skopiować dane z kolumny G do kolumny F
2. W kolumnie G dokonać rozdzielenia danych na trzy kolumny korzystając z menu "Dane"/polecenie "Tekst jako kolumny" deklarując spację jako znak rozdzielający. Dane te pojawią się kolejno w kolumnach F, G i H
3. Usunąć w kolumnie G przecinki poleceniem "Znajdź i zaznacz" opcja "Zamień" (zamienić przecinki na puste znaki)
4. Kolumnę zawierającą razem imię i nazwisko matki można uzyskać korzystając z funkcji =ZŁĄCZ.TEKSTY(G;" ";H)
Dalej już z górki. Powodzenia
- Kostkowski

- Posty: 1244
- Rejestracja: czw 14 paź 2010, 18:41
Dziękuję. Działa. Ale co zrobić gdy są dwa imiona? Przy tej formule przenosi tylko pierwsze. No i najważniejsze: po przeniesieniu do nowych kolumn ta wspólna kolumna już niepotrzebna. Gdy ją usunę znikają dane w kolumnach nowoutworzonych. Jak je zatrzymać?Cieniek_Bogumil pisze:Aby uzyskać imię ojca można np. dać: =LEWY(G1;ZNAJDŹ(",";G1)-1)
Imię i nazwisko matki: =FRAGMENT.TEKSTU(G1;ZNAJDŹ(",";G1)+2;1000)
Dziękuję. Będę ćwiczyłPopkowicz_Bronisław pisze:Twój problem dotyczy generalnie pracy w Excelu z użyciem tzw. funkcji tekstowych. Mam spore doświadczenie w dokonywaniu nieraz karkołomnych przekształceń danych tekstowych. Ich realizacja w zasadzie wymaga spełnienia jednego warunku: dane w kolumnach muszą mieć jednolitą strukturę i format.
W tym konkretnym przypadku proponowałbym zastosowanie następującej procedury:
1. Skopiować dane z kolumny G do kolumny F
2. W kolumnie G dokonać rozdzielenia danych na trzy kolumny korzystając z menu "Dane"/polecenie "Tekst jako kolumny" deklarując spację jako znak rozdzielający. Dane te pojawią się kolejno w kolumnach F, G i H
3. Usunąć w kolumnie G przecinki poleceniem "Znajdź i zaznacz" opcja "Zamień" (zamienić przecinki na puste znaki)
4. Kolumnę zawierającą razem imię i nazwisko matki można uzyskać korzystając z funkcji =ZŁĄCZ.TEKSTY(G;" ";H)
Dalej już z górki. Powodzenia
Z najlepszymi życzeniami wszelkiej pomyślności
Władysław Edward Kostkowski
Władysław Edward Kostkowski
Źródłem danych do reguły są kolumny które w niej zostały użyte, więc usunięcie jakiejkolwiek z tych kolumn powoduje problem. Po zastosowaniu reguły nowo spreparowane dane należy przenieść ręcznie do nowej kolumny aby odciąć je od źródła danych.
p.s. jeżeli imiona są również rozdzielone "," to wtedy mamy większy problem. Można ewentualnie od tyłu szukać wystąpienia "," mając nadzieję że nazwisko jest jednoczłonowe.
Piotr
p.s. jeżeli imiona są również rozdzielone "," to wtedy mamy większy problem. Można ewentualnie od tyłu szukać wystąpienia "," mając nadzieję że nazwisko jest jednoczłonowe.
Piotr
Dokładnie rzecz ujmując, to dane z kolumny zawierającej formułę kopiujesz i wklejasz do pustej kolemny wybierając opcję "Wklej wartości". Wtedy wkleisz same wartości i będą już one niezależne od źródła.
Jeśli odzielałeś imiona takim samym separatorem, jak inne elementy, to może być problem. Najlepiej daj jakiś przykład zapisu w komórce z więcej niż jednym imieniem ojca i więcej niż jednym imieniem matki.
Pozdrawiam,
Eleonora
Jeśli odzielałeś imiona takim samym separatorem, jak inne elementy, to może być problem. Najlepiej daj jakiś przykład zapisu w komórce z więcej niż jednym imieniem ojca i więcej niż jednym imieniem matki.
Pozdrawiam,
Eleonora
- Popkowicz_Bronisław

- Posty: 364
- Rejestracja: ndz 02 mar 2008, 16:26
- Lokalizacja: Warszawa
Piotrze,
nie bardzo rozumiem w czym widzisz problem. W pierwszym kroku zachowujemy w kolumnie F dane wejściowe do ew. dalszych jakichś operacji.
Kolega Kostkowski chce uzyskać raz kolumny z nazwiskiem ojca i imieniem i nazwiskiem matki (p. 4), drugi raz kolumny z nazwiskiem ojca, imieniem matki i nazwiskiem matki (p. 2).
Dysponując rozdzielonymi na trzy kolumny danymi można robić z nimi co się chce. Oczywiście czasami trzeba użyć do tego jeszcze innych operacji, np. kopiowanie, przenoszenie, rozdzielanie, przestawianie, ale tutaj je pomijam, bo nie wiem co jeszcze trzeba z tymi danymi zrobić.
nie bardzo rozumiem w czym widzisz problem. W pierwszym kroku zachowujemy w kolumnie F dane wejściowe do ew. dalszych jakichś operacji.
Kolega Kostkowski chce uzyskać raz kolumny z nazwiskiem ojca i imieniem i nazwiskiem matki (p. 4), drugi raz kolumny z nazwiskiem ojca, imieniem matki i nazwiskiem matki (p. 2).
Dysponując rozdzielonymi na trzy kolumny danymi można robić z nimi co się chce. Oczywiście czasami trzeba użyć do tego jeszcze innych operacji, np. kopiowanie, przenoszenie, rozdzielanie, przestawianie, ale tutaj je pomijam, bo nie wiem co jeszcze trzeba z tymi danymi zrobić.
- Kostkowski

- Posty: 1244
- Rejestracja: czw 14 paź 2010, 18:41
Ja chętnie Ci pomogę, ale najłatwiej mi to robić patrząc na plik.
Jeśli jesteś nadal w potrzebie to pisz proszę na priv. Będziemy mogli to zrobić tak, że mi podeślesz próbkę i ja wpiszę formuły, albo udostępnisz mi ekran i razem pogłówkujemy.
Potem formuły możemy tu wrzucić dla wszystkich, którzy mają ten sam kłopot.
Możemy jeszcze jedną rzecz zrobić - urochomić całość czyszczenia danych w excelowym dodatku Power Query - to jest o tyle lepsze rozwiązanie, że żadna formuła nie ulega nadpisaniu.
Siobhan
Jeśli jesteś nadal w potrzebie to pisz proszę na priv. Będziemy mogli to zrobić tak, że mi podeślesz próbkę i ja wpiszę formuły, albo udostępnisz mi ekran i razem pogłówkujemy.
Potem formuły możemy tu wrzucić dla wszystkich, którzy mają ten sam kłopot.
Możemy jeszcze jedną rzecz zrobić - urochomić całość czyszczenia danych w excelowym dodatku Power Query - to jest o tyle lepsze rozwiązanie, że żadna formuła nie ulega nadpisaniu.
Siobhan
- Kostkowski

- Posty: 1244
- Rejestracja: czw 14 paź 2010, 18:41
Bardzo dziękuję za tę deklarację. Kiedyś chętnie skorzystam z takiej pomocy. Teraz to, co indeksuję jest już poprzenoszone na swoje miejsca i wiele wklepywania mnie czeka. W przyszłości inne arkusze będę chciał uporządkować i ujednolicić.Siobhan pisze:Ja chętnie Ci pomogę, ale najłatwiej mi to robić patrząc na plik.
Jeśli jesteś nadal w potrzebie to pisz proszę na priv. Będziemy mogli to zrobić tak, że mi podeślesz próbkę i ja wpiszę formuły, albo udostępnisz mi ekran i razem pogłówkujemy.
Potem formuły możemy tu wrzucić dla wszystkich, którzy mają ten sam kłopot.
Możemy jeszcze jedną rzecz zrobić - uruchomić całość czyszczenia danych w excelowym dodatku Power Query - to jest o tyle lepsze rozwiązanie, że żadna formuła nie ulega nadpisaniu.
Siobhan
Z najlepszymi życzeniami wszelkiej pomyślności
Władysław Edward Kostkowski
Władysław Edward Kostkowski