Próbuję wygenerować nazwę użytkownika za pomocą pojedynczego pola w programie Excel, które ma imię i nazwisko osoby. Jestem otwarty na to, jaka byłaby nazwa użytkownika, pod warunkiem, że jest ona intuicyjna dla użytkownika. Pola nazw mogą być trudne, ponieważ dane wyglądają tak:
Albert Abongo (2 names)
Stephen Michael Essuah Ackah (4 names)
Alhaji Iddrisu Abdul-KArim (3 names)
Sądzę, że moje idealne nazwy użytkowników dla tych osób byłyby
aabongo
sackah
aabdul-karim
macos
mac
microsoft-excel
sql
wahacze
źródło
źródło
(2 names)
częścią ciągu?Odpowiedzi:
Spróbuj użyć następujących (z danymi wejściowymi w A1):
=LOWER(LEFT(A1,1)&TRIM(RIGHT(SUBSTITUTE(A1," ",REPT(" ",LEN(A1))),LEN(A1))))
LOWER
: sprawia, że wszystkie dane wyjściowe są małeLEFT(A1,1)
: ciągnie dane, zaczynając od lewej, na 1 znak.&
łączy dwie części razemTRIM(RIGHT(SUBSTITUTE(A1," ",REPT(" ",LEN(A1))),(LEN(A1)))
SUBSTITUTE(A1," ",REPT(" ",LEN(A1)))
funkcja zlicza długość oryginalnego łańcucha i umieszcza taką samą liczbę miejsc, w których istnieje każda przestrzeń(RIGHT(text,LEN(A1))
ciągnie, zaczynając od prawej, na długość oryginalnego łańcuchaTRIM
usuwa wiodące spacjeźródło
A1
formuły znakiemTRIM(A1)
.LEN(A1)
zamiast255
we wszystkich przypadkach.Aby dodać do sprytnej odpowiedzi @CameronAziz, jeśli chcesz uniknąć duplikowania nazw użytkowników, możesz dodać kolejną kolumnę po prawej stronie tych nazw użytkowników (w kolumnie B w tym przykładzie) i wypełnić tę formułę:
Spowoduje to dodanie liczby po prawej stronie nazwy użytkownika, jeśli jest duplikatem poprzednich nazw użytkowników.
źródło