Co dělat, když funkce TRIM v Excelu nefunguje
Při kopírování nebo importu textová data do an Excelový list, tabulka příležitostně zachovává další mezery kromě obsahu, který jste vložili. Normálně, funkce TRIM() sama o sobě může tyto nežádoucí mezery odstranit zda se vyskytují mezi slovy nebo na začátku či konci textového řetězce. V určitých situacích však TRIM() nemůže tuto práci provést.
Na počítači není mezera mezi slovy prázdná oblast, ale znak – a existuje více než jeden typ mezery. Jeden znak mezery běžně používaný na webových stránkách, který TRIM() neodstraní, je nepřerušitelný prostor.
Pokud jste importovali nebo zkopírovali data z webových stránek, možná nebudete moci odstranit nadbytečné mezery pomocí funkce TRIM(), pokud jsou vytvořeny nerozdělitelnými mezerami.
Nerozbitné a pravidelné prostory

Mezery jsou znaky a na každý znak se odkazuje svou hodnotou kódu ASCII. ASCII je zkratka pro Americký standardní kód pro výměnu informací — mezinárodní standard pro textové znaky v počítačových operačních prostředích, který vytváří jednu sadu kódů pro 255 různých znaků a symbolů používaných v počítačových programech.
ASCII kód pro pevnou mezeru je 160. ASCII kód pro a pravidelný prostor je 32.
Funkce TRIM() může odstranit pouze mezery, které mají kód ASCII 32.

Různé typy písma podporují různé rozsahy kódů ASCII. Standardní tabulka nabízí 127 možných hodnot; Aby byly typy písma považovány za platné, musí minimálně podporovat 127znakovou ASCII mapu. Ale "rozšířené" znaky ASCII, nazývané dalšími kódy, často přidávají další znaky do vašich oblíbených písem. Ve skutečnosti je nezlomitelná mezera sama o sobě rozšířeným znakem ASCII, zatímco standardní mezera je... studna, Standard.
Odstranění neprolomitelných mezer
Odstraňte pevné mezery z řádku textu pomocí funkcí TRIM(), SUBSTITUTE() a CHAR().
Vzhledem k tomu, že funkce SUBSTITUTE() a CHAR() jsou vnořeny do funkce TRIM(), musí být vzorec zadán do listu, nikoli pomocí funkcí' dialogová okna vstoupit do argumenty.
Vzorec za předpokladu, že data s pevnými mezerami jsou v buňce A1, je:
Jak Formule funguje
Každá vnořená funkce provádí konkrétní úkol:
- Funkce CHAR stanoví příslušné kódy ASCII pro dvě různé mezery do vzorce — 160 a 32
- Funkce SUBSTITUTE nahradí nebo nahradí všechny pevné mezery mezi slovy normálními mezerami
- Funkce TRIM odstraní nadbytečné pravidelné mezery mezi slovy, takže příkaz se v listu zobrazí normálně
Vzhledem k logice pořadí operací vzorců Excelu vzorec volá funkci SUBSTITUTE() a říká jí, aby nahraďte každý výskyt CHAR(160) — pevnou mezeru — standardní mezerou, CHAR(32), obsaženou v buňka A1. Potom funkce TRIM() odebere standardní mezery z nahrazeného řetězce.
Úvahy
Pokud TRIM() nemůže provést svou práci, můžete mít jiné problémy než pevné mezery, zejména pokud pracujete s původním zdrojovým materiálem vykresleným v HTML. Když vložíte materiál do Excelu, vložte jej jako prostý text, abyste z řetězce odstranili formátování pozadí a odstranili speciální formátování, jako jsou znaky, které jsou vykresleny jako bílá na bílé – což vzhled jako prostor, ale není. Zkontrolujte také vložené karty, které lze nahradit pomocí stejného vzorce jako výše, ale nahrazením kódu ASCII 160 9.
SUBSTITUTE() je užitečné pro nahrazení libovolného ASCII kód s jakýmkoli jiným.