Ինչպես ջնջել հատուկ / անցանկալի նիշերը Excel-ում

  • Կիսվել Սա
Michael Brown

Այս հոդվածում դուք կսովորեք, թե ինչպես ջնջել կոնկրետ նիշերը տեքստային տողից և միանգամից հեռացնել անցանկալի նիշերը մի քանի բջիջներից:

Տվյալները Excel-ին մեկ այլ տեղից ներմուծելիս, շատ հատուկ նիշեր կարող են ճանապարհորդել դեպի ձեր աշխատաթերթերը: Առավել զայրացնողն այն է, որ որոշ նիշեր անտեսանելի են, ինչը լրացուցիչ սպիտակ տարածություն է ստեղծում տեքստային տողերի առաջ, հետո կամ ներսում: Այս ձեռնարկը լուծումներ է տալիս այս բոլոր խնդիրների համար՝ ձեզ խնայելով տվյալների բջիջ առ բջիջ անցնելու և անցանկալի նիշերը ձեռքով մաքրելու դժվարությունից:

    Հեռացնել հատուկ նիշը Excel բջիջից:

    Բջջից կոնկրետ նիշ ջնջելու համար այն փոխարինեք դատարկ տողով` օգտագործելով SUBSTITUTE ֆունկցիան իր ամենապարզ ձևով.

    SUBSTITUTE( բջիջ, char<2:>, "")

    Օրինակ, A2-ից հարցական նշանը վերացնելու համար B2-ում բանաձևը հետևյալն է.

    =SUBSTITUTE(A2, "?", "")

    Հեռացնել նիշ, որը չկա ձեր ստեղնաշարի վրա, դուք կարող եք պատճենել/տեղադրել այն բանաձևում սկզբնական բջիջից:

    Օրինակ, ահա թե ինչպես կարող եք ազատվել շրջված հարցականից.

    =SUBSTITUTE(A2, "¿", "")

    Բայց եթե անցանկալի կերպարը անտեսանելի է կամ ճիշտ չի պատճենվում, ինչպե՞ս եք այն դնում բանաձևի մեջ: Պարզապես գտեք դրա ծածկագրի համարը՝ օգտագործելով CODE ֆունկցիան:

    Մեր դեպքում, անցանկալի նիշը («¿») հայտնվում է վերջին տեղում A2 բջիջում, ուստի մենք օգտագործում ենք համակցություն:CODE և RIGHT գործառույթներից՝ ստանալով իր եզակի ծածկագրի արժեքը, որը 191 է:

    =CODE(RIGHT(A2))

    Հենց որ ստանաք կերպարի կոդը, մատուցեք համապատասխան CHAR-ը: գործում է վերը նշված ընդհանուր բանաձևի համաձայն: Մեր տվյալների բազայի համար բանաձևը հետևյալն է.

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

    Նշում. SUBSTITUTE ֆունկցիան զգայուն է մեծատառերի նկատմամբ , ինչը նշանակում է, որ այն փոքրատառ և մեծատառերը վերաբերվում է որպես տարբեր նիշերի: Խնդրում ենք նկատի ունենալ, եթե ձեր անցանկալի կերպարը տառ է:

    Ջնջել մի քանի նիշ տողից

    Նախորդ հոդվածներից մեկում մենք նայեցինք, թե ինչպես հեռացնել հատուկ նիշերը Excel-ի տողերից՝ մի քանի SUBSTITUTE ֆունկցիաները միմյանց մեջ դնելով: Նույն մոտեցումը կարող է օգտագործվել երկու կամ ավելի անցանկալի նիշերը միանգամից վերացնելու համար.

    SUBSTITUTE(SUBSTITUTE( բջիջ , char1 , ""), char2 , ""), char3 , "")

    Օրինակ, A2-ի տեքստային տողից սովորական բացականչական և հարցական նշանները, ինչպես նաև շրջվածները վերացնելու համար օգտագործեք հետևյալ բանաձևը. 3>

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

    Նույնը կարելի է անել CHAR ֆունկցիայի օգնությամբ, որտեղ 161-ը «¡»-ի նիշերի կոդը, իսկ 191-ը «¿»-ի նիշերի կոդը:

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

    Nested SUBSTITUTE ֆունկցիաները լավ են աշխատում ողջամիտ թվով նիշերի համար, բայց եթե դուք ունեք տասնյակ նիշեր հեռացնելու, բանաձևը դառնում է չափազանց երկար և դժվար է կառավարել: Հաջորդ օրինակը ցույց է տալիս աավելի կոմպակտ և էլեգանտ լուծում:

    Հեռացրեք բոլոր անցանկալի նիշերը միանգամից

    Լուծումն աշխատում է միայն Excel-ում Microsoft 365-ի համար

    Ինչպես հավանաբար գիտեք, Excel 365-ն ունի հատուկ գործառույթ, որը թույլ է տալիս ստեղծել ձեր սեփական գործառույթները, ներառյալ այն գործառույթները, որոնք հաշվարկվում են ռեկուրսիվ: Այս նոր գործառույթը կոչվում է LAMBDA, և դրա մասին ամբողջական մանրամասներ կարող եք գտնել վերը նշված ձեռնարկում: Ստորև ես կներկայացնեմ հայեցակարգը մի քանի գործնական օրինակներով:

    Մաքսային LAMBDA ֆունկցիան անցանկալի նիշերը հեռացնելու համար հետևյալն է.

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

    Որպեսզի կարողանաք օգտագործել այս գործառույթը ձեր աշխատաթերթերում, նախ պետք է այն անվանել: Դրա համար սեղմեք Ctrl + F3՝ Անունների կառավարիչը բացելու համար, այնուհետև սահմանեք Նոր անուն այս կերպ.

    1. Անունում: վանդակում, մուտքագրեք ֆունկցիայի անունը. RemoveChars :
    2. Սահմանեք շրջանակը Աշխատանքային գրքույկ :
    3. Վերաբերում է վանդակում, տեղադրեք վերը նշված բանաձեւը:
    4. Ցանկության դեպքում մուտքագրեք պարամետրերի նկարագրությունը Մեկնաբանություններ վանդակում: Պարամետրերը կցուցադրվեն, երբ բանաձևը մուտքագրեք բջիջում:
    5. Սեղմեք OK ՝ ձեր նոր գործառույթը պահպանելու համար:

    Մանրամասն հրահանգների համար տե՛ս Ինչպես անվանել հատուկ LAMBDA ֆունկցիան:

    Հենց որ ֆունկցիան անուն ստանա, դուք կարող եք վերաբերել դրան, ինչպես ցանկացած բնիկ բանաձև:

    Օգտագործողի տեսանկյունից , մեր մաքսային ֆունկցիայի շարահյուսությունը նույնքան պարզ է, որքանսա՝

    RemoveChars(string, chars)

    Where:

    • String - բնօրինակ տողը կամ հղում է տողը պարունակող բջիջին/տիրույթին( s).
    • Նիշեր - ջնջվող նիշեր: Կարող է ներկայացվել տեքստային տողով կամ բջջային հղումով:

    Հարմարության համար մենք անցանկալի նիշեր ենք ներմուծում որոշ բջիջում, ասենք D2: Այդ նիշերը A2-ից հեռացնելու համար բանաձևը հետևյալն է.

    =RemoveChars(A2, $D$2)

    Որպեսզի բանաձևը ճիշտ աշխատի, խնդրում ենք ուշադրություն դարձնել հետևյալ կետերին.

    • D2 , նիշերը թվարկվում են առանց բացատների, եթե դուք նույնպես չեք ցանկանում վերացնել բացատները:
    • Հատուկ նիշեր պարունակող բջջի հասցեն կողպված է $ նշանով ($D$2)՝ կանխելու համար հղումը փոխելիս, երբ հաղթահարում է: բանաձևը ստորև բերված բջիջներում:

    Եվ այնուհետև մենք պարզապես քաշում ենք բանաձևը ներքև, և D2-ում թվարկված բոլոր նիշերը ջնջվում են A2-ից մինչև A6 բջիջներից:

    Մեկ բանաձևով բազմաթիվ բջիջներ մաքրելու համար տրամադրեք A2:A6 միջակայքը 1-ին արգումենտի համար.

    =RemoveChars(A2:A6, D2)

    Քանի որ բանաձևը մուտքագրվում է միայն ամենավերևի բջիջում, Դուք չպետք է անհանգստանաք բջջային կոորդինատների արգելափակման մասին. հարաբերական հղումը (D2) այս դեպքում լավ է աշխատում: Եվ դինամիկ զանգվածների աջակցության շնորհիվ, բանաձևը ավտոմատ կերպով թափվում է բոլոր մատնանշված բջիջների մեջ.

    Նախապես սահմանված նիշերի հավաքածուի հեռացում

    Ջնջելու համար նախապես սահմանված նիշերի հավաքածուն: նիշեր մի քանի բջիջներից, կարող եք ստեղծելմեկ այլ LAMBDA, որը կանչում է հիմնական RemoveChars ֆունկցիան և 2-րդ պարամետրում նշում է անցանկալի նիշերը: Օրինակ՝

    հատուկ նիշերը ջնջելու համար մենք ստեղծել ենք հատուկ ֆունկցիա RemoveSpecialChars :

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

    To հեռացնել թվերը տեքստային տողերից, մենք ստեղծել ենք ևս մեկ ֆունկցիա RemoveNumbers :

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

    Վերոհիշյալ երկու գործառույթներն էլ չափազանց հեշտ են: օգտագործել, քանի որ դրանք պահանջում են ընդամենը մեկ արգումենտ՝ սկզբնական տողը:

    Ա2-ից հատուկ նիշերը վերացնելու համար բանաձևը հետևյալն է.

    =RemoveSpecialChars(A2)

    Միայն թվային նիշերը ջնջելու համար՝

    =RemoveNumbers(A2)

    Ինչպես է աշխատում այս ֆունկցիան.

    Ըստ էության, RemoveChars ֆունկցիան պտտվում է նիշերի ցանկի միջով և միանգամից հեռացնում է մեկ նիշ: Յուրաքանչյուր ռեկուրսիվ զանգից առաջ IF ֆունկցիան ստուգում է մնացած նիշերը: Եթե ​​ նիշեր տողը դատարկ չէ (նիշեր""), ֆունկցիան կանչում է իրեն: Հենց որ վերջին նիշը մշակվում է, բանաձևը վերադարձնում է string իր ներկայիս ձևը և դուրս է գալիս:

    Մանրամասն բանաձևի բաժանման համար տես Recursive LAMBDA` անցանկալի նիշերը հեռացնելու համար:

    Վերջացրեք հատուկ նիշերը VBA-ով

    Ֆունկցիաներն աշխատում են Excel-ի բոլոր տարբերակներում

    Եթե ձեր Excel-ում LAMBDA ֆունկցիան հասանելի չէ, ձեզ ոչինչ չի խանգարում։ VBA-ով նմանատիպ ֆունկցիա ստեղծելուց: Օգտագործողի կողմից սահմանված Aֆունկցիան (UDF) կարող է գրվել երկու եղանակով:

    Հատուկ նիշերը ջնջելու հատուկ գործառույթ ռեկուրսիվ :

    Այս կոդը կրկնօրինակում է վերը քննարկված LAMBDA ֆունկցիայի տրամաբանությունը:

    Function RemoveUnwantedChars(str As String, chars As String) If ( "" chars) then str = Replace(str, Left(chars, 1), "" ) chars = Right(nyms, Len(chars) - 1) RemoveUnwanted Chars = RemoveUnwantedChars(str, chars) Այլապես RemoveUnwantedChars = str End If End Function

    Հատուկ գործառույթ հեռացնելու հատուկ նիշերը ոչ ռեկուրսիվ :

    Այստեղ մենք անցանկալի նիշերի միջով անցնում ենք 1-ից մինչև Len(նիշերը) և փոխարինեք բնօրինակ տողում հայտնաբերվածները ոչինչով: MID ֆունկցիան մեկ առ մեկ քաշում է անցանկալի նիշերը և փոխանցում Replace ֆունկցիային:

    Function RemoveUnwantedChars(str As String, chars as String) For index = 1 To Len(charms) str = Replace(str, Mid(chars, ինդեքս, 1), «» ) Հաջորդը RemoveUnwantedChars = str Ավարտի գործառույթը

    Տեղադրեք վերը նշված կոդերից մեկը ձեր աշխատանքային գրքում, ինչպես բացատրված է Ինչպես տեղադրել VBA կոդը Excel-ում, և ձեր հատուկ գործառույթը պատրաստ է օգտագործման համար:

    Չշփոթելու համար օգտագործողի կողմից սահմանված մեր նոր գործառույթը Lambda-ով սահմանված ֆունկցիայի հետ, մենք այն անվանել ենք այլ կերպ՝

    RemoveUnwantedChars(տող, նիշ)

    Ենթադրենք, որ սկզբնական տողը A2 է, իսկ D2-ում անցանկալի նիշերը, մենք կարող ենք ազատվել դրանցից՝ օգտագործելով այս բանաձևը.նիշեր

    Եթե դուք չեք ցանկանում անհանգստանալ յուրաքանչյուր բանաձևի համար հատուկ նիշեր տրամադրելու հարցում, կարող եք դրանք ուղղակիորեն նշել կոդում.

    Function RemoveSpecialChars(str As String) As String Dim նիշերը As String Dim index As Երկար նիշեր = "?¿!¡*%#$(){}[]^&/\~+-" Ցուցանիշի համար = 1 Դեպի Len(նիշեր) str = Փոխարինել(str, Mid(նիշեր, ինդեքս, 1) , "" ) Next RemoveSpecialChars = str Վերջի ֆունկցիան

    Խնդրում ենք նկատի ունենալ, որ վերը նշված կոդը ցուցադրական նպատակների համար է: Գործնական օգտագործման համար համոզվեք, որ ներառեք բոլոր այն նիշերը, որոնք ցանկանում եք ջնջել հետևյալ տողում.

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

    Այս հատուկ գործառույթը կոչվում է RemoveSpecialChars և դրա համար պահանջվում է ընդամենը մեկ փաստարկ - սկզբնական տողը.

    RemoveSpecialChars(string)

    Մեր տվյալների բազայից հատուկ նիշերը հեռացնելու համար բանաձևը հետևյալն է.

    =RemoveSpecialChars(A2)

    Հեռացնել չտպվող նիշերը Excel-ից

    Microsoft Excel-ն ունի չտպվող նիշերը ջնջելու հատուկ ֆունկցիա՝ CLEAN ֆունկցիան: Տեխնիկապես, այն հանում է 7-բիթանոց ASCII հավաքածուի առաջին 32 նիշերը (կոդերը 0-ից 31-ը):

    Օրինակ, չտպվող նիշերը A2-ից ջնջելու համար, ահա այն բանաձևը, որը պետք է օգտագործել: :

    =CLEAN(A2)

    Սա կվերացնի չտպող նիշերը, բայց տեքստից առաջ/հետո և բառերի միջև բացերը կմնան:

    Դեպի ազատվեք լրացուցիչ բացատներից , փաթեթավորեք CLEAN բանաձևը TRIM ֆունկցիայի մեջ.

    =TRIM(CLEAN(A2))

    Այժմ բոլորը առաջատար ևՀետևյալ բացատները հեռացվում են, մինչդեռ միջանկյալ բացատները կրճատվում են մինչև մեկ նիշ.

    Եթե ցանկանում եք ջնջել բացարձակապես բոլոր բացատները ներսում: տող, այնուհետև լրացուցիչ փոխարինեք բացատ նիշը (կոդ համարը 32) դատարկ տողով.

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

    Որոշ բացատներ կամ այլ անտեսանելի նիշեր դեռ մնում են ձեր աշխատանքային թերթիկը Դա նշանակում է, որ այդ նիշերն ունեն տարբեր արժեքներ Յունիկոդի նիշերի հավաքածուում:

    Օրինակ, չխզվող տարածության նիշերի կոդը ( ) 160 է, և դուք կարող եք այն մաքրել այս բանաձևով.

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

    հատուկ ոչ տպագրող նիշը ջնջելու համար նախ պետք է գտնել դրա ծածկագրի արժեքը: Մանրամասն հրահանգները և բանաձևի օրինակներն այստեղ են. Ինչպես հեռացնել հատուկ չտպող նիշ:

    Ջնջել հատուկ նիշերը Ultimate Suite-ի միջոցով

    Աջակցում է Excel-ին Microsoft 365, Excel 2019 - 2010 թթ.

    Այս վերջին օրինակում թույլ տվեք ցույց տալ Excel-ում հատուկ նիշերը հեռացնելու ամենադյուրին ճանապարհը: Երբ Ultimate Suite-ը տեղադրված է, սա այն է, ինչ դուք պետք է անեք.

    1. Ablebits Data ներդիրում, Text խմբում սեղմեք Հեռացնել > Հեռացնել նիշերը :

  • Հավելվածի վահանակում ընտրեք աղբյուրի տիրույթը, ընտրեք Հեռացնել նիշերի հավաքածուներ և բացվող ցանկից ընտրեք ցանկալի տարբերակը ( Սիմվոլներ և կետադրական նշաններ այստեղօրինակ):
  • Սեղմեք Հեռացնել կոճակը:
  • Մի պահից դուք կստանաք կատարյալ արդյունք.

    Եթե ինչ-որ բան այն չէ, մի անհանգստացեք. ձեր աշխատաթերթի կրկնօրինակը կստեղծվի ավտոմատ կերպով, քանի որ Պահուստավորել այս աշխատաթերթը վանդակը լռելյայն ընտրված է:

    Հետաքրքրվա՞ծ եք փորձել մեր Հեռացնել գործիքը: Գնահատման տարբերակի հղումը հենց ստորև է: Շնորհակալ եմ կարդալու համար և հուսով եմ, որ հաջորդ շաբաթ կտեսնենք ձեզ մեր բլոգում:

    Հասանելի ներբեռնումներ

    Ջնջել հատուկ նիշերը - օրինակներ (.xlsm ֆայլ)

    Ultimate Suite - փորձնական տարբերակ (.exe ֆայլ)

    Մայքլ Բրաունը նվիրված տեխնոլոգիայի էնտուզիաստ է, որը ձգտում է պարզեցնել բարդ գործընթացները՝ օգտագործելով ծրագրային գործիքները: Տեխնոլոգիական ոլորտում ավելի քան մեկ տասնամյակ փորձ ունենալով՝ նա կատարելագործել է իր հմտությունները Microsoft Excel-ում և Outlook-ում, ինչպես նաև Google Sheets-ում և Docs-ում: Մայքլի բլոգը նվիրված է իր գիտելիքներն ու փորձառությունը ուրիշների հետ կիսելուն՝ տրամադրելով հեշտ օգտագործվող խորհուրդներ և ձեռնարկներ՝ արտադրողականությունն ու արդյունավետությունը բարձրացնելու համար: Անկախ նրանից, թե դուք փորձառու մասնագետ եք, թե սկսնակ, Մայքլի բլոգը առաջարկում է արժեքավոր պատկերացումներ և գործնական խորհուրդներ՝ առավելագույն օգուտ քաղելու այս կարևոր ծրագրային գործիքներից: