Co zrobić, gdy funkcja TRIM programu Excel nie działa

Spisu treści:

Co zrobić, gdy funkcja TRIM programu Excel nie działa
Co zrobić, gdy funkcja TRIM programu Excel nie działa
Anonim

Gdy kopiujesz lub importujesz dane tekstowe do arkusza programu Excel, arkusz kalkulacyjny czasami zachowuje dodatkowe spacje oprócz wstawionej zawartości. Zwykle sama funkcja TRIM() może usunąć te niechciane spacje, niezależnie od tego, czy występują między słowami, czy na początku lub na końcu ciągu tekstowego. Jednak w niektórych sytuacjach TRIM() nie może wykonać zadania.

Na komputerze spacja między słowami nie jest pustym obszarem, ale znakiem - i istnieje więcej niż jeden typ znaku spacji. Jeden znak spacji często używany na stronach internetowych, którego TRIM() nie usunie, to spacja nierozdzielająca.

Jeśli zaimportowałeś lub skopiowałeś dane ze stron internetowych, możesz nie być w stanie usunąć dodatkowych spacji za pomocą funkcji TRIM(), jeśli są one utworzone przez spacje nierozdzielające.

Nieprzerwane i regularne spacje

Image
Image

Spacje to znaki, a do każdego znaku odwołuje się jego wartość kodu ASCII. ASCII to skrót od American Standard Code for Information Interchange - międzynarodowy standard znaków tekstowych w środowiskach operacyjnych komputerów, który tworzy jeden zestaw kodów dla 255 różnych znaków i symboli używanych w programach komputerowych.

Kod ASCII dla spacji nierozdzielającej to 160. Kod ASCII dla zwykłej spacji to 32.

Funkcja TRIM() może usuwać tylko spacje o kodzie ASCII 32.

Image
Image

Różne style czcionek obsługują różne zakresy kodów ASCII. Standardowa tabela oferuje 127 możliwych wartości; kroje pisma muszą minimalnie obsługiwać 127-znakową mapę ASCII, aby można ją było uznać za poprawną. Jednak „rozszerzone” znaki ASCII, wywoływane z dodatkowymi kodami, często dodają dodatkowe znaki do ulubionych czcionek. W rzeczywistości spacja nierozdzielająca sama w sobie jest rozszerzonym znakiem ASCII, podczas gdy spacja standardowa to… cóż, standard.

Usuwanie spacji niełamliwych

Usuń spacje nierozdzielające z wiersza tekstu za pomocą funkcji TRIM(), SUBSTITUTE() i CHAR().

Ponieważ funkcje SUBSTITUTE() i ZNAK() są zagnieżdżone w funkcji TRIM(), formułę należy wpisać do arkusza zamiast używać okien dialogowych funkcji do wprowadzania argumentów.

Formuła, zakładając, że dane ze spacjami nierozdzielającymi znajdują się w komórce A1, to:

Jak działa formuła

Każda zagnieżdżona funkcja wykonuje określone zadanie:

  • Funkcja CHAR określa odpowiednie kody ASCII dla dwóch różnych spacji w formule - 160 i 32
  • Funkcja SUBSTITUTE zastępuje lub zastępuje wszystkie nierozdzielające spacje między słowami zwykłymi spacjami
  • Funkcja TRIM usuwa dodatkowe zwykłe spacje między słowami, dzięki czemu instrukcja pojawia się normalnie w arkuszu

Biorąc pod uwagę logikę kolejności działania formuł programu Excel, formuła wywołuje funkcję SUBSTITUTE() i każe jej zastąpić każde wystąpienie ZNAKU(160) - spacji nierozdzielającej - standardową spacją, ZNAK (32), zawarty w komórce A1. Następnie funkcja TRIM() usuwa standardowe spacje z podstawionego ciągu.

Rozważania

Jeśli TRIM() nie może wykonać zadania, możesz mieć problemy inne niż spacje nierozdzielające, szczególnie jeśli pracujesz z oryginalnym materiałem źródłowym renderowanym w HTML. Po wklejeniu materiału do programu Excel wklej go jako zwykły tekst, aby usunąć formatowanie tła z ciągu i usunąć formatowanie specjalne, takie jak znaki renderowane jako białe na białym - które wygląda jak spacja, ale nie jest. Sprawdź także osadzone tabulatory, które można zastąpić przy użyciu tego samego wzoru co powyżej, ale zastępując kod ASCII 160 kodem 9.

SUBSTITUTE() jest przydatne do zastępowania dowolnego kodu ASCII dowolnym innym.

Zalecana: