Obsah
Výukový program vysvětluje, jak odstranit prázdná místa v aplikaci Excel pomocí vzorců a nástroje Text Toolkit. Dozvíte se, jak odstranit počáteční a koncové mezery v buňce, odstranit přebytečné mezery mezi slovy, zbavit se nelámavého bílého místa a netisknutelných znaků.
Jaký je největší problém s mezerami? Často jsou pro lidské oko neviditelné. Pozorný uživatel může občas zachytit úvodní mezeru, která se skrývá před textem, nebo několik mezer navíc mezi slovy. Neexistuje však žádný způsob, jak odhalit koncové mezery, tedy ty, které se drží mimo dohled na konci buněk.
Nebyl by to velký problém, kdyby se mezery navíc jen tak povalovaly, ale ve vzorcích dělají nepořádek. Jde o to, že dvě buňky obsahující stejný text s mezerami a bez nich, i když jde jen o jeden znak mezery, jsou považovány za různé hodnoty. Takže si možná lámete hlavu, proč zjevně správný vzorec nemůže odpovídat dvěma zdánlivě stejným položkám.
Nyní, když jste si plně vědomi tohoto problému, je čas najít řešení. Existuje několik způsobů, jak odstranit mezery z řetězce, a tento návod vám pomůže vybrat techniku, která je nejvhodnější pro váš konkrétní úkol a typ dat, se kterými pracujete.
Jak odstranit prázdné mezery v aplikaci Excel - počáteční, koncové, mezi slovy
Pokud váš soubor dat obsahuje nadbytečné mezery, funkce TRIM aplikace Excel vám pomůže odstranit je všechny najednou - počáteční, koncové i vícenásobné mezery, s výjimkou jediného znaku mezery mezi slovy.
Běžný vzorec TRIM je jednoduchý:
=TRIM(A2)
Kde A2 je buňka, ze které chcete odstranit mezery.
Jak ukazuje následující snímek obrazovky, vzorec Excel TRIM úspěšně odstranil všechny mezery před a za textem i po sobě jdoucí mezery uprostřed řetězce.
Nyní stačí nahradit hodnoty v původním sloupci ořezanými hodnotami. Nejjednodušší způsob, jak to udělat, je použít příkaz Vložit speciální > Hodnoty , podrobné pokyny naleznete zde: Jak kopírovat hodnoty v aplikaci Excel.
Kromě toho můžete použít funkci TRIM aplikace Excel k odstranění pouze úvodní mezery , přičemž všechny mezery uprostřed textového řetězce zůstanou zachovány. Příklad vzorce je zde: Jak oříznout úvodní mezery v aplikaci Excel (ořezávání vlevo).
Jak odstranit zalomení řádků a netisknutelné znaky
Při importu dat z externích zdrojů se objevují nejen další mezery, ale také různé netisknutelné znaky, jako je návrat vozíku, posuv řádku, svislý nebo vodorovný tabulátor atd.
Funkce TRIM dokáže odstranit bílé mezery, ale nedokáže odstranit netisknutelné znaky. Technicky je funkce TRIM aplikace Excel určena pouze k odstranění hodnoty 32 v 7bitovém systému ASCII, což je znak mezery.
Chcete-li odstranit mezery a netisknutelné znaky v řetězci, použijte funkci TRIM v kombinaci s funkcí CLEAN. Jak název napovídá, funkce CLEAN je určena k čištění dat a dokáže odstranit všech prvních 32 netisknutelných znaků v 7bitové sadě ASCII (hodnoty 0 až 31), a to včetně přerušení řádku (hodnota 10).
Předpokládáme-li, že data, která se mají vyčistit, jsou v buňce A2, je vzorec následující:
=TRIM(CLEAN(A2))
Pokud vzorec Trim/Clean spojí obsah více řádků bez mezer, můžete to napravit pomocí jedné z těchto technik:
- Využijte funkci "Nahradit vše" aplikace Excel: do pole "Najít co" zadejte klávesovou zkratku Ctrl+J a do pole "Nahradit mezerou" napište mezeru. Kliknutím na tlačítko . Nahradit vše vymění všechny řádkové zlomy ve vybraném rozsahu za mezery.
- Následující vzorec slouží k nahrazení znaků Carriage Return (hodnota 13) a Line Feed (hodnota 10) mezerami:
=SUBSTITUTE(SUBSTITUTE(A2, CHAR(13)," "), CHAR(10), " ")
Další informace naleznete v části Jak odstranit návraty vozíku (zalomení řádků) v aplikaci Excel.
Jak odstranit nezáporné mezery v aplikaci Excel
Pokud po použití vzorce TRIM & CLEAN zůstaly v souboru některé tvrdohlavé mezery, je pravděpodobné, že jste data odněkud zkopírovali a vloudilo se do nich několik nelomených mezer.
Zbavení se nelomených mezer (html znak) ), nahradit je běžnými mezerami a poté je odstranit funkcí TRIM:
=TRIM(SUBSTITUTE(A2, CHAR(160), " "))
Abychom lépe pochopili logiku, rozebereme si vzorec:
- Nezlomový znak má v 7bitovém systému ASCII hodnotu 160, takže jej můžete definovat pomocí vzorce CHAR(160).
- Funkce SUBSTITUTE slouží k přeměně nelomených mezer na pravidelné mezery.
- A nakonec vložíte příkaz SUBSTITUTE do funkce TRIM, abyste odstranili převedené mezery.
Pokud váš pracovní list obsahuje i netisknutelné znaky, použijte funkci CLEAN společně s funkcemi TRIM a SUBSTITUTE, abyste se zbavili mezer a nežádoucích symbolů najednou:
=TRIM(CLEAN((SUBSTITUTE(A2,CHAR(160),""))))
Následující snímek obrazovky ukazuje rozdíl:
Jak odstranit konkrétní netisknutelný znak
Pokud spojení 3 funkcí popsaných ve výše uvedeném příkladu (TRIM, CLEAN a SUBSTITUTE) nedokázalo odstranit mezery nebo netisknutelné znaky v listu, znamená to, že tyto znaky mají jiné hodnoty ASCII než 0 až 32 (netisknutelné znaky) nebo 160 (nezlomitelná mezera).
V tomto případě použijte funkci CODE k identifikaci hodnoty znaku a poté použijte SUBSTITUTE k jeho nahrazení běžnou mezerou a TRIM k odstranění mezery.
Za předpokladu, že se mezery nebo jiné nežádoucí znaky, kterých se chcete zbavit, nacházejí v buňce A2, napíšete 2 vzorce:
- V buňce B2 zjistěte problematickou hodnotu znaku pomocí jedné z následujících funkcí CODE:
- Úvodní mezera nebo netisknutelný znak na začátku řetězce:
=CODE(LEFT(A2,1))
- Koncová mezera nebo netisknutelný znak na konci řetězce:
=CODE(RIGHT(A2,1))
- Mezera nebo netisknutelný znak uprostřed řetězce, kde n je pozice problematického znaku:
=CODE(MID(A2, n , 1)))
V tomto příkladu máme uprostřed textu na 4. pozici nějaký neznámý netisknutelný znak a jeho hodnotu zjistíme pomocí tohoto vzorce:
=CODE(MID(A2,4,1))
Funkce CODE vrací hodnotu 127 (viz obrázek níže).
- Úvodní mezera nebo netisknutelný znak na začátku řetězce:
- V buňce C2 nahradíte znak CHAR(127) obyčejnou mezerou (" ") a poté tuto mezeru oříznete:
=TRIM(SUBSTITUTE(A2, CHAR(127), " "))
Výsledek by měl vypadat podobně:
Pokud vaše data obsahují několik různých netisknutelných znaků a také nezáporné mezery, můžete vnořit dvě nebo více funkcí SUBSTITUTE a odstranit tak všechny nežádoucí kódy znaků najednou:
=TRIM(SUBSTITUTE(SUBSTITUTE(A2, CHAR(127), " "), CHAR(160), " ")))))
Jak odstranit všechny mezery v aplikaci Excel
V některých situacích můžete chtít odstranit úplně všechny bílé mezery v buňce, včetně jednotlivých mezer mezi slovy nebo čísly. Například když jste importovali číselný sloupec, kde se mezery používají jako oddělovače tisíců, což usnadňuje čtení velkých čísel, ale brání výpočtu vzorců.
Chcete-li odstranit všechny mezery najednou, použijte SUBSTITUTE, jak je vysvětleno v předchozím příkladu, pouze s tím rozdílem, že znak mezery vrácený pomocí CHAR(32) nahradíte ničím (""):
=SUBSTITUTE(A2, CHAR(32), "")
Nebo můžete do vzorce jednoduše napsat mezeru (" "), například takto:
=SUBSTITUTE(A2," ","")
Poté nahraďte vzorce hodnotami a čísla se budou počítat správně.
Jak počítat mezery v aplikaci Excel
Před odstraněním mezer z určité buňky vás může zajímat, kolik jich tam vlastně je.
Chcete-li zjistit celkový počet mezer v buňce, postupujte takto:
- Vypočítejte délku celého řetězce pomocí funkce LEN: LEN(A2)
- Nahradit všechny mezery ničím: SUBSTITUTE(A2," ","")
- Výpočet délky řetězce bez mezer: LEN(SUBSTITUTE(A2," ",""))
- Odečtěte délku řetězce "bez místa" od celkové délky.
Za předpokladu, že původní textový řetězec je v buňce A2, je celý vzorec následující:
=LEN(A2)-LEN(SUBSTITUTE(A2," ",""))
Chcete-li zjistit, kolik další místa jsou v buňce, zjistěte délku textu bez mezer navíc a odečtěte ji od celkové délky řetězce:
=LEN(A2)-LEN(TRIM(A2))
Následující snímek obrazovky ukazuje oba vzorce v akci:
Nyní, když víte, kolik mezer obsahují jednotlivé buňky, můžete bezpečně odstranit přebytečné mezery pomocí vzorce TRIM.
Odstranění mezer a vyčištění dat bez použití vzorců
Jak už víte, v listech může nepozorovaně číhat mnoho mezer navíc a dalších nežádoucích znaků, zejména pokud importujete data z externích zdrojů. Víte také, jak v Excelu odstranit mezery pomocí vzorce. Naučit se několik vzorců je samozřejmě dobré cvičení, které vám pomůže zdokonalit vaše dovednosti, ale může být časově náročné.
Uživatelé aplikace Excel, kteří si váží svého času a oceňují pohodlí, mohou využít textové nástroje, které jsou součástí naší sady Ultimate Suite for Excel. Jeden z těchto praktických nástrojů umožňuje odstranit mezery a netisknutelné znaky jediným kliknutím na tlačítko.
Po instalaci přidá sada Ultimate Suite na lištu aplikace Excel několik užitečných tlačítek, jako jsou např. Prostory pro úpravy , Odstranění znaků , Převést text , Přehledné formátování a několik dalších.
Kdykoli chcete odstranit prázdná místa v listech aplikace Excel, proveďte tyto 4 rychlé kroky:
- Vyberte buňky (rozsah, celý sloupec nebo řádek), ve kterých chcete odstranit mezery navíc.
- Klikněte na Prostory pro úpravy tlačítko na Data Ablebits tab.
- Vyberte jednu nebo více možností:
- Odstranění adresy vedoucí a koncové prostory
- Trim extra mezery mezi slovy k jednomu
- Odstranit nezlomitelné mezery ( )
- Klikněte na Trim tlačítko.
Hotovo! Všechny mezery navíc se odstraní jediným kliknutím.
Takto můžete rychle odstranit mezery v buňkách aplikace Excel. Pokud jste zvědaví na další možnosti, můžete si stáhnout zkušební verzi sady Ultimate Suite. Děkuji vám za přečtení a těším se na vás na našem blogu příští týden!