Usuń początkowe lub końcowe spacje w całej kolumnie danych

128

Jak usunąć początkowe lub końcowe spacje wszystkich komórek w całej kolumnie?

Konwencjonalne okno dialogowe arkusza Find and Replace(aka Ctrl+ H) nie rozwiązuje problemu.

venkat
źródło
Czy mógłbyś wyjaśnić „bez kodu”? Czy masz na myśli bez VBA tylko z formułami?
hydroks467
Nie wiem, czy wstążka Excel 2010 może nadal eksportować do formatu wartości rozdzielanych przecinkami lub tabulatorami, ale jeśli tak, wyeksportuj go w jednym z tych formatów, zmodyfikuj w notatniku (lub czymkolwiek) i zaimportuj z powrotem.
technozaur
1
bez „VBA” jest świetne !!
venkat
6
Nie jestem pewien, dlaczego został zamknięty tak nie na temat, jak jego uzasadnione pytanie, a Excel można uznać za funkcjonalny język programowania - jego pytanie dotyczyło tego, jak osiągnąć pożądany rezultat, biorąc pod uwagę zestaw funkcji programu Excel.
JD
1
Uważaj na te odpowiedzi, jeśli chcesz zachować wewnętrzne odstępy między słowami. TRIM usunie WSZYSTKIE dodatkowe spacje, nie tylko początkowe i końcowe.
Chiramisu

Odpowiedzi:

134

Jeśli chcesz użyć formuły, TRIMfunkcja zrobi dokładnie to, czego szukasz:

+----+------------+---------------------+
|    |     A      |           B         |
+----+------------+---------------------+
| 1  | =TRIM(B1)  |  value to trim here |
+----+------------+---------------------+

Aby więc zrobić całą kolumnę ...
1) Wstaw kolumnę
2) Wstaw TRIMfunkcję wskazującą na komórkę, którą próbujesz poprawić.
3) Skopiuj formułę w dół strony
4) Skopiuj wstawioną kolumnę
5) Wklej jako „Wartości”

Stamtąd powinno być dobrze ...

hydroks467
źródło
7
To Trimnie wyszło. nadal wynik uzyskuje ze spacjami
venkat
20
Domyślam się, że w tym, co próbujesz usunąć, są inne znaki niż „spacje”. Możesz spróbować = TRIM (CLEAN (B1)), który usunie wszystkie niedrukowalne znaki i wszelkie spacje wiodące / końcowe.
hydroks467
4
Zauważ, że to rozwiązanie usunie również kolejne osadzone spacje - co może NIE być tym, czego chcesz, jeśli chcesz po prostu usunąć spacje początkowe i końcowe!
Loophole
4
trim usunie dodatkowe spacje między słowami innymi niż spacje początkowe i końcowe
kaushik
2
Nie spodziewałbym się tego i może być coś, co robię źle - wydaje się, że TRIM eliminuje zduplikowane spacje w środku mojego ciągu. Czy istnieje sposób na obcięcie tylko spacji wiodących i końcowych?
Shavais
230

Dość często problemem jest nierozerwalna spacja - CHAR(160)zwłaszcza ze źródeł tekstowych w Internecie - CLEANktórej nie można usunąć, więc poszedłbym o krok dalej i wypróbowałbym formułę taką, która zastępuje wszelkie nierozdzielające spacje standardową

=TRIM(CLEAN(SUBSTITUTE(A1,CHAR(160)," ")))

Ron de Bruin posiada doskonałą post wskazówek dotyczących czyszczenia danych tutaj

Możesz również usunąć CHAR(160)bezpośrednio bez formuły obejścia przez

  • Edytuj .... Zastąp wybrane dane,
  • w aplikacji Znajdź, co trzymasz ALTi wpisz 0160za pomocą klawiatury numerycznej
  • Pozostaw pole Zamień na puste i wybierz opcję Zamień wszystko
brettdj
źródło
3
nie wiedziałem CLEAN(..)do dzisiaj! bardzo przydatne :)
Dmitry Pavliv 08.04.14
11

Bez użycia formuły możesz to zrobić za pomocą opcji „Tekst do kolumn”.

  • Wybierz kolumnę, która ma końcowe spacje w komórkach.
  • Kliknij „Tekst do kolumn” na karcie „Dane”, a następnie wybierz opcję „Stała szerokość”.
  • Ustaw linię przerwania, aby zmieścił się najdłuższy tekst. Jeśli Twoja największa komórka ma 100 znaków, możesz ustawić linię nieciągłości na 200 lub cokolwiek chcesz.
  • Zakończ operację.
  • Możesz teraz usunąć nową kolumnę utworzoną przez program Excel.

„Efekt uboczny” polega na tym, że program Excel usunął wszystkie końcowe spacje z oryginalnej kolumny.

Joris
źródło
to naprawdę najprostsza droga. Dzięki za wskazówkę! użycie TRIM () obejmuje dodatkowe kroki polegające na dodaniu kolumny i skopiowaniu wklejania wartości.
majstrować
Podoba mi się ta odpowiedź bardziej niż Katherine
majstrować
To NIE usunęło za mnie końcowych spacji. Powrót do nowej kolumny / rozwiązania TRIM.
Todd Beaulieu
6

Jeśli za każdym razem jest taka sama liczba znaków na początku komórki, możesz użyć polecenia tekst do kolumn i wybrać opcję stałej szerokości, aby podzielić dane komórki na dwie kolumny. Następnie usuń niechciane rzeczy z pierwszej kolumny.

Katherine Chalmers
źródło
2

Odkryłem, że najlepszym (i najłatwiejszym) sposobem usunięcia wiodących, końcowych (i nadmiernych) spacji w programie Excel jest użycie wtyczki innej firmy. Używam ASAP Utilities dla programu Excel i wykonuje to zadanie, a także dodaje wiele innych bardzo potrzebnych funkcji. To podejście nie wymaga pisania formuł i może usunąć spacje z dowolnego zaznaczenia obejmującego wiele kolumn i / lub wierszy. Używam tego również do odkażania i usuwania nieproszonej, nie łamiącej się przestrzeni, która często znajduje się w danych Excela podczas kopiowania i wklejania z innych produktów Microsoft.

Więcej informacji na temat narzędzi ASAP i przycinania można znaleźć tutaj:

http://www.asap-utilities.com/asap-utilities-excel-tools-tip.php?tip=87wprowadź opis obrazu tutaj

James Moberg
źródło
-2

Udało mi się użyć funkcji Znajdź i zamień z polem wejściowym „Znajdź, co:” ustawionym na:

„*”

(spacja, gwiazdka, spacja bez cudzysłowów)

i „Zamień na:” ustawione na:

„”

(nic)

Panie Roman
źródło
2
nie mogłem tego zrobić. to wymaga wyrażeń regularnych, prawda?
majstrować