När du kopierar eller importerar textdata till ett Excel-kalkylblad behåller kalkylarket ibland extra mellanslag utöver innehållet du har infogat. Norm alt kan TRIM()-funktionen på egen hand ta bort dessa oönskade mellanslag oavsett om de förekommer mellan ord eller i början eller slutet av en textsträng. I vissa situationer kan TRIM() dock inte göra jobbet.
På en dator är ett mellanslag mellan ord inte ett tomt område utan ett tecken - och det finns mer än en typ av mellanslagstecken. Ett blanksteg som vanligtvis används på webbsidor som TRIM() inte tar bort är det oavbrutna blanksteg.
Om du har importerat eller kopierat data från webbsidor kanske du inte kan ta bort de extra mellanslagen med TRIM()-funktionen om de skapas av icke-avbrytande mellanslag.
Icke-brytande och vanliga utrymmen
Blanksteg är tecken och varje tecken refereras till med sitt ASCII-kodvärde. ASCII står för American Standard Code for Information Interchange - en internationell standard för texttecken i datormiljöer som skapar en uppsättning koder för 255 olika tecken och symboler som används i datorprogram.
ASCII-koden för ett oavbrutet mellanslag är 160. ASCII-koden för ett vanligt mellanslag är 32.
Trim()-funktionen kan bara ta bort blanksteg som har en ASCII-kod på 32.
Olika typstilar stöder olika ASCII-koder. Standardtabellen erbjuder 127 möjliga värden; typsnitt måste minst stödja en 127-tecken ASCII-karta för att anses giltiga. Men "utökade" ASCII-tecken, kallade med ytterligare koder, lägger ofta till ytterligare tecken till dina favoritteckensnitt. Faktum är att det icke-avbrytande utrymmet i sig är ett utökat ASCII-tecken, medan ett standardmellanslag är … ja, standard.
Ta bort icke-brytande utrymmen
Ta bort icke-avbrytande blanksteg från en textrad med funktionerna TRIM(), SUBSTITUTE() och CHAR().
Eftersom funktionerna SUBSTITUTE() och CHAR() är kapslade i TRIM()-funktionen, måste formeln skrivas in i kalkylbladet istället för att använda funktionernas dialogrutor för att ange argumenten.
Formeln, förutsatt att data med icke-brytande mellanslag finns i cell A1, är:
Hur formeln fungerar
Varje kapslade funktion utför en specifik uppgift:
- CHAR-funktionen anger relevanta ASCII-koder för de två olika utrymmena i formeln - 160 och 32
- FUNKTIONEN ERSÄTTNING ersätter eller ersätter alla icke-avbrytande mellanslag mellan orden med vanliga mellanslag
- TRIM-funktionen tar bort de extra regelbundna mellanrummen mellan ord så att påståendet visas norm alt i kalkylbladet
Med tanke på logikens ordningsföljd för Excel-formler anropar formeln funktionen SUBSTITUTE() och ber den att ersätta varje förekomst av CHAR(160) - det icke-brytande mellanslag - med ett standardmellanslag, CHAR (32), innesluten i cell Al. Sedan tar TRIM()-funktionen bort standardmellanslagen från den ersatta strängen.
överväganden
Om TRIM() inte kan få jobbet gjort, kan du ha andra problem än icke-brytande blanksteg, särskilt om du arbetar med originalkällmaterial som återges i HTML. När du klistrar in materialet i Excel, klistra in det som vanlig text för att ta bort bakgrundsformatering från strängen och ta bort specialformatering som tecken som renderas som vitt-på-vitt - som ser ut som ett mellanslag, men inte är det. Kontrollera också för inbäddade flikar, som kan ersättas med samma formel som ovan, men ersätter ASCII-kod 160 med 9.
SUBSTITUTE() är användbart för att ersätta valfri ASCII-kod med någon annan.