តារាងមាតិកា
មានវិធីបីយ៉ាងក្នុងការស្វែងរក និងលុបការស្ទួននៅក្នុងក្រឡាក្នុង Excel ។ គ្រាន់តែជ្រើសរើសមួយណាដែលដំណើរការល្អបំផុតសម្រាប់អ្នក។
នៅពេលដែលវាទាក់ទងនឹងការដកតម្លៃស្ទួន ឬជួរដេក Microsoft Excel ផ្តល់នូវជម្រើសផ្សេងៗជាច្រើន។ ប៉ុន្តែនៅពេលនិយាយអំពីការលុបអត្ថបទដូចគ្នានៅក្នុងក្រឡាដែលបានផ្តល់ឱ្យ Excel ផ្តល់ ... គ្មានអ្វីសោះ។ គ្មានឧបករណ៍ គ្មានលក្ខណៈពិសេស គ្មានរូបមន្ត គ្មានអ្វីទាំងអស់។ តើវានឹងរារាំងយើងពីការសម្រេចគោលដៅរបស់យើងទេ? ក្នុងករណីណាទេ។ ប្រសិនបើ Excel មិនមានមុខងារដែលយើងត្រូវការទេ ចូរយើងទៅសរសេរដោយខ្លួនឯង :)
របៀបលុបពាក្យដដែលៗនៅក្នុងកោសិកា Excel
បញ្ហា : អ្នកមានពាក្យដដែលៗ ឬខ្សែអក្សរក្នុងក្រឡា ហើយចង់លុបពាក្យដដែលៗទីពីរ និងជាបន្តបន្ទាប់ទាំងអស់។
ដំណោះស្រាយ ៖ មុខងារកំណត់ដោយអ្នកប្រើប្រាស់ផ្ទាល់ខ្លួន ឬម៉ាក្រូ VBA។
មុខងារកំណត់ដោយអ្នកប្រើប្រាស់ដើម្បីលុបស្ទួនក្នុងក្រឡា
ដើម្បីលុបអត្ថបទស្ទួនក្នុងក្រឡា អ្នកអាចប្រើមុខងារកំណត់ដោយអ្នកប្រើប្រាស់ខាងក្រោម (UDF) ដែលមានឈ្មោះថា RemoveDupeWords :
Function RemoveDupeWords(text As String, Optional delimiter As String = " " ) As String Dim dictionary As Object Dim x, part Set dictionary = CreateObject ( "Scripting.Dictionary") វចនានុក្រម .CompareMode = vbTextCompare សម្រាប់រាល់ x ក្នុង Split(text, delimiter) part = Trim(x) If part "" And Not dictionary.Exists(part) បន្ទាប់មក dictionary.Add part, Nothing End ប្រសិនបើ Next If dictionary.Count > 0 បន្ទាប់មក RemoveDupeWords = Join(dictionary.keys,delimiter) Else RemoveDupeWords = "" End If Set Dictionary = Nothing End Functionរបៀបបញ្ចូលកូដមុខងារនៅក្នុងសៀវភៅការងាររបស់អ្នក
ដើម្បីបន្ថែមកូដខាងលើទៅក្នុង Excel របស់អ្នក នេះជាអ្វីដែលអ្នកត្រូវធ្វើ៖
- ចុច Alt + F11 ដើម្បីបើក Visual Basic Editor។
- នៅលើផ្ទាំងខាងឆ្វេង ចុចខាងស្តាំ សៀវភៅការងារនេះ ហើយជ្រើសរើស បញ្ចូល > ម៉ូឌុល ។
- បិទភ្ជាប់កូដខាងលើនៅក្នុងបង្អួច កូដ ។
សម្រាប់ព័ត៌មានបន្ថែម សូមមើល របៀបបញ្ចូល VBA កូដក្នុង Excel។
វាក្យសម្ព័ន្ធមុខងារ RemoveDupeWords
មុខងារដែលបានបង្កើតថ្មីរបស់យើងសម្រាប់ការលុបអត្ថបទស្ទួននៅក្នុងក្រឡាមានវាក្យសម្ព័ន្ធដូចខាងក្រោម៖
RemoveDupeWords(អត្ថបទ [កំណត់ព្រំដែន])កន្លែងណា :
- អត្ថបទ (ទាមទារ) - ខ្សែអក្សរ ឬក្រឡាដែលអ្នកចង់លុបអត្ថបទដដែលៗ។
- អ្នកកំណត់ព្រំដែន (ជាជម្រើស) - កំណត់ព្រំដែនដែលអត្ថបទដដែលៗត្រូវបានបំបែកដោយ។ ប្រសិនបើបានលុបចោល ចន្លោះមួយត្រូវបានប្រើសម្រាប់អ្នកកំណត់។
មុខងារគឺ មិនប្រកាន់អក្សរតូចធំទេ ដែលមានន័យថាអក្សរតូច និងអក្សរធំត្រូវបានចាត់ទុកជាតួអក្សរដូចគ្នា។
របៀបប្រើមុខងារ RemoveDupeWords
នៅពេលដែលលេខកូដរបស់មុខងារត្រូវបានបន្ថែមទៅសៀវភៅការងាររបស់អ្នក អ្នកអាចប្រើវាក្នុងរូបមន្តរបស់អ្នកតាមរបៀបដូចគ្នានឹងអ្នកប្រើមុខងារដែលភ្ជាប់មកជាមួយរបស់ Excel។
គ្រាន់តែចាប់ផ្តើមវាយឈ្មោះរបស់អនុគមន៍បន្ទាប់ពីសញ្ញាស្មើ ហើយវានឹងបង្ហាញក្នុងរូបមន្ត intellisense ។ ចុចពីរដងលើមុខងារ នោះអ្នកនឹងមានវា។បញ្ចូលក្នុងក្រឡាមួយ។ កំណត់អាគុយម៉ង់ វាយបិទវង់ក្រចក ចុច Enter ហើយរូបមន្តរបស់អ្នកត្រូវបានបញ្ចប់។
ឧទាហរណ៍ ដើម្បីលុបពាក្យស្ទួនដែលបំបែកដោយសញ្ញាក្បៀស និងដកឃ្លាពី A2។ បញ្ចូលរូបមន្តខាងក្រោមក្នុង B2 ហើយបន្ទាប់មកអូសវាចុះក្រោមតាមក្រឡាជាច្រើនតាមតម្រូវការ៖
=RemoveDupeWords(A2, ", ")
ជាលទ្ធផល អ្នកនឹងមានបញ្ជីពាក្យពិសេស ឬខ្សែអក្សររងដែលបំបែកដោយ សញ្ញាក្បៀស និងដកឃ្លា :
ប្រសិនបើអ្នកចង់ទទួលបានបញ្ជីដែលបំបែកដោយសញ្ញាក្បៀស នោះសូមប្រើ តែសញ្ញាក្បៀស សម្រាប់ការកំណត់ព្រំដែន :
=RemoveDupeWords(A2, ",")
ប្រសិនបើទិន្នន័យប្រភពរបស់អ្នកត្រូវបានបំបែកដោយ ដកឃ្លា អាគុយម៉ង់ទីពីរគួរតែជា " " ឬលុបចោល៖
=RemoveDupeWords(A2)
ដូចមុខងារ Excel ផ្សេងទៀត UDF របស់យើងគណនាឡើងវិញដោយស្វ័យប្រវត្តិនៅពេលដែលទិន្នន័យប្រភពផ្លាស់ប្តូរ ដូច្នេះលទ្ធផលរបស់អ្នកនឹងទាន់សម័យជានិច្ច។
ម៉ាក្រូ VBA ដើម្បីលុបអត្ថបទស្ទួនពីក្រឡាច្រើនក្នុងពេលតែមួយ
ប្រសិនបើអ្នកកំពុងស្វែងរកការលុបអត្ថបទដដែលៗចេញពីក្រឡាច្រើនក្នុងពេលតែមួយ នោះអ្នកអាចហៅមុខងារ RemoveDupeWords ពី m ក្នុងម៉ាក្រូ។ ក្នុងករណីនេះ សញ្ញាព្រំដែនត្រូវបាន hardcoded ហើយអ្នកនឹងត្រូវអាប់ដេតកូដរបស់ម៉ាក្រូរាល់ពេលដែលអ្នកកំណត់ព្រំដែនផ្លាស់ប្តូរ។ ម៉្យាងទៀត អ្នកអាចសរសេរបំរែបំរួលកូដមួយចំនួនសម្រាប់ការកំណត់ព្រំដែនទូទៅបំផុត និយាយថា ដកឃ្លា សញ្ញាក្បៀស ឬសញ្ញាក្បៀស និងដកឃ្លា និងផ្តល់ឈ្មោះដ៏មានន័យម៉ាក្រូរបស់អ្នក ឧ. RemoveDupesDelimSpace ។
កូដរបស់ម៉ាក្រូមានដូចខាងក្រោម៖
Public Sub RemoveDupeWords2() Dim cell as Range សម្រាប់ក្រឡានីមួយៗនៅក្នុង Application.Selection cell.Value = RemoveDupeWords(cell.Value, ", ") Next End Subនៅក្នុងកូដខាងលើ សញ្ញាកំណត់គឺជាសញ្ញា និង ចន្លោះ ។ ដើម្បីប្រើសញ្ញាកំណត់ផ្សេងគ្នា ជំនួស ", " ជាមួយនឹងតួអក្សរផ្សេងទៀតនៅក្នុងបន្ទាត់កូដនេះ៖
cell.Value = RemoveDupeWords(cell.Value, ", ")
ចំណាំ។ ដើម្បីឱ្យម៉ាក្រូដំណើរការ កូដរបស់វា និងកូដមុខងារ RemoveDupeWords ត្រូវតែដាក់លើម៉ូឌុលដូចគ្នា។
របៀបប្រើម៉ាក្រូ
បញ្ចូលកូដរបស់ម៉ាក្រូនៅក្នុងសៀវភៅការងារផ្ទាល់ខ្លួនរបស់អ្នក ឬបើកសៀវភៅការងារគំរូរបស់យើងជាមួយនឹងកូដ ហើយបន្ទាប់មកអនុវត្តជំហានខាងក្រោមដើម្បីដំណើរការម៉ាក្រូ។
- ជ្រើសរើសជួរក្រឡាដែលអ្នកចង់លុបអត្ថបទដដែលៗ។
- ចុច Alt + F8 ដើម្បីបើកប្រអប់ ម៉ាក្រូ ។
- នៅក្នុងបញ្ជីម៉ាក្រូ ជ្រើសរើស RemoveDupeWords2 ។
- ចុច Run ។
សម្រាប់ព័ត៌មានលម្អិត សូមមើលរបៀប ដំណើរការម៉ាក្រូក្នុង Excel។
ចំណាំ។ ដោយសារសកម្មភាពរបស់ម៉ាក្រូ មិនអាចត្រឡប់វិញបាន យើងសូមណែនាំយ៉ាងមុតមាំឱ្យរក្សាទុកសៀវភៅការងាររបស់អ្នកមុនពេលប្រើម៉ាក្រូ។ វិធីនេះ ប្រសិនបើមានអ្វីមួយខុសប្រក្រតី អ្នកអាចបិទ និងបើកសៀវភៅការងារឡើងវិញ ហើយអ្នកនឹងត្រលប់ទៅកន្លែងដែលអ្នកនៅពិតប្រាកដ។ ឬអ្នកគ្រាន់តែអាចធ្វើច្បាប់ចម្លងនៃសន្លឹកកិច្ចការដែលអាចត្រូវបានប៉ះពាល់ដោយម៉ាក្រូ។
របៀបលុបតួអក្សរស្ទួននៅក្នុងក្រឡា
បញ្ហា ៖ អ្នកមានការកើតឡើងច្រើននៃតួអក្សរដូចគ្នានៅក្នុងក្រឡាមួយ ខណៈពេលដែលនីមួយៗក្រឡាគួរតែមានការកើតឡើងតែមួយនៃតួអក្សរដែលបានផ្តល់ឱ្យ។
ដំណោះស្រាយ ៖ មុខងារកំណត់ដោយអ្នកប្រើប្រាស់ផ្ទាល់ខ្លួន ឬម៉ាក្រូ VBA។
មុខងារកំណត់ដោយអ្នកប្រើប្រាស់ដើម្បីលុបតួអក្សរដដែលៗ
ដើម្បីលុបតួអក្សរស្ទួននៅក្នុងក្រឡាដែលរក្សាទុកតែការកើតឡើងដំបូង អ្នកអាចប្រើមុខងារកំណត់ដោយអ្នកប្រើប្រាស់ខាងក្រោមដែលមានឈ្មោះថា RemoveDupeChars :
អនុគមន៍ RemoveDupeChars(text As String) ជា String Dim dictionary As Object Dim char As String Dim result As String Set dictionary = CreateObject ( "Scripting.Dictionary") សម្រាប់ i = 1 To Len(text) char = Mid(text, i, 1 ) ប្រសិនបើ Not dictionary.Exists(char) បន្ទាប់មក dictionary.Add char, Nothing result = លទ្ធផល & char End ប្រសិនបើ Next RemoveDupeChars = លទ្ធផល កំណត់វចនានុក្រម = គ្មានមុខងារបញ្ចប់ដើម្បីបញ្ចូលកូដមុខងារទៅក្នុងសៀវភៅការងាររបស់អ្នក ជំហានគឺដូចគ្នាទៅនឹងឧទាហរណ៍ពីមុន។
វាក្យសម្ព័ន្ធមុខងារ RemoveDupeChars
វាក្យសម្ព័ន្ធនៃមុខងារផ្ទាល់ខ្លួននេះគឺសាមញ្ញដូចដែលវាអាចមាន - មានតែអាគុយម៉ង់មួយប៉ុណ្ណោះដែលត្រូវបានទាមទារ៖
RemoveDupeChars(អត្ថបទ)កន្លែងដែល អត្ថបទ គឺជាខ្សែអក្សរ ឬក្រឡាដែលអ្នកចង់បាន ដើម្បីលុបតួអក្សរស្ទួនចេញ។
មុខងារនេះគឺ ប្រកាន់អក្សរតូចធំ ហើយចាត់ទុកអក្សរតូច និងអក្សរធំជាតួអក្សរផ្សេងគ្នា។
របៀបប្រើមុខងារ RemoveDupeChars
អ្វីគ្រប់យ៉ាងដែលយើងបាននិយាយអំពីការប្រើ RemoveDupeWords គឺជាការពិតសម្រាប់ RemoveDupeChars ។ ដូច្នេះដោយមិនទៅទ្រឹស្តីច្រើនពេក សូមមើលឧទាហរណ៍ដោយផ្ទាល់។
ដើម្បីលុបតួអក្សរស្ទួនពីជួរ A ចាប់ផ្តើមក្នុង A2 សូមបញ្ចូលរូបមន្តនេះក្នុង B2 ហើយចម្លងវាចុះក្រោម៖
=RemoveDupeChars(A2)
ដូចដែលអ្នកបានឃើញក្នុងរូបភាពខាងក្រោម មុខងារនេះគ្រប់គ្រងដោយជោគជ័យនូវប្រភេទតួអក្សរផ្សេងៗគ្នា រួមទាំងអក្សរ លេខ និងនិមិត្តសញ្ញាពិសេស៖
គន្លឹះ។ ប្រសិនបើតួអក្សររបស់អ្នកត្រូវបានបំបែកចេញពីគ្នាទៅវិញទៅមកដោយ អ្នកកំណត់ ដូចជាដកឃ្លា សញ្ញាក្បៀស ឬសហសញ្ញា បន្ទាប់មកប្រើមុខងារ RemoveDupeWords ដូចដែលបានបង្ហាញក្នុងឧទាហរណ៍មុន។
ម៉ាក្រូ VBA ដើម្បីលុបតួអក្សរដូចគ្នាចេញពីក្រឡា
ដូចនឹង RemoveDupeWords មុខងារ RemoveDupeChars ក៏អាចហៅចេញពីក្នុងម៉ាក្រូ៖
សាធារណៈ Sub RemoveDupeChars2() Dim cell As Range សម្រាប់ក្រឡានីមួយៗនៅក្នុង Application.Selection cell.Value = RemoveDupeChars(cell.Value) Next End Subដោយសារតែ UDF នេះមិនប្រើការកំណត់ព្រំដែនណាមួយទេ អ្នកនឹងមិនចាំបាច់ធ្វើការកែតម្រូវណាមួយនៅក្នុង លេខកូដ។
ចំណាំ។ ដើម្បីឱ្យម៉ាក្រូដំណើរការ កូដរបស់វា និងកូដរបស់ RemoveDupeChars UDF ត្រូវតែដាក់នៅលើម៉ូឌុលដូចគ្នានៅក្នុងកម្មវិធីនិពន្ធ VBA ។
របៀបប្រើម៉ាក្រូ
ដោយសន្មត់ថាអ្នកបានបញ្ចូលកូដម៉ាក្រូនៅក្នុងសៀវភៅការងាររបស់អ្នករួចហើយ ឬបើកសៀវភៅការងារគំរូរបស់យើងដែលមានលេខកូដ សូមបើកដំណើរការម៉ាក្រូតាមវិធីនេះ។
- ជ្រើសរើសជួរក្រឡាដែលអ្នកចង់លុបតួអក្សរដដែលៗ។
- ចុច Alt + F8 ដើម្បីបើកប្រអប់ ម៉ាក្រូ ប្រអប់។
- នៅក្នុងបញ្ជីម៉ាក្រូ សូមជ្រើសរើស RemoveDupeChars2 ។
- ចុច រត់ ។
លុបខ្សែរងដែលស្ទួនជាមួយ Ultimate Suite
នៅដើមមេរៀននេះ វាត្រូវបានលើកឡើងថា Microsoft Excel មិនមានលក្ខណៈពិសេសសម្រាប់លុបស្ទួននៅក្នុងក្រឡាទេ។ ប៉ុន្តែ Ultimate Suite របស់យើងធ្វើបាន!
អ្នកអាចស្វែងរកវានៅក្នុងម៉ឺនុយទម្លាក់ចុះ Duplicate Remover នៅលើផ្ទាំង Ablebits Data នៅក្នុង Dedupe ក្រុម។ ប្រសិនបើជម្រើស យកខ្សែរងរងដែលស្ទួនចេញ មិនបង្ហាញនៅក្នុង Excel របស់អ្នក ត្រូវប្រាកដថាអ្នកបានដំឡើងកំណែចុងក្រោយបំផុតនៃ Ultimate Suite (ការសាកល្បងឥតគិតថ្លៃអាចទាញយកបាននៅទីនេះ)។
ដើម្បីលុបពាក្យដដែលៗ ឬអត្ថបទចេញពីក្រឡាច្រើនក្នុងរយៈពេល 5 វិនាទី (មួយវិនាទីក្នុងមួយជំហាន :) នេះជាអ្វីដែលអ្នកត្រូវធ្វើ៖
- ជ្រើសរើសទិន្នន័យប្រភពរបស់អ្នក ហើយបើកដំណើរការ លុបខ្សែអក្សររងដែលស្ទួន ឧបករណ៍។
- បញ្ជាក់ អ្នកកំណត់ព្រំដែន ។
- កំណត់ថាតើត្រូវចាត់ចែង អ្នកកំណត់ព្រំដែនជាប់គ្នា ជាមួយ (លំនាំដើម)។
- ជ្រើសរើសថាតើត្រូវធ្វើការស្វែងរក case-sensitive ឬ case-insensitive ។
- ចុច Remove ។
រួចរាល់! មិនមានភាពច្របូកច្របល់ជាមួយ VBA ឬរូបមន្តទេ គ្រាន់តែជាលទ្ធផលរហ័ស និងត្រឹមត្រូវប៉ុណ្ណោះ។
ដើម្បីស្វែងយល់បន្ថែមអំពីកម្មវិធីបន្ថែមដ៏អស្ចារ្យនេះ សូមចូលទៅកាន់ទំព័រដើមរបស់វា។ ឬប្រសើរជាងនេះ ទាញយកកំណែវាយតម្លៃខាងក្រោម ហើយសាកល្បងវា!
នោះជារបៀបលុបអត្ថបទស្ទួននៅក្នុងក្រឡាមួយ។ខ្ញុំសូមអរគុណចំពោះការអាន ហើយសង្ឃឹមថានឹងបានជួបអ្នកនៅលើប្លក់របស់យើងនៅសប្តាហ៍ក្រោយ!
ការទាញយកដែលមាន
ឧទាហរណ៍ដើម្បីលុបស្ទួននៅក្នុងក្រឡា (ឯកសារ .xlsm)
ឈុតចុងក្រោយ 14 -day កំណែដែលមានមុខងារពេញលេញ (ឯកសារ .exe)