Wat om te doen wanneer Excel se TRIM-funksie nie werk nie

INHOUDSOPGAWE:

Wat om te doen wanneer Excel se TRIM-funksie nie werk nie
Wat om te doen wanneer Excel se TRIM-funksie nie werk nie
Anonim

Wanneer jy teksdata in 'n Excel-werkblad kopieer of invoer, behou die sigblad soms ekstra spasies bykomend tot die inhoud wat jy ingevoeg het. Normaalweg kan die TRIM()-funksie op sy eie hierdie ongewenste spasies verwyder, of dit nou tussen woorde of aan die begin of einde van 'n teksstring voorkom. In sekere situasies kan TRIM() egter nie die werk doen nie.

Op 'n rekenaar is 'n spasie tussen woorde nie 'n leë area nie, maar 'n karakter - en daar is meer as een tipe spasiekarakter. Een spasiekarakter wat algemeen gebruik word in webblaaie wat TRIM() nie sal verwyder nie, is die nie-breek spasie.

As jy data vanaf webblaaie ingevoer of gekopieer het, sal jy dalk nie die ekstra spasies met die TRIM()-funksie kan verwyder as hulle deur nie-breek spasies geskep word nie.

Nie-breek en gereelde spasies

Image
Image

Spasies is karakters en elke karakter word deur sy ASCII-kodewaarde verwys. ASCII staan vir die American Standard Code for Information Interchange - 'n internasionale standaard vir tekskarakters in rekenaarbedryfsomgewings wat een stel kodes skep vir 255 verskillende karakters en simbole wat in rekenaarprogramme gebruik word.

Die ASCII-kode vir 'n nie-breek spasie is 160. Die ASCII-kode vir 'n gewone spasie is 32.

Die TRIM()-funksie kan slegs spasies verwyder wat 'n ASCII-kode van 32 het.

Image
Image

Verskillende tipestyle ondersteun verskillende reekse ASCII-kodes. Die standaardtabel bied 127 moontlike waardes; lettertipes moet minimaal 'n 127-karakter ASCII-kaart ondersteun om as geldig beskou te word. Maar "uitgebreide" ASCII-karakters, genoem met bykomende kodes, voeg gereeld bykomende karakters by jou gunsteling fonts. Trouens, die nie-breekspasie is self 'n uitgebreide ASCII-karakter, terwyl 'n standaardspasie … wel, standaard is.

Verwyder nie-breekspasies

Verwyder nie-breek spasies van 'n reël teks deur die TRIM(), SUBSTITUTE() en CHAR() funksies te gebruik.

Omdat die SUBSTITUTE()- en CHAR()-funksies binne die TRIM()-funksie geneste is, moet die formule in die werkblad getik word eerder as om die funksies se dialoogkassies te gebruik om die argumente in te voer.

Die formule, met die veronderstelling dat die data met die nie-breekspasies in sel A1 is, is:

Hoe die formule werk

Elke geneste funksie voer 'n spesifieke taak uit:

  • Die CHAR-funksie stipuleer die relevante ASCII-kodes vir die twee verskillende spasies in die formule - 160 en 32
  • Die SUBSTITUT-funksie vervang of vervang al die nie-breek spasies tussen die woorde met gereelde spasies
  • Die TRIM-funksie verwyder die ekstra gereelde spasies tussen woorde sodat die stelling normaalweg in die werkblad verskyn

Gegewe die volgorde-van-bewerkingslogika van Excel-formules, roep die formule die SUBSTITUTE()-funksie en vertel dit om elke voorkoms van CHAR(160) - die nie-breekspasie - te vervang met 'n standaardspasie, CHAR (32), vervat in sel A1. Dan verwyder die TRIM()-funksie die standaardspasies van die vervangde string.

Oorwegings

As TRIM() nie die werk gedoen kan kry nie, kan jy ander probleme as spasies hê wat nie breek nie, veral as jy met oorspronklike bronmateriaal werk wat in HTML gelewer is. Wanneer jy die materiaal in Excel plak, plak dit as gewone teks om agtergrondformatering van die string te stroop en verwyder spesiale formatering soos karakters wat as wit-op-wit weergegee word - wat soos 'n spasie lyk, maar nie is nie. Kyk ook vir ingebedde oortjies, wat vervang kan word met dieselfde formule as hierbo, maar vervang ASCII-kode 160 met 9.

SUBSTITUTE() is nuttig om enige ASCII-kode met enige ander te vervang.

Aanbeveel: