Keď kopírujete alebo importujete textové údaje do pracovného hárka programu Excel, tabuľkový hárok občas zachová okrem obsahu, ktorý ste vložili, ďalšie medzery. Normálne môže funkcia TRIM() sama o sebe odstrániť tieto nežiaduce medzery, či už sa vyskytujú medzi slovami alebo na začiatku či konci textového reťazca. V určitých situáciách však TRIM() nemôže túto úlohu vykonať.
V počítači nie je medzera medzi slovami prázdna oblasť, ale znak – a existuje viac ako jeden typ medzery. Jeden znak medzery bežne používaný na webových stránkach, ktorý TRIM() neodstráni, je medzera.
Ak ste importovali alebo skopírovali údaje z webových stránok, možno nebudete môcť odstrániť nadbytočné medzery pomocou funkcie TRIM(), ak sú vytvorené nedeliteľnými medzerami.
Neprerušiteľné a bežné medzery
Mezery sú znaky a na každý znak sa odkazuje svojou hodnotou kódu ASCII. ASCII je skratka pre American Standard Code for Information Interchange - medzinárodný štandard pre textové znaky v počítačových operačných prostrediach, ktorý vytvára jednu sadu kódov pre 255 rôznych znakov a symbolov používaných v počítačových programoch.
ASCII kód pre nerozdelenú medzeru je 160. ASCII kód pre bežnú medzeru je 32.
Funkcia TRIM() môže odstrániť iba medzery, ktoré majú ASCII kód 32.
Rôzne typy písma podporujú rôzne rozsahy kódov ASCII. Štandardná tabuľka ponúka 127 možných hodnôt; Aby boli typy písma považované za platné, musia podporovať minimálne 127-znakovú ASCII mapu. Ale "rozšírené" znaky ASCII, nazývané ďalšími kódmi, často pridávajú ďalšie znaky k vašim obľúbeným fontom. V skutočnosti je nedeliteľná medzera sama osebe rozšíreným znakom ASCII, zatiaľ čo štandardná medzera je … no, štandardná.
Odstránenie neprerušiteľných medzier
Odstráňte nedeliteľné medzery z riadku textu pomocou funkcií TRIM(), SUBSTITUTE() a CHAR().
Vzhľadom na to, že funkcie SUBSTITUTE() a CHAR() sú vnorené do funkcie TRIM(), vzorec musí byť napísaný do pracovného hárka a nie pomocou dialógových okien funkcií na zadávanie argumentov.
Vzorec, za predpokladu, že údaje s nedeliteľnými medzerami sú v bunke A1, je:
Ako funguje vzorec
Každá vnorená funkcia vykonáva špecifickú úlohu:
- Funkcia CHAR určuje príslušné kódy ASCII pre dve rôzne medzery do vzorca - 160 a 32
- Funkcia SUBSTITUTE nahrádza alebo nahrádza všetky nedeliteľné medzery medzi slovami bežnými medzerami
- Funkcia TRIM odstraňuje nadbytočné pravidelné medzery medzi slovami, takže výrok sa v pracovnom hárku zobrazuje normálne
Vzhľadom na logiku poradia operácií vzorcov v Exceli vzorec volá funkciu SUBSTITUTE() a hovorí jej, aby nahradila každý výskyt CHAR(160) – nedeliteľnej medzery – štandardnou medzerou CHAR (32), nachádzajúce sa v bunke A1. Potom funkcia TRIM() odstráni štandardné medzery z nahradeného reťazca.
Úvahy
Ak TRIM() nedokáže vykonať svoju prácu, môžete mať iné problémy ako nerozdelené medzery, najmä ak pracujete s pôvodným zdrojovým materiálom vykresleným v HTML. Keď materiál prilepíte do Excelu, prilepte ho ako obyčajný text, aby ste z reťazca odstránili formátovanie pozadia a odstránili špeciálne formátovanie, ako sú znaky, ktoré sú vykreslené ako biela na bielom – čo vyzerá ako medzera, ale nie je. Skontrolujte aj vložené karty, ktoré možno nahradiť rovnakým vzorcom ako vyššie, ale nahradiť kód ASCII 160 9.
SUBSTITUTE() je užitočné na nahradenie akéhokoľvek kódu ASCII iným.