Ինչպես հեռացնել կրկնօրինակները Excel-ի բջիջում

  • Կիսվել Սա
Michael Brown

Excel-ի բջիջում կրկնօրինակները գտնելու և ջնջելու երեք եղանակ կա: Պարզապես ընտրեք մեկը, որն ամենալավն է ձեզ համար:

Երբ խոսքը վերաբերում է կրկնօրինակ արժեքների կամ տողերի հեռացմանը, Microsoft Excel-ն առաջարկում է տարբեր տարբերակների զանգված: Բայց երբ խոսքը վերաբերում է տվյալ բջիջում նույնական տեքստը հեռացնելուն, Excel-ը ոչինչ չի տալիս: Ոչ գործիքներ, ոչ առանձնահատկություններ, ոչ բանաձևեր, ոչ ոչինչ: Արդյո՞ք դա կխանգարի մեզ հասնել մեր նպատակին: Ոչ մի դեպքում։ Եթե ​​Excel-ը չունի մեզ անհրաժեշտ ֆունկցիան, արի գնանք գրել մերը :)

    Ինչպես հեռացնել կրկնվող բառերը Excel բջիջից

    Խնդիր : Դուք ունեք նույն բառերը կամ տեքստային տողերը բջջում և ցանկանում եք հեռացնել երկրորդը և բոլոր հաջորդ կրկնությունները:

    Լուծում . օգտագործողի կողմից սահմանված գործառույթ կամ VBA մակրո:

    Օգտատիրոջ կողմից սահմանված ֆունկցիա՝ բջջի ներսում կրկնօրինակները հեռացնելու համար

    Բջջում կրկնվող տեքստը վերացնելու համար կարող եք օգտագործել օգտվողի կողմից սահմանված հետևյալ գործառույթը (UDF) , անունով RemoveDupeWords :

    Function RemoveDupeWords(տեքստը որպես տող , կամընտիր սահմանազատիչ As String = " " ) As String Dim բառարան As Object Dim x, part Set dictionary = CreateObject ( "Scripting.Dictionary" ) բառարան .CompareMode = vbTextCompare Յուրաքանչյուր x In Split(text, delimiter) part = Trim(x) If part "" And Not dictionary.Exists(part) Ապա բառարան.Ավելացնել մաս, Nothing End If Next If dictionary.Count > 0 Ապա RemoveDupeWords = Join(dictionary.keys,սահմանազատող) Else RemoveDupeWords = "" End If Set dictionary = Nothing End Function

    Ինչպես տեղադրել ֆունկցիայի կոդը Ձեր աշխատանքային գրքում

    Վերոնշյալ կոդը Ձեր Excel-ում ավելացնելու համար սա է այն, ինչ դուք պետք է անեք.

    1. Սեղմեք Alt + F11՝ Visual Basic խմբագրիչը բացելու համար:
    2. Ձախ վահանակում սեղմեք աջը This Workbook և ընտրեք Տեղադրել > Մոդուլ :
    3. Տեղադրեք վերը նշված կոդը Code պատուհանում:

    Լրացուցիչ տեղեկությունների համար տե՛ս Ինչպես տեղադրել VBA կոդը Excel-ում:

    RemoveDupeWords ֆունկցիայի շարահյուսություն

    Մեր նորաստեղծ ֆունկցիան՝ բջիջում կրկնօրինակ տեքստը հեռացնելու համար, ունի հետևյալ շարահյուսությունը.

    RemoveDupeWords(տեքստ, [սահմանազատող])

    Որտեղ :

    • Text (պարտադիր) - տող կամ բջիջ, որտեղից ցանկանում եք ջնջել կրկնվող տեքստը:
    • Delimiter (ըստ ցանկության) - սահմանազատիչը, որով բաժանվում է կրկնվող տեքստը: Եթե ​​բաց թողնված է, ապա սահմանազատողի համար օգտագործվում է բացատ:

    Ֆունկցիան մեծատառ զգայուն չէ , ինչը նշանակում է, որ փոքրատառերը և մեծատառերը դիտարկվում են որպես նույն նիշերը:

    Ինչպես օգտագործել RemoveDupeWords ֆունկցիան

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

    Պարզապես սկսեք մուտքագրել ֆունկցիայի անունը հավասար նշանից հետո, և այն կհայտնվի intellisense բանաձեւում: Կրկնակի սեղմեք ֆունկցիայի վրա, և դուք կունենաք այնտեղադրված է խցում: Սահմանեք արգումենտները, մուտքագրեք փակման փակագիծը, սեղմեք Enter և ձեր բանաձևը ավարտված է:

    Օրինակ՝ ջնջելու համար A2-ից ստորակետով և բացատով բաժանված կրկնօրինակ բառերը, մուտքագրեք ստորև բերված բանաձևը B2-ում և այնուհետև քաշեք այն ներքև այնքան բջիջներով, որքան անհրաժեշտ է.

    =RemoveDupeWords(A2, ", ")

    Արդյունքում դուք կունենաք եզակի բառերի կամ ենթատողերի ցանկ, որոնք առանձնացված են ստորակետ և բացատ :

    Եթե նախընտրում եք ստորակետերով բաժանված ցուցակ ստանալ, ապա սահմանազատողի համար օգտագործեք միայն ստորակետ :

    =RemoveDupeWords(A2, ",")

    Եթե ձեր աղբյուրի տվյալները բաժանված են բացատով , ապա երկրորդ արգումենտը պետք է լինի « » կամ բաց թողնվի. 3>

    =RemoveDupeWords(A2)

    Ինչպես ցանկացած այլ Excel ֆունկցիա, մեր UDF-ն ինքնաբերաբար վերահաշվարկվում է, երբ աղբյուրի տվյալները փոխվում են, այնպես որ ձեր արդյունքները միշտ թարմացված կլինեն:

    VBA մակրո՝ մի քանի բջիջներից միանգամից կրկնվող տեքստը ջնջելու համար

    Եթե ցանկանում եք միանգամից հեռացնել մի քանի բջիջներից կրկնվող տեքստը, ապա կարող եք զանգահարել RemoveDupeWords ֆունկցիան։ մ մակրոյի ներսում: Այս դեպքում սահմանազատիչը կոշտ կոդավորված է, և դուք ստիպված կլինեք թարմացնել մակրոյի կոդը ամեն անգամ, երբ սահմանազատիչը փոխվում է: Որպես այլընտրանք, դուք կարող եք գրել կոդերի մի քանի տատանումներ ամենատարածված սահմանազատիչների համար, օրինակ՝ բացատ, ստորակետ կամ ստորակետ և բացատ, և ձեր մակրոներին տալ իմաստալից անուններ, օրինակ. RemoveDupesDelimSpace :

    Մակրոյի կոդը հետևյալն է.

    Public Sub RemoveDupeWords2() Dim cell As Range For Every cell In Application.Selection cell.Value = RemoveDupeWords(cell.Value, ", " ) Next End Sub

    Վերոհիշյալ կոդում բաժանարարը ստորակետ է և տարածություն . Այլ սահմանազատիչ օգտագործելու համար «,»-ը փոխարինեք մեկ այլ նիշ(ներ)ով այս կոդի տողում՝

    cell.Value = RemoveDupeWords(cell.Value, ", ")

    Նշում. Որպեսզի մակրոն աշխատի, դրա կոդը և RemoveDupeWords ֆունկցիայի կոդը պետք է տեղադրվեն նույն մոդուլի վրա:

    Ինչպես օգտագործել մակրո

    Մտցրեք մակրոյի կոդը ձեր սեփական աշխատանքային գրքում կամ բացեք մեր աշխատանքային գրքույկի նմուշը կոդով, այնուհետև կատարեք հետևյալ քայլերը մակրո գործարկելու համար:

    1. Ընտրեք մի շարք բջիջներ, որոնցից ցանկանում եք հեռացնել կրկնվող տեքստը:
    2. Սեղմեք Alt + F8՝ Macro երկխոսության տուփը բացելու համար:
    3. Մակրոների ցանկում, ընտրեք RemoveDupeWords2 ։
    4. Սեղմեք Գործարկել ։

    Լրացուցիչ մանրամասների համար տե՛ս Ինչպես անել գործարկել մակրո Excel-ում:

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

    Ինչպես հեռացնել կրկնօրինակ նիշերը բջիջից

    Խնդիր . Դուք նույն նիշի մի քանի երևույթներ ունեք մի բջիջում, մինչդեռ յուրաքանչյուրըբջիջը պետք է պարունակի տվյալ նիշի միայն մեկ դեպք:

    Լուծում . օգտագործողի կողմից սահմանված գործառույթ կամ VBA մակրո:

    Օգտվողի կողմից սահմանված գործառույթը` կրկնվող նիշերը ջնջելու համար

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

    Function RemoveDupeChars(text As String) Որպես String Dim բառարան Որպես Object Dim char Որպես String Dim արդյունք Որպես String Set բառարան = CreateObject ( "Scripting.Dictionary" ) For i = 1 To Len(text) char = Mid(text, i, 1): ) Եթե Not dictionary.Exists(char) Ապա բառարան.Ավելացնել char, Nothing result = արդյունք & char Ավարտ Եթե Հաջորդը RemoveDupeChars = արդյունք Սահմանել բառարան = Ոչինչ ավարտի ֆունկցիա

    Ֆունկցիայի կոդը ձեր աշխատանքային գրքում տեղադրելու համար քայլերը ճիշտ նույնն են, ինչ նախորդ օրինակում:

    RemoveDupeChars ֆունկցիայի շարահյուսությունը

    Այս հատուկ ֆունկցիայի շարահյուսությունը այնքան պարզ է, որքան հնարավոր է, պահանջվում է միայն մեկ արգումենտ.

    RemoveDupeChars(տեքստ)

    Որտեղ տեքստը տող կամ բջիջ է, որտեղից ցանկանում եք: կրկնօրինակ նիշերը հեռացնելու համար:

    Ֆունկցիան մեծատառ զգայուն է և փոքրատառ և մեծատառերը վերաբերվում է որպես տարբեր նիշերի:

    Ինչպես օգտագործել RemoveDupeChars ֆունկցիան

    Այն ամենը, ինչ մենք ասացինք RemoveDupeWords-ի օգտագործման մասին, ճիշտ է RemoveDupeChars -ի համար: Այսպիսով, առանց գնալուչափազանց շատ տեսության մեջ, եկեք անմիջապես անցնենք օրինակին:

    A սյունակից A2-ով սկսվող կրկնօրինակ նիշերը ջնջելու համար մուտքագրեք այս բանաձևը B2-ում և պատճենեք այն.

    =RemoveDupeChars(A2)

    Ինչպես տեսնում եք ստորև նկարում, ֆունկցիան հաջողությամբ կառավարում է տարբեր նիշերի տեսակները, ներառյալ տառերը, թվերը և հատուկ նշանները.

    Խորհուրդ: Եթե ​​ձեր նիշերն իրարից բաժանված են ինչ-որ սահմանազատիչով , օրինակ` բացատ, ստորակետ կամ գծիկ, ապա օգտագործեք RemoveDupeWords ֆունկցիան, ինչպես ցույց է տրված նախորդ օրինակում:

    VBA մակրո՝ նույն նիշերը բջիջից հեռացնելու համար

    Ինչպես RemoveDupeWords , RemoveDupeChars ֆունկցիան նույնպես կարող է կանչվել մակրոյից՝

    Public Ենթա RemoveDupeChars2() խամրած բջիջը որպես Application.Selection cell.Value = RemoveDupeChars(cell.Value) հաջորդ վերջը որպես ընդգրկույթ յուրաքանչյուր բջիջի համար: կոդը։

    Նշում. Որպեսզի մակրոն աշխատի, դրա ծածկագիրը և RemoveDupeChars UDF կոդը պետք է տեղադրվեն VBA խմբագրիչի նույն մոդուլի վրա:

    Ինչպես օգտագործել մակրո

    Ենթադրենք, որ դուք արդեն տեղադրել եք մակրոյի կոդը ձեր աշխատանքային գրքում կամ բացել եք կոդը պարունակող մեր աշխատանքային գրքույկի նմուշը, գործարկեք մակրոն այս կերպ:

    1. Ընտրեք մի շարք բջիջներ, որոնցից ցանկանում եք հեռացնել կրկնվող նիշերը:
    2. Սեղմեք Alt + F8՝ Macro երկխոսությունը բացելու համար:վանդակում։
    3. Մակրոների ցանկում ընտրեք RemoveDupeChars2 ։
    4. Սեղմեք Գործարկել ։

    Հեռացնել կրկնօրինակ ենթատողերը Ultimate Suite-ի միջոցով

    Այս ձեռնարկի սկզբում նշվեց, որ Microsoft Excel-ը չունի ներկառուցված հատկություն բջջի ներսում կրկնօրինակները հեռացնելու համար: Բայց մեր Ultimate Suite-ը դա անում է:

    Դուք այն կարող եք գտնել Duplicate Remover բացվող ընտրացանկում Ablebits Data ներդիրում, Dedupe<2:> խումբ. Եթե ​​ Remove Duplicate Substrings տարբերակը չի հայտնվում ձեր Excel-ում, համոզվեք, որ տեղադրված եք Ultimate Suite-ի վերջին տարբերակը (անվճար փորձաշրջանը կարող եք ներբեռնել այստեղից):

    Բազմաթիվ բջիջներից կրկնվող բառերը կամ տեքստը 5 վայրկյանում հեռացնելու համար (քայլը մեկ վայրկյան :), սա այն է, ինչ դուք պետք է անեք.

    1. Ընտրեք ձեր աղբյուրի տվյալները և գործարկեք Հեռացնել Կրկնվող ենթատողերը գործիքը:
    2. Նշեք սահմանազատիչը :
    3. Սահմանեք, թե արդյոք անընդմեջ սահմանազատիչները դիտարկել որպես մեկ (կանխադրված):
    4. Ընտրեք, թե արդյոք կատարվի մեծատառերի զգայուն կամ տառատեսակների նկատմամբ զգայուն որոնում:
    5. Սեղմեք Հեռացնել :

    Կատարված է: VBA-ի կամ բանաձևերի հետ շփոթություն չկա, պարզապես արագ և ճշգրիտ արդյունքներ:

    Այս հիանալի հավելման մասին ավելին իմանալու համար այցելեք նրա գլխավոր էջը: Կամ ավելի լավ, ներբեռնեք ստորև ներկայացված գնահատման տարբերակը և փորձեք այն:

    Ահա թե ինչպես կարելի է հեռացնել կրկնօրինակ տեքստը բջիջում:Շնորհակալ եմ կարդալու համար և հուսով եմ, որ հաջորդ շաբաթ կտեսնենք ձեզ մեր բլոգում:

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

    Բջջում կրկնօրինակները հեռացնելու օրինակներ (.xlsm ֆայլ)

    Ultimate Suite 14 -օրվա լիարժեք ֆունկցիոնալ տարբերակ (.exe ֆայլ)

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