=USUŃ.ZBĘDNE.ODSTĘPY(A2) (po angielsku TRIM) usuwa wszystkie spacje przed tekstem w A2 i po nim, a każdy ciąg spacji między słowami skraca do jednej spacji. " Ana Silva " zmienia się w Ana Silva. Tabela pokazuje formuły po angielsku, =TRIM(A2), ale możesz w niej wpisywać formuły także po polsku, ze średnikami.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Name | TRIM | Length before | Length after |
| 2 | Ana Silva | Ana Silva | 14 | 9 |
| 3 | Ben Okafor | Ben Okafor | 13 | 10 |
| 4 | Chen Wu | Chen Wu | 10 | 7 |
=USUŃ.ZBĘDNE.ODSTĘPY(A2)Spacji w kolumnie A nie widać i dlatego są tu kolumny z długością: DŁ (LEN) je liczy. Nadmiarowe spacje zwykle przychodzą z danymi zaimportowanymi albo wklejonymi i psują wyszukiwania i porównania bez żadnego widocznego znaku.
Dlaczego nadmiarowe spacje psują formuły
Dla Excela Ana ze spacją na końcu i Ana to różne teksty. Porównanie zwraca FAŁSZ, LICZ.JEŻELI (COUNTIF) nie liczy komórki, a wyszukiwanie zwraca #N/D! (po angielsku #N/A; tabele pokazują angielskie nazwy błędów):
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Name | Score | Is it Ana? | Ana's score |
| 2 | Ana | 90 | FALSE | not found |
| 3 | Ben | 85 | TRUE | 90 |
| 4 | Chen | 78 |
=X.WYSZUKAJ("Ana";USUŃ.ZBĘDNE.ODSTĘPY(A2:A4);B2:B4;"not found")C2 to FAŁSZ, a D2 niczego nie znajduje (bez czwartego argumentu X.WYSZUKAJ, po angielsku XLOOKUP, pokazałaby #N/D!), bo A2 zawiera Ana ze spacją. D3 usuwa spacje z całej przeszukiwanej kolumny wewnątrz formuły i znajduje 90; w polskim Excelu to =X.WYSZUKAJ("Ana";USUŃ.ZBĘDNE.ODSTĘPY(A2:A4);B2:B4;"not found"). Działa to w Microsoft 365 i Excelu 2021; w starszych wersjach najpierw wyczyść kolumnę. Spacje to jedna z najczęstszych przyczyn błędu #N/D! przy wyszukiwaniu.
Usuwanie wszystkich spacji
USUŃ.ZBĘDNE.ODSTĘPY zawsze zostawia jedną spację między słowami. Aby usunąć każdą spację, na przykład z numeru telefonu albo kodu produktu, podstaw w miejsce spacji nic:
| A | B | C | |
|---|---|---|---|
| 1 | Code | TRIM | No spaces |
| 2 | AB 12 34 | AB 12 34 | AB1234 |
| 3 | 555 201 3344 | 555 201 3344 | 5552013344 |
=USUŃ.ZBĘDNE.ODSTĘPY(A2)| A | B | |
|---|---|---|
| 1 | Customer | Clean name |
| 2 | Eli Novak | |
| 3 | Fay Ruiz | |
| 4 | Gus Lee |
Twoja kolej: Nazwiska w kolumnie A mają nadmiarowe spacje. W B2 zwróć nazwisko z A2 bez spacji dookoła i z pojedynczymi spacjami między słowami. Formuła kopiuje się w dół do B4.
USUŃ.ZBĘDNE.ODSTĘPY nie działa: twarde spacje
Tekst skopiowany ze strony internetowej albo z pliku PDF często zawiera twarde spacje, znak 160, zamiast zwykłych spacji, znaku 32. Wyglądają identycznie, ale USUŃ.ZBĘDNE.ODSTĘPY usuwa tylko znak 32, więc w Excelu nic się nie zmienia:
A2: Ana Silva (a non-breaking space between the names and one at the end)
=LEN(A2) 10
=LEN(TRIM(A2)) 10, TRIM removed nothing
W polskim Excelu: =DŁ(A2) i =DŁ(USUŃ.ZBĘDNE.ODSTĘPY(A2)). Rozwiązanie: najpierw zamień każdy znak 160 na zwykłą spację funkcją PODSTAW (SUBSTITUTE), a resztą niech zajmie się USUŃ.ZBĘDNE.ODSTĘPY. Tekst w A2 poniżej jest zbudowany z ZNAK(160) (CHAR), żebyś zobaczył znak, który wkleja strona internetowa:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Pasted text | Length | Code of 4th character | Fixed | Fixed length |
| 2 | Ana Silva | 10 | 160 | Ana Silva | 9 |
=USUŃ.ZBĘDNE.ODSTĘPY(PODSTAW(A2;ZNAK(160);" "))C2 pokazuje, jak rozpoznać nietypowy znak: KOD(FRAGMENT.TEKSTU(A2;4;1)) (CODE, MID) zwraca kod czwartego znaku, tutaj 160. D2 ma 9 znaków, czyli 10 z A2 minus spacja na końcu.
OCZYŚĆ: usuwanie podziałów wierszy i innych ukrytych znaków
OCZYŚĆ (po angielsku CLEAN) usuwa niedrukowalne znaki o kodach od 0 do 31: podziały wierszy (10), powroty karetki (13) i tabulatory (9). Spacji nie rusza, więc zwykle używa się pary =USUŃ.ZBĘDNE.ODSTĘPY(OCZYŚĆ(A2)):
| A | B | C | |
|---|---|---|---|
| 1 | Imported | CLEAN | TRIM(CLEAN) |
| 2 | Ana Silva | AnaSilva | AnaSilva |
=OCZYŚĆ(A2)OCZYŚĆ po prostu kasuje podział wiersza, więc oba słowa się sklejają: AnaSilva . Gdy podział wiersza oddziela słowa, zastąp go spacją: =USUŃ.ZBĘDNE.ODSTĘPY(PODSTAW(A2;ZNAK(10);" ")); ten przypadek pokazuje strona o nowej linii w komórce.
Zastąpienie pierwotnej kolumny tekstem bez spacji
USUŃ.ZBĘDNE.ODSTĘPY zapisuje wynik w innej komórce. Aby naprawić same dane:
- Wpisz
=USUŃ.ZBĘDNE.ODSTĘPY(A2)w pustej kolumnie obok danych i skopiuj w dół. - Skopiuj tę kolumnę (Ctrl+C, na Macu Cmd+C).
- Zaznacz pierwotną kolumnę i użyj Narzędzia główne > Wklej > Wklej wartości, żeby komórki dostały tekst, a nie formuły.
- Usuń kolumnę pomocniczą.
Znajdowanie i zamienianie usuwa spacje bez formuły, ale nie odróżnia spacji na początku od spacji między słowami: zamiana spacji na nic skleja Ana Silva w AnaSilva. Zamiana dwóch spacji na jedną, powtarzana, aż Excel nie znajdzie nic do zamiany, to ręczna wersja reguły USUŃ.ZBĘDNE.ODSTĘPY dla spacji wewnątrz tekstu. Pojedyncza spacja na początku albo na końcu zostaje.
Najczęściej zadawane pytania
Jak usunąć spacje w Excelu?
=USUŃ.ZBĘDNE.ODSTĘPY(A2) usuwa spacje na początku i na końcu i zostawia jedną spację między słowami. Aby usunąć każdą spację, także między słowami, użyj =PODSTAW(A2;" ";"").
Dlaczego USUŃ.ZBĘDNE.ODSTĘPY nie usuwa spacji?
To prawdopodobnie twarde spacje (znak 160), które często zawiera tekst skopiowany ze stron internetowych. USUŃ.ZBĘDNE.ODSTĘPY usuwa tylko zwykłą spację, znak 32. Najpierw je zamień: =USUŃ.ZBĘDNE.ODSTĘPY(PODSTAW(A2;ZNAK(160);" ")).
Czym różni się USUŃ.ZBĘDNE.ODSTĘPY od OCZYŚĆ?
USUŃ.ZBĘDNE.ODSTĘPY usuwa nadmiarowe spacje. OCZYŚĆ usuwa niedrukowalne znaki o kodach od 0 do 31, takie jak podziały wierszy i tabulatory. =USUŃ.ZBĘDNE.ODSTĘPY(OCZYŚĆ(A2)) robi jedno i drugie.
Jak zastąpić pierwotną kolumnę tekstem bez spacji?
Wpisz =USUŃ.ZBĘDNE.ODSTĘPY(A2) w wolnej kolumnie i skopiuj w dół, skopiuj tę kolumnę, zaznacz pierwotną i użyj Narzędzia główne > Wklej > Wklej wartości. Potem usuń kolumnę pomocniczą.