=TEKST.PRZED(A2;" ") (po angielsku TEXTBEFORE) zwraca wszystko przed pierwszą spacją, więc Ana Silva daje Ana, a =TEKST.PO(A2;" ") (TEXTAFTER) zwraca wszystko po niej, Silva. Skopiuj obie formuły w dół, a każde imię i nazwisko zostanie rozdzielone na dwie kolumny. Tabela pokazuje formuły po angielsku, =TEXTBEFORE(A2," "), ale możesz w niej wpisywać formuły także po polsku, ze średnikami.
| A | B | C | |
|---|---|---|---|
| 1 | Full name | First | Last |
| 2 | Ana Silva | Ana | Silva |
| 3 | Ben Okafor | Ben | Okafor |
| 4 | Chen Wu | Chen | Wu |
| 5 | Dara Kelly | Dara | Kelly |
| 6 | Eli Novak | Eli | Novak |
=TEKST.PRZED(A2;" ")Zmień imię w kolumnie A, a obie kolumny się dostosują. TEKST.PRZED, TEKST.PO i PODZIEL.TEKST wymagają Microsoft 365 albo Excela 2024. Wersja z LEWY i ZNAJDŹ dla Excela 2021 i starszych jest niżej.
PODZIEL.TEKST: podział komórki na kolumny
=PODZIEL.TEKST(A2;" ") (po angielsku TEXTSPLIT) tnie tekst przy każdej spacji i rozlewa każdy fragment do osobnej komórki. Jedna formuła wypełnia tyle kolumn, ile jest fragmentów:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Text | ||||
| 2 | Ana Maria Silva | Ana | Maria | Silva | |
| 3 | Paris, Lyon, Nice | Paris | Lyon | Nice |
=PODZIEL.TEKST(A2;" ")- Separator może mieć więcej niż jeden znak:
", "dzieli przy przecinku, po którym jest spacja, więc fragmenty nie zaczynają się od spacji. - Zostaw miejsce na wynik. Jeśli komórka po prawej nie jest pusta, formuła pokazuje #ROZLANIE! (po angielsku
#SPILL!; tabele pokazują angielskie nazwy błędów). - Fragmenty są zawsze tekstem, również cyfry, więc SUMA je pomija. Gdy potrzebujesz liczb, postaw przed funkcją dwa minusy:
=--PODZIEL.TEKST(A2;",").
Trzeci argument to separator wierszy. Z oboma separatorami PODZIEL.TEKST buduje z jednej komórki małą tabelę: przecinki oddzielają kolumny, a średniki wiersze.
| A | B | |
|---|---|---|
| 1 | Teams | |
| 2 | Ana,Red;Ben,Blue;Chen,Green | |
| 3 | ||
| 4 | Ana | Red |
| 5 | Ben | Blue |
| 6 | Chen | Green |
=PODZIEL.TEKST(A2;",";";")Jeszcze dwie postacie, które działają w Excelu, pokazane tu jako tekst:
=TEXTSPLIT(A2,,", ") one piece per row: the column delimiter is left out
=TEXTSPLIT(A2,{";",","}) several delimiters in braces: splits at ; or ,
W polskim Excelu pierwsza to =PODZIEL.TEKST(A2;;", "); druga, ze stałą tablicową, zostaje w postaci angielskiej, bo separatory w nawiasach klamrowych zależą od ustawień regionalnych. Pierwsza zamienia excel, formulas, text w kolumnę trzech komórek, i tak właśnie listę wpisaną w jednej komórce zamieniasz na wiersze. Druga zamienia red;green,blue na red, green, blue.
Drugie imię i zapis „Nazwisko, Imię”
TEKST.PO(A2;" ") zwraca wszystko po pierwszej spacji, więc dla Ana Maria Silva zwraca Maria Silva. Aby dostać ostatnie słowo, licz od końca z numerem wystąpienia -1. Dla imion zapisanych jako Silva, Ana dziel zamiast tego przy przecinku i spacji:
| A | B | C | |
|---|---|---|---|
| 1 | Full name | First | Last |
| 2 | Ana Maria Silva | Ana | Silva |
| 3 | Ben Okafor | Ben | Okafor |
| 4 | Chen Li Wu | Chen | Wu |
| 5 | Cher | Cher | |
| 6 | |||
| 7 | Last, First | First | Last |
| 8 | Silva, Ana | Ana | Silva |
=TEKST.PO(A2;" ";-1)Gdy separatora brakuje, TEKST.PRZED i TEKST.PO zwracają #N/D! (po angielsku #N/A), a jednowyrazowe imię, takie jak Cher, nie ma spacji. Wiersz 5 używa szóstego argumentu, wartości zwracanej w zamian: =TEKST.PRZED(A5;" ";;;;A5) zwraca całe imię, a TEKST.PO(...;"") pustą komórkę.
| A | B | C | |
|---|---|---|---|
| 1 | User | Domain | |
| 2 | ana.silva@coddy.tech | ana.silva |
Twoja kolej: W C2 zwróć domenę adresu e-mail z A2: wszystko po znaku @.
Rozdzielanie imion w starszym Excelu
Bez TEKST.PRZED i TEKST.PO znajdź pozycję spacji funkcją ZNAJDŹ (FIND) i tnij wokół niej funkcjami LEWY, FRAGMENT.TEKSTU i PRAWY (LEFT, MID i RIGHT):
| A | B | C | |
|---|---|---|---|
| 1 | Full name | First | Last |
| 2 | Ana Silva | Ana | Silva |
| 3 | Ben Okafor | Ben | Okafor |
| 4 | Chen Wu | Chen | Wu |
=LEWY(A2;ZNAJDŹ(" ";A2)-1)ZNAJDŹ(" ";A2)to pozycja spacji: 4 wAna Silva.LEWY(A2;4-1)bierze 3 znaki przed nią.FRAGMENT.TEKSTU(A2;4+1;100)bierze do 100 znaków, zaczynając za spacją. 100 znaczy tylko „więcej niż w jakimkolwiek nazwisku”;=PRAWY(A2;DŁ(A2)-ZNAJDŹ(" ";A2))daje ten sam wynik z dokładną długością.
Te formuły zwracają #ARG! (po angielsku #VALUE!), gdy nie ma spacji. Obejmij je funkcją JEŻELI.BŁĄD (IFERROR), =JEŻELI.BŁĄD(LEWY(A2;ZNAJDŹ(" ";A2)-1);A2), aby zamiast tego zwrócić całą komórkę.
| A | B | |
|---|---|---|
| 1 | Code | Prefix |
| 2 | KT-1043-BLUE |
Twoja kolej: Zwróć w B2 część kodu produktu przed pierwszym myślnikiem, używając LEWY i ZNAJDŹ.
Tekst jako kolumny i Wypełnianie błyskawiczne
Aby jednorazowo podzielić kolumnę bez formuł:
- Zaznacz kolumnę z pełnymi imionami i nazwiskami. Upewnij się, że kolumny po jej prawej stronie są puste, bo Tekst jako kolumny je nadpisuje.
- Dane > Tekst jako kolumny.
- Wybierz Rozdzielany, kliknij Dalej, zaznacz Spacja (albo Przecinek, albo wpisz inny znak w polu Inny), kliknij Dalej.
- Pierwszy fragment zastępuje pełne imiona i nazwiska. Aby je zachować, ustaw Miejsce docelowe na pustą komórkę po ich prawej stronie, a potem kliknij Zakończ.
Wypełnianie błyskawiczne jest szybsze przy wzorcu: wpisz Ana obok Ana Silva, naciśnij Enter, potem Ctrl+E albo Dane > Wypełnianie błyskawiczne, a Excel uzupełni imiona w pozostałych wierszach. Oba narzędzia zapisują stałe wartości. Jeśli imiona później się zmienią, podział się nie zmieni; formuła tak.
Najczęściej zadawane pytania
Jak rozdzielić imię i nazwisko w Excelu?
Gdy w A2 jest Ana Silva, =TEKST.PRZED(A2;" ") daje Ana, a =TEKST.PO(A2;" ";-1) daje Silva, nawet gdy jest drugie imię. W Excelu 2021 i starszych imię zwraca =LEWY(A2;ZNAJDŹ(" ";A2)-1).
Które wersje Excela mają PODZIEL.TEKST?
PODZIEL.TEKST, TEKST.PRZED i TEKST.PO są w Microsoft 365, Excelu dla sieci Web i Excelu 2024. Excel 2021 i starsze pokazują #NAZWA?; tam użyj LEWY, FRAGMENT.TEKSTU, PRAWY i ZNAJDŹ albo polecenia Dane > Tekst jako kolumny.
Jak podzielić komórkę według przecinka w Excelu?
=PODZIEL.TEKST(A2;", ") rozlewa każdy fragment do osobnej kolumny. Aby fragmenty trafiły do wierszy, zostaw separator kolumn pusty: =PODZIEL.TEKST(A2;;", ").
Dlaczego TEKST.PRZED zwraca #N/D!?
W komórce nie ma separatora, na przykład pojedyncze imię bez spacji. Podaj wartość na ten przypadek w szóstym argumencie: =TEKST.PRZED(A2;" ";;;;A2) zwraca całą komórkę, gdy nie ma spacji.