=LEWY(A2;3) (po angielsku LEFT) zwraca pierwsze 3 znaki tekstu z A2, =PRAWY(A2;1) (RIGHT) ostatni znak, a =FRAGMENT.TEKSTU(A2;5;4) (MID) zwraca 4 znaki, zaczynając od piątego. Dla kodu NYC-2041-B to NYC, B i 2041. Tabela pokazuje formuły po angielsku, =LEFT(A2,3), ale możesz w niej wpisywać formuły także po polsku, ze średnikami.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Code | City | Number | Size |
| 2 | NYC-2041-B | NYC | 2041 | B |
| 3 | LAX-1187-A | LAX | 1187 | A |
| 4 | SFO-3302-C | SFO | 3302 | C |
| 5 | BOS-0915-B | BOS | 0915 | B |
=LEWY(A2;3)Kliknij C2 i zmień 5 na 4: wynik zaczyna się teraz od myślnika. Spacje i znaki interpunkcyjne liczą się jako znaki, a pierwszy znak ma pozycję 1.
Składnia
=LEFT(text, [num_chars])
=RIGHT(text, [num_chars])
=MID(text, start_num, num_chars)
num_charsjest w LEWY i PRAWY opcjonalny i domyślnie wynosi 1.- Jeśli poprosisz o więcej znaków, niż jest w tekście, dostaniesz cały tekst, a nie błąd.
=LEWY("Ann";10)toAnn. - Ujemna liczba znaków daje #ARG! (po angielsku
#VALUE!; tabele pokazują angielskie nazwy błędów), na przykład=LEWY(A2;DŁ(A2)-3)dla tekstu krótszego niż 3 znaki.
Gdy długość się zmienia: LEWY, PRAWY i FRAGMENT.TEKSTU z ZNAJDŹ
Kody rzadko mają jednakową długość. Użyj funkcji ZNAJDŹ (FIND), aby znaleźć separator, i pozwól formule wyliczyć liczbę znaków:
| A | B | C | |
|---|---|---|---|
| 1 | Code | Before the dash | After the dash |
| 2 | NY-2041 | NY | 2041 |
| 3 | BOSTON-15 | BOSTON | 15 |
| 4 | LA-30087 | LA | 30087 |
=LEWY(A2;ZNAJDŹ("-";A2)-1)ZNAJDŹ("-";A2)zwraca pozycję myślnika, 3 wNY-2041.LEWY(A2;3-1)bierze 2 znaki przed nim.FRAGMENT.TEKSTU(A2;3+1;50)zaczyna za myślnikiem i bierze do 50 znaków, więcej niż ma jakikolwiek kod, więc dochodzi do końca.
W Microsoft 365 i Excelu 2024 TEKST.PRZED(A2;"-") i TEKST.PO(A2;"-") dają te same wyniki krótszą formułą; zobacz dzielenie tekstu.
Usuwanie pierwszych albo ostatnich znaków
Aby odrzucić znaki, zachowaj resztę. DŁ (LEN) podaje całkowitą długość, a ty odejmujesz to, co chcesz usunąć:
| A | B | C | |
|---|---|---|---|
| 1 | Text | Without first 3 | Without last 2 |
| 2 | ID-58210 | 58210 | ID-582 |
| 3 | ID-7734 | 7734 | ID-77 |
| 4 | ID-120 | 120 | ID-1 |
=PRAWY(A2;DŁ(A2)-3)| A | B | |
|---|---|---|
| 1 | Card | Last four |
| 2 | 4111 2222 3333 9876 |
Twoja kolej: W B2 zwróć ostatnie 4 znaki numeru karty z A2.
Wyciąganie liczby z kodu
LEWY, PRAWY i FRAGMENT.TEKSTU zawsze zwracają tekst, nawet gdy znaki są cyframi. Cyfry zapisane jako tekst wyglądają jak liczby, ale SUMA je pomija, i dlatego suma wyciągniętych liczb może wyjść 0:
| A | B | C | |
|---|---|---|---|
| 1 | Order | MID (text) | VALUE(MID) |
| 2 | SO-0120-X | 0120 | 120 |
| 3 | SO-0345-Y | 0345 | 345 |
| 4 | SO-1000-Z | 1000 | 1000 |
| 5 | Total | 0 | 1465 |
=FRAGMENT.TEKSTU(A2;4;4)Kolumna B pokazuje 0120 z zerem na początku, bo to nadal tekst, a B5 sumuje się do 0. Kolumna C zamienia każdy fragment funkcją WARTOŚĆ (VALUE) i suma jest poprawna. =--FRAGMENT.TEKSTU(A2;4;4) i =FRAGMENT.TEKSTU(A2;4;4)*1 zamieniają tak samo; więcej znajdziesz na stronie tekst na liczbę.
| A | B | |
|---|---|---|
| 1 | Item | Quantity |
| 2 | PK-045-BAG |
Twoja kolej: Ilość stoi między dwoma myślnikami i zawsze ma 3 cyfry. W B2 wyciągnij ją jako liczbę, którą można sumować.
Częsty błąd: LEWY na dacie
Data jest zapisana jako liczba, więc =LEWY(B2;4) dla daty 2026-03-15 nie zwraca 2026: zwraca 4609, pierwsze 4 cyfry liczby 46096, czyli liczby seryjnej pod datą.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Event | Date | LEFT(date,4) | Year |
| 2 | Launch | 2026-03-15 | 4609 | 2026 |
| 3 | 2026 |
=LEWY(B2;4)Użyj ROK(B2), aby dostać rok jako liczbę, albo TEXT(B2,"yyyy") (postać angielska funkcji TEKST), aby dostać rok jako tekst. MIESIĄC, DZIEŃ i TEKST z kodem "mmm" albo "dd" obsługują pozostałe części.
Najczęściej zadawane pytania
Jak wyciągnąć pierwsze N znaków w Excelu?
Użyj LEWY z liczbą znaków: =LEWY(A2;3) zwraca pierwsze 3 znaki. Bez drugiego argumentu =LEWY(A2) zwraca tylko pierwszy znak.
Jak usunąć pierwsze albo ostatnie znaki w Excelu?
Zachowaj resztę za pomocą DŁ: =PRAWY(A2;DŁ(A2)-3) usuwa pierwsze 3 znaki, a =LEWY(A2;DŁ(A2)-2) usuwa ostatnie 2.
Dlaczego nie mogę zsumować liczb zwracanych przez FRAGMENT.TEKSTU?
LEWY, PRAWY i FRAGMENT.TEKSTU zawsze zwracają tekst, a SUMA pomija tekst. Zamień wynik na liczbę funkcją WARTOŚĆ albo dwoma minusami: =WARTOŚĆ(FRAGMENT.TEKSTU(A2;5;4)) albo =--FRAGMENT.TEKSTU(A2;5;4).
Jak wyciągnąć tekst przed danym znakiem w Excelu?
Znajdź pozycję znaku i weź o jeden mniej: =LEWY(A2;ZNAJDŹ("-";A2)-1) zwraca wszystko przed pierwszym myślnikiem. W Microsoft 365 to samo robi =TEKST.PRZED(A2;"-").