Kā dzēst īpašas / nevēlamas rakstzīmes programmā Excel

  • Dalīties Ar Šo
Michael Brown

Šajā rakstā uzzināsiet, kā dzēst konkrētas rakstzīmes no teksta virknes un noņemt nevēlamas rakstzīmes no vairākām šūnām vienlaicīgi.

Importējot datus programmā Excel no citas vietas, jūsu darblapās var nonākt daudz īpašu rakstzīmju. Vēl nepatīkamāk ir tas, ka dažas rakstzīmes ir neredzamas, tāpēc pirms, pēc vai teksta virknes iekšpusē rodas papildu baltā vieta. Šajā pamācībā ir sniegti visu šo problēmu risinājumi, kas ļauj jums izvairīties no nepatikšanas, kad jums ir jāpārbauda dati pa šūnām un jāiztīra nevēlamās rakstzīmes.rakstzīmes ar roku.

    Noņemiet īpašu rakstzīmi no Excel šūnas

    Lai šūnā dzēstu konkrētu rakstzīmi, nomainiet to ar tukšu virkni, izmantojot SUBSTITUTE funkciju tās vienkāršākajā formā:

    SUBSTITUTE( šūna , char , "")

    Piemēram, lai no A2 izdzēstu jautājuma zīmi, B2 formula ir šāda:

    =AIZSTĀJ(A2, "?", "")

    Lai noņemtu rakstzīmi, kuras nav tastatūrā, varat to kopēt/ielīmēt formulā no sākotnējās šūnas.

    Piemēram, šeit parādīts, kā atbrīvoties no apvērstas jautājuma zīmes:

    =AIZVIETOT(A2, "¿", "")

    Bet, ja nevēlams raksturs ir neredzams vai netiek pareizi kopēts, kā to ievietot formulā? Vienkārši atrodiet tā koda numuru, izmantojot funkciju CODE.

    Mūsu gadījumā nevēlamā rakstzīme ("¿") A2 šūnā ir pēdējā, tāpēc mēs izmantojam funkciju CODE un RIGHT kombināciju, lai iegūtu tās unikālo koda vērtību, kas ir 191:

    =KODS(RIGHT(A2))

    Kad ir iegūts rakstzīmes kods, iepriekšminētajai vispārīgajai formulai izmantojiet atbilstošo CHAR funkciju. Mūsu datu kopai formula ir šāda:

    =SUBSTITUTE(A2, CHAR(191),"")

    Piezīme. SUBSTITUTE funkcija ir lielo un mazo izmēru tas nozīmē, ka mazos un lielos burtus uzskata par atšķirīgām rakstzīmēm. Lūdzu, paturiet to prātā, ja nevēlamā rakstzīme ir burts.

    Vairāku rakstzīmju dzēšana no virknes

    Vienā no iepriekšējiem rakstiem mēs aplūkojām, kā Excel programmā no virknēm noņemt konkrētas rakstzīmes, ievietojot vairākas SUBSTITUTE funkcijas vienu otrā. To pašu pieeju var izmantot, lai vienā piegājienā noņemtu divas vai vairākas nevēlamas rakstzīmes:

    AIZVIETOTĀJS(AIZVIETOTĀJS(AIZVIETOTĀJS( šūna , char1 , ""), char2 , ""), char3 , "")

    Piemēram, lai no A2 teksta virknes izdzēstu parastos izsaukuma un jautājuma zīmes, kā arī apgrieztās zīmes, izmantojiet šo formulu:

    =AIZVIETOT(AIZVIETOT(AIZVIETOT(AIZVIETOT(AIZVIETOT(A2, "!", ""), "¡", ""), "?", ""), "¿", ""), "¿", "")

    To pašu var izdarīt ar CHAR funkcijas palīdzību, kur 161 ir rakstzīmes kods "¡" un 191 ir rakstzīmes kods "¿":

    =AIZVIETOT(AIZVIETOT(AIZVIETOT(AIZVIETOT(AIZVIETOT(A3, "!", ""), "?", ""), CHAR(161), ""), CHAR(191), ""))

    Ja ir saprātīgs rakstzīmju skaits, iegultās SUBSTITUTE funkcijas darbojas labi, taču, ja ir jānoņem desmitiem rakstzīmju, formula kļūst pārāk gara un grūti pārvaldāma. Nākamajā piemērā ir parādīts kompaktāks un elegantāks risinājums.

    Noņemiet visas nevēlamās rakstzīmes uzreiz

    Risinājums darbojas tikai programmā Excel for Microsoft 365

    Kā jūs droši vien zināt, Excel 365 ir īpaša funkcija, kas ļauj jums izveidot savas funkcijas, tostarp tādas, kas aprēķina rekursīvi. Šīs jaunās funkcijas nosaukums ir LAMBDA, un sīkāku informāciju par to varat atrast iepriekš norādītajā pamācībā. Tālāk es ilustrēšu šo koncepciju ar dažiem praktiskiem piemēriem.

    Pielāgota LAMBDA funkcija, lai noņemt nevēlamas rakstzīmes ir šāds:

    =LAMBDA(string, chars, IF(chars"", RemoveChars(SUBSTITUTE(string, LEFT(chars, 1), ""), RIGHT(chars, LEN(chars) -1)), string))))

    Lai šo funkciju varētu izmantot darblapās, vispirms tā ir jānosauc. Lai to izdarītu, nospiediet taustiņus Ctrl + F3, lai atvērtu programmu Vārda pārvaldnieks un pēc tam definē a Jauns nosaukums šādā veidā:

    1. In the Nosaukums ievadiet funkcijas nosaukumu: RemoveChars .
    2. Iestatiet darbības jomu uz Darba burtnīca .
    3. In the Attiecas uz ielīmējiet iepriekš minēto formulu.
    4. Pēc izvēles ievadiet parametru aprakstu laukā Komentāri Parametri tiks parādīti, kad ievadīsiet formulu šūnā.
    5. Noklikšķiniet uz LABI lai saglabātu jauno funkciju.

    Sīkāku informāciju skatiet sadaļā Kā nosaukt pielāgotu LAMBDA funkciju.

    Kad funkcijai ir piešķirts nosaukums, uz to var atsaukties tāpat kā uz jebkuru vietējo formulu.

    No lietotāja viedokļa mūsu pielāgotās funkcijas sintakse ir tikpat vienkārša:

    RemoveChars(string, chars)

    Kur:

    • Virkne - ir sākotnējā virkne vai atsauce uz šūnas/rindu diapazonu, kurā atrodas virkne(-es).
    • Chars - dzēšamās rakstzīmes. Var attēlot ar teksta virkni vai šūnu atsauci.

    Ērtības labad mēs ievadām nevēlamas rakstzīmes kādā šūnā, piemēram, D2. Lai šīs rakstzīmes noņemtu no A2, formula ir šāda:

    =RemoveChars(A2, $D$2)

    Lai formula darbotos pareizi, ņemiet vērā šādus aspektus:

    • Programmā D2 rakstzīmes ir norādītas bez atstarpēm, ja vien nevēlaties arī atstarpes izslēgt.
    • Šūnas adrese, kurā ir īpašās rakstzīmes, ir bloķēta ar $ zīmi ($D$2), lai novērstu atsauces maiņu, kopējot formulu uz zemāk esošajām šūnām.

    Pēc tam mēs vienkārši velkam formulu uz leju, un no šūnām A2 līdz A6 tiek dzēstas visas D2 uzskaitītās rakstzīmes:

    Lai notīrītu vairākas šūnas ar vienu formulu, kā 1. argumentu norādiet diapazonu A2:A6:

    =RemoveChars(A2:A6, D2)

    Tā kā formula tiek ievadīta tikai augšējā šūnā, nav jāuztraucas par šūnu koordinātu bloķēšanu - šajā gadījumā darbojas relatīvā atsauce (D2). Pateicoties dinamisko masīvu atbalstam, formula automātiski izplūst visās šūnās, uz kurām ir atsauces:

    Iepriekš definēta rakstzīmju kopuma noņemšana

    Lai dzēstu iepriekš noteiktu rakstzīmju kopumu no vairākām šūnām, varat izveidot citu LAMBDA, kas izsauc galveno RemoveChars funkciju un 2. parametrā norādiet nevēlamās rakstzīmes. Piemēram:

    Lai dzēstu īpašās rakstzīmes , mēs esam izveidojuši pielāgotu funkciju ar nosaukumu RemoveSpecialChars :

    =LAMBDA(string, RemoveChars(string, "?¿!¡*%#@^"))

    Uz noņemt numurus no teksta virknēm, mēs esam izveidojuši vēl vienu funkciju ar nosaukumu RemoveNumbers :

    =LAMBDA(string, RemoveChars(string, "0123456789"))

    Abas iepriekš minētās funkcijas ir ļoti viegli izmantot, jo tām nepieciešams tikai viens arguments - sākotnējā virkne.

    Lai novērstu īpašās rakstzīmes no A2, formula ir:

    =AtceltSpeciālāsZīmes(A2)

    Lai dzēstu tikai ciparu rakstzīmes:

    =Izņemt skaitļus(A2)

    Kā darbojas šī funkcija:

    Būtībā RemoveChars funkcija veic cilpas caur sarakstu rakstzīmes pirms katra rekursīvā izsaukuma funkcija IF pārbauda atlikušos simbolus. Ja funkcija IF pārbauda atlikušos simbolus. rakstzīmes rinda nav tukša (rakstzīmes""), funkcija izsauc pati sevi. Tiklīdz ir apstrādāta pēdējā rakstzīme, formula atgriež virkne tā pašreizējā formā un izejas.

    Sīkāku formulas sadalījumu skatiet sadaļā Rekursīvā LAMBDA nevēlamu rakstzīmju noņemšana.

    Īpašo rakstzīmju noņemšana, izmantojot VBA

    Šīs funkcijas darbojas visās Excel versijās

    Ja jūsu programmā Excel nav pieejama funkcija LAMBDA, nekas netraucē jums izveidot līdzīgu funkciju, izmantojot VBA. Lietotāja definētu funkciju (UDF) var uzrakstīt divos veidos.

    Pielāgotā funkcija īpašo rakstzīmju dzēšanai rekursīvs :

    Šis kods atdarina iepriekš aprakstītās funkcijas LAMBDA loģiku.

    Funkcija RemoveUnwantedChars(str As String , chars As String ) If ( "" chars) Then str = Replace(str, Left(chars, 1), "" ) chars = Right(chars, Len(chars) - 1) RemoveUnwantedChars = RemoveUnwantedChars(str, chars) Else RemoveUnwantedChars = str End If End Function

    Pielāgotā funkcija īpašo rakstzīmju noņemšanai nerekursīvais :

    Šajā gadījumā mēs cikliski izstaigājam nevēlamās rakstzīmes no 1 līdz Len(chars) un sākotnējā virknē atrastās rakstzīmes aizstājam ar neko. MID funkcija pa vienai izvelk nevēlamās rakstzīmes un nodod tās funkcijai Replace (Aizstāt).

    Funkcija RemoveUnwantedChars(str As String , chars As String ) For index = 1 To Len(chars) str = Replace(str, Mid(chars, index, 1), "" ) Next RemoveUnwantedChars = str End Function

    Ievietojiet vienu no iepriekš minētajiem kodiem darbgrāmatā, kā paskaidrots sadaļā Kā ievietot VBA kodu programmā Excel, un jūsu pielāgotā funkcija ir gatava lietošanai.

    Lai nejauktu mūsu jauno lietotāja definēto funkciju ar Lambda definēto funkciju, mēs to nosaucām citādi:

    RemoveUnwantedChars(string, chars)

    Pieņemot, ka sākotnējā virkne atrodas A2 un nevēlamās rakstzīmes D2, mēs varam no tām atbrīvoties, izmantojot šo formulu:

    = RemoveUnwantedChars(A2, $D$2)

    Pielāgota funkcija ar stingri kodētām rakstzīmēm

    Ja nevēlaties uztraukties par speciālo rakstzīmju norādīšanu katrai formulai, varat tās norādīt tieši kodā:

    Funkcija RemoveSpecialChars(str As String ) As String Dim chars As String Dim index As Long chars = "?¿!¡*%#$(){}[]^&/\~+-" For index = 1 To Len(chars) str = Replace(str, Mid(chars, index, 1), "" ) Next RemoveSpecialChars = str End Function

    Lūdzu, paturiet prātā, ka iepriekš minētais kods ir demonstrācijas nolūkiem. Praktiskai lietošanai pārliecinieties, ka nākamajā rindā ir iekļautas visas rakstzīmes, kuras vēlaties dzēst:

    chars = "?¿!¡*%#$(){}[]^&/\~+-"

    Šīs pielāgotās funkcijas nosaukums ir RemoveSpecialChars un tam ir nepieciešams tikai viens arguments - sākotnējā virkne:

    RemoveSpecialChars(virkne)

    Lai no mūsu datu kopas atdalītu īpašās rakstzīmes, formula ir šāda:

    =AtceltSpeciālāsZīmes(A2)

    Nedrukājamu rakstzīmju noņemšana programmā Excel

    Microsoft Excel ir īpaša funkcija, kas ļauj dzēst nedrukājamas rakstzīmes - funkcija CLEAN. Tehniski tā dzēš 7 bitu ASCII kopas pirmās 32 rakstzīmes (kodi no 0 līdz 31).

    Piemēram, lai dzēstu nedrukājamas rakstzīmes no A2, šeit ir formula, kas jāizmanto:

    =CLEAN(A2)

    Tas novērsīs nespiežamās rakstzīmes, bet atstarpes pirms/aiz teksta un starp vārdiem paliks.

    Lai atbrīvotos no papildu vietas , ietiniet CLEAN formulu funkcijā TRIM:

    =TRIM(CLEAN(A2))

    Tagad visas sākuma un beigu atstarpes tiek noņemtas, bet atstarpes starp tām tiek samazinātas līdz vienai atstarpes zīmei:

    Ja vēlaties dzēst absolūti visas vietas rindas iekšpusē, tad papildus aizstāt atstarpes rakstzīmi (koda numurs 32) ar tukšu virkni:

    =TRIM(CLEAN((SUBSTITUTE(A2, CHAR(32), ""))))

    Jūsu darblapā joprojām ir dažas atstarpes vai citas neredzamas rakstzīmes? Tas nozīmē, ka šīm rakstzīmēm ir atšķirīgas vērtības Unicode rakstzīmju kopā.

    Piemēram, rakstzīmes kods atstarpes bez pārrāvuma ( ) ir 160, un to var attīrīt, izmantojot šo formulu:

    =SUBSTITUTE(A2, CHAR(160)," ")

    Lai izdzēstu īpašs raksturs, kas nav drukas raksturs , vispirms ir jāatrod tā koda vērtība. Sīki norādījumi un formulas piemēri ir šeit: Kā noņemt konkrētu nerakstāmu rakstzīmi.

    Īpašo rakstzīmju dzēšana ar Ultimate Suite

    Atbalsta Excel Microsoft 365, Excel 2019 - 2010

    Šajā pēdējā piemērā parādīšu jums vienkāršāko veidu, kā Excel programmā noņemt īpašās rakstzīmes. Ja ir instalēts komplekts Ultimate Suite, ir jādara tas, kas jums jādara:

    1. Par Ablebits dati cilnē Teksts grupu, noklikšķiniet uz Noņemt > Dzēst rakstzīmes .

  • Papildinājuma panelī izvēlieties avota diapazonu, atlasiet Rakstzīmju kopu noņemšana un no nolaižamajā sarakstā izvēlieties vēlamo opciju ( Simboli & amp; interpunkcijas zīmes šajā piemērā).
  • Nospiediet uz Noņemt pogu.
  • Pēc brīža iegūsiet perfektu rezultātu:

    Ja kaut kas neizdodas, neuztraucieties - darblapas dublējums tiks izveidots automātiski, jo darblapas Veiciet šīs darblapas dublēšanu pēc noklusējuma ir atlasīts.

    Vēlaties izmēģināt mūsu rīku Remove? Saite uz novērtējuma versiju ir tieši zemāk. Paldies, ka izlasījāt, un ceru, ka nākamnedēļ tiksimies mūsu blogā!

    Pieejamās lejupielādes

    Speciālo rakstzīmju dzēšana - piemēri (.xlsm fails)

    Ultimate Suite - izmēģinājuma versija (.exe fails)

    Maikls Brauns ir īpašs tehnoloģiju entuziasts, kura aizraušanās ir sarežģītu procesu vienkāršošana, izmantojot programmatūras rīkus. Ar vairāk nekā desmit gadu pieredzi tehnoloģiju nozarē viņš ir pilnveidojis savas prasmes programmās Microsoft Excel un Outlook, kā arī Google izklājlapās un dokumentos. Maikla emuārs ir veltīts tam, lai dalītos savās zināšanās un pieredzē ar citiem, sniedzot viegli izpildāmus padomus un pamācības produktivitātes un efektivitātes uzlabošanai. Neatkarīgi no tā, vai esat pieredzējis profesionālis vai iesācējs, Maikla emuārs piedāvā vērtīgas atziņas un praktiskus padomus, kā maksimāli izmantot šos būtiskos programmatūras rīkus.