Hvad skal man gøre, når Excels TRIM-funktion ikke virker

Indholdsfortegnelse:

Hvad skal man gøre, når Excels TRIM-funktion ikke virker
Hvad skal man gøre, når Excels TRIM-funktion ikke virker
Anonim

Når du kopierer eller importerer tekstdata til et Excel-regneark, beholder regnearket af og til ekstra mellemrum ud over det indhold, du har indsat. Norm alt kan TRIM()-funktionen alene fjerne disse uønskede mellemrum, uanset om de forekommer mellem ord eller i begyndelsen eller slutningen af en tekststreng. I visse situationer kan TRIM() dog ikke udføre jobbet.

På en computer er et mellemrum mellem ord ikke et tomt område, men et tegn - og der er mere end én type mellemrumstegn. Et mellemrumstegn, der almindeligvis bruges på websider, som TRIM() ikke vil fjerne, er det ubrudte mellemrum.

Hvis du har importeret eller kopieret data fra websider, vil du muligvis ikke være i stand til at fjerne de ekstra mellemrum med TRIM()-funktionen, hvis de er oprettet af ubrudte mellemrum.

Non-breaking and Regular Spaces

Image
Image

Mellemrum er tegn, og hvert tegn refereres til med sin ASCII-kodeværdi. ASCII står for American Standard Code for Information Interchange - en international standard for teksttegn i computerdriftsmiljøer, der skaber ét sæt koder for 255 forskellige tegn og symboler, der bruges i computerprogrammer.

ASCII-koden for et ubrudt mellemrum er 160. ASCII-koden for et almindeligt mellemrum er 32.

TRIM()-funktionen kan kun fjerne mellemrum, der har en ASCII-kode på 32.

Image
Image

Forskellige typestile understøtter forskellige rækker af ASCII-koder. Standardtabellen tilbyder 127 mulige værdier; skrifttyper skal som minimum understøtte et ASCII-kort på 127 tegn for at blive betragtet som gyldige. Men "udvidede" ASCII-tegn, kaldet med ekstra koder, tilføjer ofte yderligere tegn til dine yndlingsskrifttyper. Faktisk er det ikke-afbrydende mellemrum i sig selv et udvidet ASCII-tegn, hvorimod et standardmellemrum er … ja, standard.

Removing Non-Breaking Spaces

Fjern ikke-afbrydende mellemrum fra en tekstlinje ved hjælp af funktionerne TRIM(), SUBSTITUTE() og CHAR().

Fordi SUBSTITUTE()- og CHAR()-funktionerne er indlejret inde i TRIM()-funktionen, skal formlen indtastes i regnearket i stedet for at bruge funktionernes dialogbokse til at indtaste argumenterne.

Formlen, hvis det antages, at dataene med de ubrudte mellemrum er i celle A1, er:

Sådan fungerer formlen

Hver indlejret funktion udfører en bestemt opgave:

  • CHAR-funktionen angiver de relevante ASCII-koder for de to forskellige rum i formlen - 160 og 32
  • ERSTATNING-funktionen erstatter eller erstatter alle de uafbrudte mellemrum mellem ordene med almindelige mellemrum
  • TRIM-funktionen fjerner de ekstra regelmæssige mellemrum mellem ord, så sætningen vises norm alt i regnearket

I betragtning af logikken i rækkefølgen af operationer i Excel-formler, kalder formlen SUBSTITUTE()-funktionen og fortæller den, at den skal erstatte hver forekomst af CHAR(160) - det non-breaking space - med et standardmellemrum, CHAR (32), indeholdt i celle A1. Derefter fjerner TRIM()-funktionen standardmellemrummene fra den erstattede streng.

Overvejelser

Hvis TRIM() ikke kan få jobbet gjort, kan du have andre problemer end ikke-brydende mellemrum, især hvis du arbejder med origin alt kildemateriale gengivet i HTML. Når du indsætter materialet i Excel, skal du indsætte det som almindelig tekst for at fjerne baggrundsformatering fra strengen og fjerne speciel formatering som tegn, der gengives som hvid-på-hvid - som ligner et mellemrum, men ikke er det. Tjek også for indlejrede faner, som kan erstattes med samme formel som ovenfor, men erstatter ASCII-kode 160 med 9.

SUBSTITUTE() er nyttig til at erstatte enhver ASCII-kode med en hvilken som helst anden.

Anbefalede: