Zamiana adresu email na imię i nazwisko

Użytkowanie arkusza kalkulacyjnego
piczasso
Posty: 15
Rejestracja: pt gru 22, 2017 12:25 pm

Zamiana adresu email na imię i nazwisko

Post autor: piczasso »

Witam,
To forum bardzo mi pomogło i chciałem się odwdzięczyć. Namęczyłem się nad formułą która zmienia adres email jan.kowalski@gmail.com na Jan Kowalski. jest to bardzo przydane w dużych bazach danych, bądź zagranicznych gdzie cieżko przepisywać imię i nazwisko. Nie znalazłem takiego tematu, jeżeli już taki istnieje to go usunę.
W komórce F37 mamy email jan.kowalski@gmail.com

Kod: Zaznacz cały

=JEŻELI(CZY.BŁĄD(JEŻELI(LEWY($F37;4)="info";"";OD.WIELKIEJ.LITERY(ZASTĄP(LEWY($F37;ZNAJDŹ("@";$F37)-1);ZNAJDŹ(".";$F37);1;" "))))=1;"";JEŻELI(LEWY($F37;4)="info";"";OD.WIELKIEJ.LITERY(ZASTĄP(LEWY($F37;ZNAJDŹ("@";$F37)-1);ZNAJDŹ(".";$F37);1;" "))))
Jeżeli na początku adresu jest "info" to reguła zostawia nam puste pole.
Open Office Apach 4.1.4 Windows 7 - Mówią że z kim się zadajesz takim się stajesz - Ja oglądam Dragon Ball'a
Awatar użytkownika
Jermor
Posty: 2254
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Zamiana adresu email na imię i nazwisko

Post autor: Jermor »

Myślę, że pomijając "info" (a przecież może być często "biuro", "sekretariat" itp) formuła mogłaby być taka:

Kod: Zaznacz cały

=OD.WIELKIEJ.LITERY(PODSTAW(MID(A2;1;ZNAJDŹ("@";A2;1)-1);".";" "))
przy adresie wpisanym do A2
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
piczasso
Posty: 15
Rejestracja: pt gru 22, 2017 12:25 pm

Re: Zamiana adresu email na imię i nazwisko

Post autor: piczasso »

Nie pamiętam kiedy ale wychodziły mi błędy, dlatego moja funkcja jest taka długa. Ale racja po skróceniu wygląda lepiej

Kod: Zaznacz cały

JEŻELI(LEWY(A2;4)="info";"";OD.WIELKIEJ.LITERY(ZASTĄP(LEWY(A2;ZNAJDŹ("@";A2)-1);ZNAJDŹ(".";A2);1;" ")))
Temat zostawię otwarty jeszcze kilka dni gdyby ktoś miał pytanie lub inny pomysł. A co do biura itp to już każdy sobie podstawi. U mnie każdy kraj jest w innym arkuszu więc może być kundservice lub jeszcze coś innego :)
Open Office Apach 4.1.4 Windows 7 - Mówią że z kim się zadajesz takim się stajesz - Ja oglądam Dragon Ball'a
Awatar użytkownika
Jermor
Posty: 2254
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Zamiana adresu email na imię i nazwisko

Post autor: Jermor »

Błąd pojawia się gdy w ciągu nie wystąpi znak "@", ale wówczas na pewno nie jest to adres mailowy. Jaki wynik uzyskasz twoją formułą gdy gdy adres będzie taki: elvis.aaron.presley@gmail.com?
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
Jan_J
Posty: 4560
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Zamiana adresu email na imię i nazwisko

Post autor: Jan_J »

W Pythonie równoważną czynność opiszemy kodem

imie_nazwisko = email.split('@')[0].replace('.', ' ').title().split(' ')
jeśli chcemy dostać osobne teksty, albo
imie_nazwisko = email.split('@')[0].replace('.', ' ').title()
jeśli zależy nam na jednym tekście z imieniem (imionami) i nazwiskiem.

Naprawdę, nie ma żadnego powodu poza przyzwyczajeniem, żeby w produkcji (duże bazy danych) męczyć się z przestarzałymi językami rodem z lat 60-tych.
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
piczasso
Posty: 15
Rejestracja: pt gru 22, 2017 12:25 pm

Re: Zamiana adresu email na imię i nazwisko

Post autor: piczasso »

Bardzo dobre pytanie Jermor!!
Twoja formuła działa dokładnie(Elvis Aaron Presley), u mnie zostaje jedna kropka(Elvis Aaron.Presley). Nie do końca rozumiem dlaczego. Chodzi o komendy podstaw/zamień?
Open Office Apach 4.1.4 Windows 7 - Mówią że z kim się zadajesz takim się stajesz - Ja oglądam Dragon Ball'a
Awatar użytkownika
Jermor
Posty: 2254
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Zamiana adresu email na imię i nazwisko

Post autor: Jermor »

Funkcja ZASTĄP zastępuje w tekście pewną wybraną liczbę znaków, zaczynających się na określonej pozycji, innym tekstem. W twojej formule ZNAJDŹ odnajduje tylko pierwszą kropkę w tekście. Dlatego ZASTĄP zamienił tylko pierwszą kropkę. Teraz należałoby na tym ciągu wykonać ponownie tę sama operację. Ponieważ struktura adresu mailowego nie ma ograniczenia co do liczby znaków kropki, to nie wiemy ile razy należałoby powtarzać taki zabieg.
Funkcja PODSTAW w tekście ma odnaleźć określony ciąg znaków i zastąpić go innym ciągiem. Jeśli pominięty jest ostatni parametr mówiący, które wystąpienie ciągu ma zostać podmienione, podmianie podlegają wszystkie wystąpienia.
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
ODPOWIEDZ