Excel бағдарламасында арнайы / қажетсіз таңбаларды қалай жоюға болады

  • Мұны Бөлісіңіз
Michael Brown

Бұл мақалада сіз мәтін жолындағы нақты таңбаларды жою және бірден бірнеше ұяшықтан қажетсіз таңбаларды жою жолын үйренесіз.

Деректерді Excel бағдарламасына басқа жерден импорттаған кезде, көптеген арнайы таңбалар сіздің жұмыс парақтарыңызға баруы мүмкін. Одан да өкініштісі, кейбір таңбалардың көрінбейтіндігі, бұл мәтін жолының алдында, кейін немесе ішінде қосымша бос орын шығарады. Бұл оқулық деректер ұяшығы бойынша өту және қажетсіз таңбаларды қолмен тазарту сияқты қиындықтардан құтқара отырып, осы мәселелердің барлығын шешуді қамтамасыз етеді.

    Excel ұяшығынан арнайы таңбаны жою

    Ұяшықтан белгілі бір таңбаны жою үшін оны ең қарапайым түрде SUBSTITUTE функциясын пайдаланып бос жолға ауыстырыңыз:

    SUBSTITUTE( ұяшық, чар, "")

    Мысалы, A2-ден сұрақ белгісін жою үшін, B2-дегі формула:

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

    пернетақтада жоқ таңба болса, оны бастапқы ұяшықтағы формулаға көшіруге/қоюға болады.

    Мысалы, инверттелген сұрақ белгісін мына жерден алып тастауға болады:

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

    Бірақ қажетсіз таңба көрінбес болса немесе дұрыс көшірілмесе, оны формулаға қалай қоюға болады? Жай ғана CODE функциясын пайдаланып оның код нөмірін табыңыз.

    Біздің жағдайда қажетсіз таңба ("¿") A2 ұяшығында соңғы орында келеді, сондықтан біз комбинацияны қолданамыз.оның бірегей код мәнін алу үшін CODE және RIGHT функциялары, яғни 191:

    =CODE(RIGHT(A2))

    Таңбаның кодын алғаннан кейін, сәйкес CHAR-ға қызмет етіңіз. функцияны жоғарыдағы жалпы формулаға келтіріңіз. Біздің деректер жинағы үшін формула келесідей болады:

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

    Ескертпе. SUBSTITUTE функциясы регистрге сезімтал , яғни ол кіші және бас әріптерді әртүрлі таңбалар ретінде қарастырады. Қажет емес кейіпкеріңіз әріп болса, мұны есте сақтаңыз.

    Жолдан бірнеше таңбаны жою

    Алдыңғы мақалалардың бірінде біз Excel бағдарламасында бірнеше ОРЫН АСЫРУ функцияларын бір-біріне кірістіру арқылы жолдардан арнайы таңбаларды жою жолын қарастырдық. Дәл осындай тәсілді екі немесе одан да көп қажетсіз таңбаларды бір әрекетте жою үшін пайдалануға болады:

    SUBSTITUTE(SUBSTITUTE( ұяшық , char1 , ""), char2 , ""), char3 , "")

    Мысалы, A2 форматындағы мәтін жолындағы қалыпты леп пен сұрақ белгілерін, сондай-ақ төңкерілгендерді жою үшін мына формуланы пайдаланыңыз:

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

    Дәл солай CHAR функциясының көмегімен де жасауға болады, мұндағы 161 - «¡» символының коды және 191 «¿» символының коды:

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

    Кірістірілген SUBSTITUTE функциялары таңбалардың ақылға қонымды саны үшін жақсы жұмыс істейді, бірақ жою үшін ондаған таңбалар болса, формула тым ұзақ және басқару қиын болады. Келесі мысал a көрсетедіықшам және талғампаз шешім.

    Барлық қажетсіз таңбаларды бірден жойыңыз

    Шешім Microsoft 365 үшін Excel бағдарламасында ғана жұмыс істейді

    Сіз білетіндей, 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(жол, таңбалар)

    Мұндағы:

    • Жол - бастапқы жол немесе жолды қамтитын ұяшыққа/ауқымға сілтеме(( s).
    • Таңбалар - жойылатын таңбалар. Мәтін жолы немесе ұяшық сілтемесі арқылы ұсынылуы мүмкін.

    Ыңғайлы болу үшін біз кейбір ұяшыққа қажетсіз таңбаларды енгіземіз, айталық D2. Бұл таңбаларды A2 ішінен алып тастау үшін мына формула:

    =RemoveChars(A2, $D$2)

    Формуланың дұрыс жұмыс істеуі үшін келесі нәрселерге назар аударыңыз:

    • D2 ішінде. , таңбалар бос орындарды да жойғыңыз келмесе, бос орындарсыз тізімделеді.
    • Арнайы таңбаларды қамтитын ұяшықтың мекенжайы сілтемені өңдеу кезінде өзгеріске жол бермеу үшін $ белгісімен ($D$2) құлыпталады. формуланы төмендегі ұяшықтарға енгіземіз.

    Содан кейін формуланы жай ғана төмен сүйреп апарамыз және D2 тізімінде аталған барлық таңбалар A2 мен A6 ұяшықтарынан жойылады:

    Бір формуламен бірнеше ұяшықтарды тазалау үшін 1-аргумент үшін A2:A6 ауқымын беріңіз:

    =RemoveChars(A2:A6, D2)

    Формула тек ең жоғарғы ұяшықта енгізілгендіктен, ұяшық координаттарын құлыптау туралы алаңдамаудың қажеті жоқ - бұл жағдайда салыстырмалы сілтеме (D2) жақсы жұмыс істейді. Және динамикалық массивтерді қолдаудың арқасында формула барлық сілтеме жасалған ұяшықтарға автоматты түрде таралады:

    Алдын ала анықталған таңбалар жиынын жою

    Алдын ала анықталған жиынды жою үшін бірнеше ұяшықтардан таңбаларды жасауға боладынегізгі RemoveChars функциясын шақыратын және 2-ші параметрде қажет емес таңбаларды көрсететін басқа LAMBDA. Мысалы:

    арнайы таңбаларды жою үшін біз RemoveSpecialChars атты теңшелетін функцияны жасадық:

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

    Кімге Мәтін жолдарынан сандарды жою , біз Нөмірлерді жою деп аталатын тағы бір функция жасадық:

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

    Жоғарыда аталған екі функция да өте оңай олар тек бір аргументті талап ететіндіктен пайдалану үшін – бастапқы жол.

    A2-ден арнайы таңбаларды жою үшін формула:

    =RemoveSpecialChars(A2)

    Тек сандық таңбаларды жою үшін:

    =RemoveNumbers(A2)

    Бұл функция қалай жұмыс істейді:

    Негізінде, RemoveChars функциясы таңбалар тізімінде айналым жасайды және бір уақытта бір таңбаны жояды. Әрбір рекурсивті шақыру алдында IF функциясы қалған таңбаларды тексереді. таңбалар жолы бос болмаса (таңбалар""), функция өзін шақырады. Соңғы таңба өңделгеннен кейін, формула жол оның қазіргі пішінін қайтарады және шығады.

    Егжей-тегжейлі формуланы бөлу үшін қажет емес таңбаларды жою үшін рекурсивті LAMBDA бөлімін қараңыз.

    VBA көмегімен арнайы таңбаларды жою

    Функциялар Excel бағдарламасының барлық нұсқаларында жұмыс істейді

    Егер LAMBDA функциясы Excel бағдарламасында қол жетімді болмаса, сізге ештеңе кедергі болмайды. VBA көмегімен ұқсас функцияны жасаудан. Пайдаланушы анықтағанфункциясын (UDF) екі жолмен жазуға болады.

    Арнайы таңбаларды жоюға арналған теңшелетін функция рекурсивті :

    Бұл код жоғарыда талқыланған LAMBDA функциясының логикасын эмуляциялайды.

    Функция 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 Функциясы

    Арнайы таңбаларды жоюға арналған теңшелетін функция рекурсивті емес :

    Мұнда 1-ден бастап қажетсіз таңбаларды айналдырамыз. Len(таңбалар) және бастапқы жолда табылғандарды ештеңемен ауыстырыңыз. MID функциясы қажетсіз таңбаларды бір-бірлеп тартып, оларды Ауыстыру функциясына береді.

    Функция RemoveUnwantedChars(str As String , chars As String ) Index үшін = 1 To Len(chars) str = Replace(str, Mid(chars,) index, 1), "" ) Next RemoveUnwantedChars = str End Функция

    Жұмыс кітабыңызға VBA кодын Excel бағдарламасына қалай кірістіру керек бөлімінде түсіндірілгендей жоғарыдағы кодтардың бірін енгізіңіз және реттелетін функция пайдалануға дайын.

    Пайдаланушы анықтайтын жаңа функциямызды Lambda-анықталған функциямен шатастырмау үшін, біз оны басқаша атадық:

    RemoveUnwantedChars(string, chars)

    Бастапқы жол A2 форматында және қажет емес таңбалар D2 форматында болса, біз олардан мына формуланы пайдаланып құтыла аламыз:

    = RemoveUnwantedChars(A2, $D$2)

    Қатты кодталған теңшелетін функциятаңбалар

    Әр формула үшін арнайы таңбаларды беру туралы алаңдағыңыз келмесе, оларды тікелей кодта көрсетуге болады:

    Функция RemoveSpecialChars(str As String ) ретінде String Dim таңбалары ретінде String Dim индексі ретінде Ұзын таңбалар = "?¿!¡*%#$(){}[]^&/\~+-" Индекс үшін = 1 To Len(chars) str = Ауыстыру(str, Mid(таңбалар, индекс, 1) , "" ) Келесі RemoveSpecialChars = str Аяқтау функциясы

    Жоғарыдағы код көрсету мақсатында екенін есте сақтаңыз. Практикалық пайдалану үшін келесі жолға жойғыңыз келетін барлық таңбаларды қосуды ұмытпаңыз:

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

    Бұл реттелетін функция RemoveSpecialChars деп аталады және ол тек біреуін қажет етеді. аргумент – бастапқы жол:

    RemoveSpecialChars(жол)

    Деректер жиынынан арнайы таңбаларды алып тастау үшін формула:

    =RemoveSpecialChars(A2)

    Excel бағдарламасында басып шығарылмайтын таңбаларды жою

    Microsoft Excel бағдарламасында басып шығарылмайтын таңбаларды жою үшін арнайы функция бар - CLEAN функциясы. Техникалық тұрғыдан ол 7-биттік ASCII жинағындағы алғашқы 32 таңбаны ажыратады (0-ден 31-ге дейінгі кодтар).

    Мысалы, A2-ден басып шығарылмайтын таңбаларды жою үшін мына формуланы қолданамыз. :

    =CLEAN(A2)

    Бұл басып шығарылмайтын таңбаларды жояды, бірақ мәтіннің алдында/соңында және сөздер арасындағы бос орындар қалады.

    Кімге қосымша бос орындардан құтылыңыз, TRIM функциясына ТАЗАЛАУ формуласын ораңыз:

    =TRIM(CLEAN(A2))

    Енді, барлығы жетекші жәнекейінгі бос орындар жойылады, ал арасындағы бос орындар бір бос орын таңбасына дейін азаяды:

    Егер сіз ішіндегі барлық бос орындарды мүлдем жойғыңыз келсе жолды ашыңыз, содан кейін бос жол таңбасын (код нөмірі 32) қосымша бос жолға ауыстырыңыз:

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

    Кейбір бос орындар немесе басқа көрінбейтін таңбалар әлі де қалады сіздің жұмыс парағыңыз? Бұл Юникод таңбалар жиынында бұл таңбалардың әртүрлі мәндері бар дегенді білдіреді.

    Мысалы, үзілмейтін бос орын ( ) таңба коды 160 және оны мына формула арқылы тазартуға болады:

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

    арнайы басып шығарылмайтын таңбаны өшіру үшін алдымен оның код мәнін табу керек. Егжей-тегжейлі нұсқаулар мен формула мысалдары мына жерде: Арнайы басып шығарылмайтын таңбаны жою жолы.

    Ultimate Suite көмегімен арнайы таңбаларды жою

    Microsoft 365, Excel 2019 - 2010 үшін Excel бағдарламасын қолдайды.

    Осы соңғы мысалда Excel бағдарламасындағы арнайы таңбаларды жоюдың ең оңай жолын көрсетуге рұқсат етіңіздер. Ultimate Suite орнатылған кезде мынаны орындау керек:

    1. Ablebits Data қойындысындағы Мәтін тобында түймесін басыңыз. Жою > Таңбаларды жою .

  • Қондырма тақтасында бастапқы ауқымды таңдаңыз, Жою опциясын таңдаңыз. таңбалар жиынын және ашылмалы тізімнен қажетті опцияны таңдаңыз (осында Символдар және тыныс белгілері мысал).
  • Жою түймесін басыңыз.
  • Бір сәтте сіз тамаша нәтиже аласыз:

    Егер бірдеңе дұрыс болмаса, уайымдамаңыз - әдепкі бойынша Осы жұмыс парағының сақтық көшірмесін жасау өрісі таңдалғандықтан, жұмыс парағының сақтық көшірмесі автоматты түрде жасалады.

    Жою құралын қолданып көргіңіз келе ме? Бағалау нұсқасына сілтеме дәл төменде берілген. Оқығаныңыз үшін алғыс айтамын және келесі аптада блогымызда көреміз деп үміттенемін!

    Қолжетімді жүктеулер

    Арнайы таңбаларды жою - мысалдар (.xlsm файлы)

    Ultimate Suite - сынақ нұсқасы нұсқасы (.exe файлы)

    Майкл Браун - бағдарламалық құралдарды пайдалана отырып, күрделі процестерді жеңілдетуге құмарлығы бар арнайы технология әуесқойы. Технологиялық индустрияда он жылдан астам тәжірибесі бар ол Microsoft Excel және Outlook, сондай-ақ Google Sheets және Docs бағдарламаларында өз дағдыларын жетілдірді. Майклдың блогы өз білімі мен тәжірибесін басқалармен бөлісуге, өнімділік пен тиімділікті арттыруға арналған оңай орындалатын кеңестер мен оқулықтар беруге арналған. Сіз тәжірибелі кәсіпқой болсаңыз да, жаңадан бастаушы болсаңыз да, Майклдың блогы осы маңызды бағдарламалық құралдарды барынша пайдалану үшін құнды түсініктер мен практикалық кеңестер ұсынады.