Amikor szöveges adatokat másol vagy importál egy Excel-munkalapba, a táblázat időnként extra szóközöket hagy a beszúrt tartalom mellett. Általában a TRIM() függvény önmagában képes eltávolítani ezeket a nem kívánt szóközöket, akár szavak között, akár egy szöveges karakterlánc elején vagy végén fordulnak elő. Bizonyos helyzetekben azonban a TRIM() nem tudja elvégezni a feladatot.
Számítógépen a szavak közötti szóköz nem egy üres terület, hanem egy karakter – és a szóköznek több típusa is létezik. A weboldalakon gyakran használt szóköz karakter, amelyet a TRIM() nem távolít el, a megszakítás nélküli szóköz.
Ha adatokat importált vagy másolt weboldalakról, előfordulhat, hogy nem tudja eltávolítani a felesleges szóközöket a TRIM() függvénnyel, ha azokat nem törő szóközök alkotják.
Kitörő és normál szóközök
A szóközök karakterek, és minden karakterre az ASCII-kód értéke hivatkozik. Az ASCII az American Standard Code for Information Interchange rövidítése – egy nemzetközi szabvány a szöveges karakterekre számítógépes operációs környezetekben, amely egyetlen kódkészletet hoz létre 255 különböző számítógépes programokban használt karakterhez és szimbólumhoz.
A törésmentes szóköz ASCII-kódja: 160. A normál szóköz ASCII-kódja: 32.
A TRIM() függvény csak azokat a szóközöket tudja eltávolítani, amelyek ASCII-kódja 32.
A különböző típusstílusok különböző ASCII-kódtartományokat támogatnak. A standard táblázat 127 lehetséges értéket kínál; A betűtípusoknak minimálisan támogatniuk kell a 127 karakteres ASCII-leképezést, hogy érvényesnek minősüljenek. De a "kibővített" ASCII-karakterek, amelyeket további kódokkal hívnak meg, gyakran hozzáadnak további karaktereket kedvenc betűtípusaihoz. Valójában a megszakítás nélküli szóköz maga egy kiterjesztett ASCII karakter, míg a szabványos szóköz… nos, szabványos.
Nem törő szóközök eltávolítása
Távolítsa el a nem törő szóközöket a szövegsorból a TRIM(), SUBSTITUTE() és CHAR() függvényekkel.
Mivel a SUBSTITUTE() és CHAR() függvények a TRIM() függvénybe vannak beágyazva, a képletet a munkalapra kell beírni, nem pedig a függvények párbeszédpaneleit használni az argumentumok megadásához.
A képlet, feltételezve, hogy a szóközöket nem tartalmazó adat az A1 cellában van, a következő:
A képlet működése
Minden beágyazott függvény egy adott feladatot hajt végre:
- A CHAR függvény előírja a megfelelő ASCII-kódokat a két különböző szóközhöz a képletben - 160 és 32
- A SUBSTITUTE függvény a szavak közötti összes nem törő szóközt szabályos szóközzel helyettesíti vagy helyettesíti
- A TRIM függvény eltávolítja az extra szabályos szóközöket a szavak között, hogy az utasítás normálisan jelenjen meg a munkalapon
Az Excel-képletek működési sorrendjének logikája miatt a képlet meghívja a SUBSTITUTE() függvényt, és megmondja neki, hogy a CHAR(160) minden előfordulását – a nem törő szóközt – cserélje le egy szabványos szóközre, CHAR. (32), az A1 cellában található. Ezután a TRIM() függvény eltávolítja a szabványos szóközöket a helyettesített karakterláncból.
Megfontolások
Ha a TRIM() nem tudja elvégezni a munkát, akkor a nem törő szóközökön kívül más problémái is lehetnek, különösen, ha HTML-ben renderelt eredeti forrásanyaggal dolgozik. Amikor beilleszti az anyagot az Excelbe, illessze be sima szövegként, hogy eltávolítsa a háttér formázását a karakterláncból, és eltávolítsa a speciális formázást, például a fehér-fehérként megjelenített karaktereket – ami szóköznek tűnik, de nem az. Ellenőrizze a beágyazott lapokat is, amelyek a fenti képlettel helyettesíthetők, de a 160-as ASCII-kódot 9-re cserélve.
A SUBSTITUTE() hasznos bármely ASCII-kód bármely más kóddal való helyettesítéséhez.