Excel-də xüsusi / arzuolunmaz simvolları necə silmək olar

  • Bunu Paylaş
Michael Brown

Bu məqalədə siz mətn sətirindən xüsusi simvolları silməyi və birdən çox xanadan arzuolunmaz simvolları silməyi öyrənəcəksiniz.

Məlumatları Excel-ə başqa yerdən idxal edərkən, bir çox xüsusi simvol iş vərəqlərinizə səyahət edə bilər. Daha da sinir bozucu olan odur ki, bəzi simvollar görünməzdir və bu, mətn sətirlərindən əvvəl, sonra və ya daxilində əlavə boşluq yaradır. Bu dərslik bütün bu problemlərin həlli yollarını təqdim edir, məlumatı xana-xana keçmək və arzuolunmaz simvolları əl ilə təmizləmək problemindən xilas edir.

    Excel xanasından xüsusi simvolu silin.

    Xüceyrədən xüsusi simvolu silmək üçün onu ən sadə formada Əvəz etmə funksiyasından istifadə edərək boş sətirlə əvəz edin:

    SUBSTITUTE( cell, char, "")

    Məsələn, A2-dən sual işarəsini silmək üçün B2-dəki düstur belədir:

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

    klaviaturanızda olmayan simvol üçün onu orijinal xanadakı düstura köçürə/yapışdıra bilərsiniz.

    Məsələn, tərsinə çevrilmiş sual işarəsindən bu yolla xilas ola bilərsiniz:

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

    Lakin arzuolunmaz simvol görünməzdir və ya düzgün surətdə kopyalanmırsa, onu düstura necə daxil etmək olar? Sadəcə, CODE funksiyasından istifadə etməklə onun kod nömrəsini tapın.

    Bizim halda, A2 xanasında arzuolunmaz simvol ("¿") sonuncu yerdə gəlir, ona görə də biz kombinasiyadan istifadə edirik.191:

    =CODE(RIGHT(A2))

    Kodun unikal kod dəyərini əldə etmək üçün KOD və RIGHT funksiyalarını yerinə yetirin. yuxarıdakı ümumi düstura funksiyasını yerinə yetirin. Verilənlər dəstimiz üçün düstur aşağıdakı kimidir:

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

    Qeyd. Əvəz etmə funksiyası hərflərə həssasdır , yəni kiçik və böyük hərfləri fərqli simvol kimi qəbul edir. Əgər arzuolunmaz xarakteriniz hərfdirsə, bunu nəzərə alın.

    Sətrdən çoxlu simvolları silin

    Əvvəlki məqalələrdən birində biz Excel-də bir neçə ƏVVƏZİNƏ funksiyasını bir-birinə yerləşdirməklə sətirlərdən xüsusi simvolları necə silməyi nəzərdən keçirdik. Eyni yanaşma iki və ya daha çox arzuolunmaz simvolu bir anda aradan qaldırmaq üçün istifadə edilə bilər:

    ƏVƏZİNƏ(ƏVƏZİNƏ( hüceyrə , char1 , ""), char2 , ""), char3 , "")

    Məsələn, A2 mətn sətirindən normal nida və sual işarələrini, eləcə də tərsinə çevrilmiş işarələri silmək üçün bu düsturdan istifadə edin:

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

    Eyni şeyi CHAR funksiyasının köməyi ilə etmək olar, burada 161 "¡" üçün simvol kodu və 191 "¿" üçün simvol kodudur:

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

    Nested ƏVƏZİNƏ funksiyaları məqbul sayda simvol üçün yaxşı işləyir, lakin silmək üçün onlarla simvolunuz varsa, formula çox uzun olur və idarə etmək çətinləşir. Növbəti nümunə göstərir ki, adaha yığcam və zərif həll.

    Bütün arzuolunmaz simvolları bir anda silin

    Hol yalnız Microsoft 365 üçün Excel-də işləyir

    Yəqin bildiyiniz kimi, Excel 365 rekursiv hesablayanlar da daxil olmaqla, öz funksiyalarınızı yaratmağa imkan verən xüsusi funksiyaya malikdir. Bu yeni funksiya LAMBDA adlanır və siz bu barədə tam təfərrüatları yuxarıdakı təlimatda tapa bilərsiniz. Aşağıda mən konsepsiyanı bir neçə praktik nümunə ilə təsvir edəcəyəm.

    İstifadəçi LAMBDA funksiyası arzuolunmaz simvolları silmək aşağıdakı kimidir:

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

    Bu funksiyanı iş vərəqlərinizdə istifadə etmək üçün əvvəlcə onu adlandırmalısınız. Bunun üçün Ad Meneceri açmaq üçün Ctrl + F3 düymələrini basın və sonra bu şəkildə Yeni Ad təyin edin:

    1. Ad xanasına funksiyanın adını daxil edin: RemoveChars .
    2. Əhatə dairəsini İş dəftəri olaraq təyin edin.
    3. İstifadə edir xanasına yuxarıdakı düsturu yapışdırın.
    4. İstəyə görə, parametrlərin təsvirini Şərhlər xanasına daxil edin. Xanaya düstur yazdığınız zaman parametrlər göstəriləcək.
    5. Yeni funksiyanızı saxlamaq üçün OK üzərinə klikləyin.

    Ətraflı təlimatlar üçün baxın. Fərdi LAMBDA funksiyasını necə adlandırmaq olar.

    Funksiya ad aldıqdan sonra ona istənilən yerli düstur kimi müraciət edə bilərsiniz.

    İstifadəçi baxımından , bizim xüsusi funksiyamızın sintaksisi qədər sadədirbu:

    RemoveChars(string, chars)

    Burada:

    • String - orijinal sətir və ya sətirdən ibarət xana/aralığa istinaddır( s).
    • Chars - silinəcək simvollar. Mətn sətri və ya xana istinadı ilə təmsil oluna bilər.

    Rahatlıq üçün bəzi xanalara arzuolunmaz simvollar daxil edirik, məsələn, D2. Həmin simvolları A2-dən silmək üçün düstur belədir:

    =RemoveChars(A2, $D$2)

    Düsturun düzgün işləməsi üçün aşağıdakılara diqqət yetirin:

    • D2-də , siz boşluqları da silmək istəmədiyiniz halda simvollar boşluqsuz siyahıya salınır.
    • Xüsusi simvolları ehtiva edən xananın ünvanı öhdəsindən gələrkən istinadın dəyişməsinin qarşısını almaq üçün $ işarəsi ($D$2) ilə kilidlənir. düsturunu aşağıdakı xanalara köçürün.

    Və sonra biz sadəcə olaraq düsturu aşağı sürükləyirik və D2-də sadalanan bütün simvolları A2-dən A6-ya qədər olan xanalardan silirik:

    Birdən çox xananı tək düsturla təmizləmək üçün 1-ci arqument üçün A2:A6 diapazonunu təmin edin:

    =RemoveChars(A2:A6, D2)

    Düstur yalnız ən yuxarıdakı xanaya daxil edildiyi üçün, Hüceyrə koordinatlarını kilidləməkdən narahat olmaq lazım deyil - nisbi istinad (D2) bu halda yaxşı işləyir. Dinamik massivləri dəstəklədiyinə görə, formula avtomatik olaraq bütün istinad edilən xanalara yayılır:

    Öncədən təyin edilmiş simvol dəstinin silinməsi

    Öncədən təyin edilmiş bir sıra silmək üçün birdən çox hüceyrədən simvol yarada bilərsinizəsas RemoveChars funksiyasını çağıran və 2-ci parametrdə arzuolunmaz simvolları təyin edən başqa bir LAMBDA. Məsələn:

    xüsusi simvolları silmək üçün biz RemoveSpecialChars adlı fərdi funksiya yaratdıq:

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

    To Mətn sətirlərindən rəqəmləri sil , biz Nömrələri Sil adlı daha bir funksiya yaratdıq:

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

    Yuxarıdakı funksiyaların hər ikisi çox asandır yalnız bir arqument tələb etdiyi üçün istifadə etmək - orijinal sətir.

    A2-dən xüsusi simvolları silmək üçün formula belədir:

    =RemoveSpecialChars(A2)

    Yalnız rəqəm simvollarını silmək üçün:

    =RemoveNumbers(A2)

    Bu funksiya necə işləyir:

    Əslində, RemoveChars funksiyası simvollar siyahısında dövrə vurur və hər dəfə bir simvolu silir. Hər rekursiv çağırışdan əvvəl IF funksiyası qalan simvolları yoxlayır. chars sətri boş deyilsə (simvol""), funksiya özünü çağırır. Sonuncu simvol işləndikdən sonra düstur sətir onu indiki formasını qaytarır və çıxış edir.

    Ətraflı düstur bölgüsü üçün arzuolunmaz simvolları silmək üçün Rekursiv LAMBDA-ya baxın.

    VBA ilə xüsusi simvolları silin

    Funksiyalar Excel-in bütün versiyalarında işləyir

    Əgər LAMBDA funksiyası Excel-də mövcud deyilsə, sizə heç nə mane olmur VBA ilə oxşar funksiya yaratmaqdan. İstifadəçi tərəfindən müəyyən edilmişfunksiyası (UDF) iki şəkildə yazıla bilər.

    Xüsusi simvolları silmək üçün fərdi funksiya rekursiv :

    Bu kod yuxarıda müzakirə olunan LAMBDA funksiyasının məntiqini təqlid edir.

    Funksiya 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 Funksiyası

    Xüsusi simvolları silmək üçün fərdi funksiya rekursiv olmayan :

    Burada biz 1-dən başlayaraq arzuolunmaz simvollar arasında dövr edirik Len(simvollar) və orijinal sətirdə olanları heç nə ilə əvəz edin. MID funksiyası arzuolunmaz simvolları bir-bir çəkir və onları Replace funksiyasına ötürür.

    Funksiya 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

    Excel-də VBA kodunu necə daxil etmək olar bölməsində izah edildiyi kimi yuxarıdakı kodlardan birini iş kitabınıza daxil edin və fərdi funksiyanız istifadəyə hazırdır.

    İstifadəçi tərəfindən təyin olunan yeni funksiyamızı Lambda ilə müəyyən edilmiş funksiya ilə qarışdırmamaq üçün biz onu fərqli adlandırdıq:

    RemoveUnwantedChars(string, chars)

    Orijinal sətirin A2-də və arzuolunmaz simvolların D2-də olduğunu fərz etsək, biz bu düsturdan istifadə edərək onlardan xilas ola bilərik:

    = RemoveUnwantedChars(A2, $D$2)

    Sərt kodlu xüsusi funksiyasimvollar

    Əgər siz hər bir düstur üçün xüsusi simvollar təqdim etməklə narahat olmaq istəmirsinizsə, onları birbaşa kodda göstərə bilərsiniz:

    Funksiya RemoveSpecialChars(str As String ) As String Dim simvolları As String Dim index As Uzun simvollar = "?¿!¡*%#$(){}[]^&/\~+-" İndeks üçün = 1 To Len(simvol) str = Dəyişdirin(str, Mid(simvollar, indeks, 1) , "" ) Next RemoveSpecialChars = str End Function

    Yuxarıdakı kodun nümayiş məqsədi ilə olduğunu unutmayın. Praktik istifadə üçün, silmək istədiyiniz bütün simvolları aşağıdakı sətirə daxil etməyinizə əmin olun:

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

    Bu fərdi funksiya RemoveSpecialChars adlanır və o, yalnız bir simvol tələb edir. arqument - orijinal sətir:

    RemoveSpecialChars(string)

    Verilənlər dəstimizdən xüsusi simvolları silmək üçün formula belədir:

    =RemoveSpecialChars(A2)

    Excel-də çap olunmayan simvolları silin

    Microsoft Excel-in çap olunmayan simvolları silmək üçün xüsusi funksiyası var - TƏMİZLƏM funksiyası. Texniki cəhətdən o, 7 bitlik ASCII dəstindəki ilk 32 simvolu silir (0-dan 31-ə qədər kodlar).

    Məsələn, A2-dən çap olunmayan simvolları silmək üçün istifadə ediləcək düstur buradadır. :

    =CLEAN(A2)

    Bu, çap olunmayan simvolları aradan qaldıracaq, lakin mətndən əvvəl/sonra və sözlər arasında boşluq qalacaq.

    To əlavə boşluqlardan xilas olun, TƏMİZƏ düsturunu TRIM funksiyasına sarın:

    =TRIM(CLEAN(A2))

    İndi bütün aparıcı vəarxadakı boşluqlar silinir, aralarındakı boşluqlar isə tək boşluq simvoluna endirilir:

    Əgər siz daxilindəki bütün boşluqları tamamilə silmək istəyirsinizsə sətir, sonra əlavə olaraq boşluq simvolunu (kod nömrəsi 32) boş sətirlə əvəz edin:

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

    Bəzi boşluqlar və ya digər görünməz simvollar hələ də iş vərəqiniz? Bu o deməkdir ki, bu simvollar Unicode simvol dəstində fərqli dəyərlərə malikdir.

    Məsələn, qırılmayan boşluğun ( ) simvol kodu 160-dır və siz bu düsturdan istifadə edərək onu təmizləyə bilərsiniz:

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

    xüsusi çap olunmayan simvolu silmək üçün əvvəlcə onun kod dəyərini tapmalısınız. Ətraflı təlimatlar və düstur nümunələri buradadır: Çap olunmayan xüsusi simvolu necə silmək olar.

    Ultimate Suite ilə xüsusi simvolları silin

    Microsoft 365, Excel 2019 - 2010 üçün Excel-i dəstəkləyir

    Bu son nümunədə sizə Excel-də xüsusi simvolları silməyin ən asan yolunu göstərməyə icazə verin. Ultimate Suite quraşdırıldıqda, bunu etməlisiniz:

    1. Ablebits Data nişanında, Mətn qrupunda, üzərinə klikləyin. Sil > Simvolları Sil .

  • Əlavənin panelində mənbə diapazonunu seçin, Silin seçin simvol dəstləri və açılan siyahıdan istədiyiniz seçimi seçin ( Simvollar və durğu işarələri buradamisal).
  • Sil düyməsini basın.
  • Bir anda mükəmməl nəticə əldə edəcəksiniz:

    Bir şey səhv olarsa, narahat olmayın - defolt olaraq Bu iş vərəqini yedəkləyin qutusu seçildiyi üçün iş vərəqinizin ehtiyat nüsxəsi avtomatik yaradılacaq.

    Sil alətimizi sınamaq istəyirsiniz? Qiymətləndirmə versiyasına keçid aşağıdadır. Oxuduğunuz üçün sizə təşəkkür edirəm və sizi gələn həftə bloqumuzda görməyə ümid edirəm!

    Mövcud endirmələr

    Xüsusi simvolları silin - nümunələr (.xlsm faylı)

    Ultimate Suite - sınaq versiya (.exe faylı)

    Michael Brown proqram alətlərindən istifadə edərək mürəkkəb prosesləri sadələşdirməyə həvəsi olan xüsusi texnologiya həvəskarıdır. Texnologiya sənayesində on ildən artıq təcrübəyə malik olmaqla, o, Microsoft Excel və Outlook, həmçinin Google Cədvəl və Sənədlərdə bacarıqlarını mükəmməlləşdirib. Mayklın bloqu öz biliyini və təcrübəsini başqaları ilə bölüşməyə, məhsuldarlığı və səmərəliliyi artırmaq üçün asan izlənilən məsləhətlər və dərslikləri təqdim etməyə həsr olunub. İstər təcrübəli peşəkar, istərsə də yeni başlayan biri olmağınızdan asılı olmayaraq, Mayklın bloqu bu vacib proqram alətlərindən maksimum yararlanmaq üçün dəyərli fikirlər və praktiki məsləhətlər təklif edir.