តារាងមាតិកា
នៅក្នុងអត្ថបទពីរបីថ្មីៗនេះ យើងបានមើលវិធីផ្សេងគ្នាដើម្បីលុបតួអក្សរចេញពីខ្សែអក្សរក្នុង Excel ។ ថ្ងៃនេះ យើងនឹងស៊ើបអង្កេតករណីប្រើប្រាស់មួយបន្ថែមទៀត - របៀបលុបអ្វីៗទាំងអស់មុន ឬក្រោយតួអក្សរជាក់លាក់មួយ។
លុបអត្ថបទមុន ឬក្រោយ ឬរវាងតួអក្សរ 2 ដោយប្រើ Find & ជំនួស
សម្រាប់ការគ្រប់គ្រងទិន្នន័យក្នុងក្រឡាច្រើន ស្វែងរក និងជំនួសគឺជាឧបករណ៍ត្រឹមត្រូវ។ ដើម្បីលុបផ្នែកនៃខ្សែអក្សរមុន ឬតាមតួអក្សរជាក់លាក់ ទាំងនេះគឺជាជំហានដើម្បីអនុវត្ត៖
- ជ្រើសរើសក្រឡាទាំងអស់ដែលអ្នកចង់លុបអត្ថបទ។
- ចុច Ctrl + H ដើម្បីបើកប្រអប់ Find and Replace ។
- ក្នុងប្រអប់ Find what សូមបញ្ចូលបន្សំមួយក្នុងចំណោមបន្សំខាងក្រោម៖
- ដើម្បីលុបអត្ថបទ មុននឹងតួអក្សរដែលបានផ្តល់ឱ្យ សូមវាយតួអក្សរដែលនាំមុខដោយសញ្ញាផ្កាយ (*char)។
- ដើម្បីលុបអត្ថបទ បន្ទាប់ពីតួអក្សរជាក់លាក់មួយ វាយតួអក្សរដែលបន្តដោយសញ្ញាផ្កាយ (char ។ ជំនួស ដោយ ប្រអប់ទទេ។
- ចុច ជំនួសទាំងអស់ ។
ឧទាហរណ៍ ដើម្បីលុប អ្វីគ្រប់យ៉ាងបន្ទាប់ពីសញ្ញាក្បៀស រួមទាំងសញ្ញាក្បៀសខ្លួនឯង ដាក់សញ្ញាក្បៀស និងសញ្ញាផ្កាយ (,*) នៅក្នុងប្រអប់ ស្វែងរកអ្វី ហើយអ្នកនឹងទទួលបានលទ្ធផលដូចខាងក្រោម៖
ដើម្បីលុបខ្សែអក្សររង មុនសញ្ញាក្បៀស វាយសញ្ញាផ្កាយ សញ្ញាក្បៀសអ្វីគ្រប់យ៉ាងបន្ទាប់ពីសញ្ញាក្បៀសទី 1 ក្នុង A2 រូបមន្តក្នុង B2 គឺ៖
=RemoveText(A3, ", ", 1, TRUE)
ដើម្បីលុបអ្វីៗទាំងអស់មុនសញ្ញាក្បៀសទី 1 ក្នុង A2 រូបមន្តក្នុង C2 គឺ៖
=RemoveText(A3, ", ", 1, FALSE)
ចាប់តាំងពីមុខងារផ្ទាល់ខ្លួនរបស់យើងទទួលយក ខ្សែអក្សរសម្រាប់ឧបករណ៍កំណត់ព្រំដែន យើងបានដាក់សញ្ញាក្បៀស និងដកឃ្លា (", ") នៅក្នុងអាគុយម៉ង់ទី 2 ដើម្បីទុកចោលបញ្ហានៃការកាត់បន្ថយចន្លោះនាំមុខនៅពេលក្រោយ។
មុខងារផ្ទាល់ខ្លួនរបស់យើងដំណើរការយ៉ាងស្រស់ស្អាតមែនទេ? ប៉ុន្តែប្រសិនបើអ្នកគិតថាវាជាដំណោះស្រាយដ៏ទូលំទូលាយ អ្នកមិនទាន់បានឃើញឧទាហរណ៍បន្ទាប់នៅឡើយទេ :)
លុបអ្វីៗទាំងអស់មុន ឬក្រោយ ឬរវាងតួអក្សរ
ដើម្បីទទួលបានជម្រើសកាន់តែច្រើនសម្រាប់ការលុបតួអក្សរនីមួយៗ ឬ អត្ថបទពីក្រឡាច្រើន ដោយការផ្គូផ្គង ឬទីតាំង បន្ថែមឈុត Ultimate របស់យើងទៅក្នុងប្រអប់ឧបករណ៍ Excel របស់អ្នក។
នៅទីនេះ យើងនឹងពិនិត្យមើលឱ្យកាន់តែច្បាស់នៅមុខងារ ដកចេញដោយទីតាំង ដែលមានទីតាំងនៅលើ Ablebits Data tab > Text group > Remove ។
ខាងក្រោម យើងនឹងគ្របដណ្តប់ទាំងពីរ សេណារីយ៉ូទូទៅបំផុត។
លុបអ្វីៗទាំងអស់មុន ឬក្រោយអត្ថបទជាក់លាក់
ឧបមាថាខ្សែអក្សរប្រភពរបស់អ្នកទាំងអស់មានពាក្យ ឬអត្ថបទធម្មតា ហើយអ្នកចង់លុបអ្វីៗទាំងអស់មុន ឬក្រោយអត្ថបទនោះ។ ដើម្បីធ្វើវា សូមជ្រើសរើសទិន្នន័យប្រភពរបស់អ្នក ដំណើរការឧបករណ៍ Remove by Position ហើយកំណត់រចនាសម្ព័ន្ធវាដូចបានបង្ហាញខាងក្រោម៖
- ជ្រើសរើស តួអក្សរទាំងអស់មុនអត្ថបទ ឬ តួអក្សរទាំងអស់បន្ទាប់ពីអត្ថបទ ជម្រើស ហើយវាយអត្ថបទគន្លឹះ (ឬតួអក្សរ) ក្នុងប្រអប់បន្ទាប់ទៅវា។
- អាស្រ័យលើថាតើអក្សរធំ និងអក្សរតូចគួរតែត្រូវបានចាត់ទុកជាតួអក្សរផ្សេងគ្នា ឬដូចគ្នា សូមធីក ឬដោះធីកប្រអប់ ប្រកាន់អក្សរតូចធំ ។
- ចុច Remove ។
ក្នុងឧទាហរណ៍នេះ យើងកំពុងលុបតួអក្សរទាំងអស់ដែលនាំមុខពាក្យ "error" នៅក្នុងក្រឡា A2:A8:
ហើយទទួលបានលទ្ធផលពិតប្រាកដដែលយើងកំពុងស្វែងរក៖
លុបអត្ថបទរវាងតួអក្សរពីរ
ក្នុងស្ថានភាពនៅពេលដែលព័ត៌មានមិនពាក់ព័ន្ធស្ថិតនៅចន្លោះតួអក្សរជាក់លាក់ 2 នេះជារបៀប អ្នកអាចលុបវាបានយ៉ាងរហ័ស៖
- ជ្រើសរើស ដកខ្សែអក្សររងទាំងអស់ចេញ ហើយវាយតួអក្សរពីរក្នុងប្រអប់ខាងក្រោម។
- ប្រសិនបើតួអក្សរ "រវាង" គួរតែត្រូវបានយកចេញផងដែរ។ ធីកប្រអប់ រួមទាំងអ្នកកំណត់ព្រំដែន ។
- ចុច យកចេញ ។
ដូច ឧទាហរណ៍ យើងលុបអ្វីគ្រប់យ៉ាងរវាងតួអក្សរ tilde ពីរ (~) ហើយទទួលបានខ្សែអក្សរដែលបានសម្អាតយ៉ាងល្អឥតខ្ចោះជាលទ្ធផល៖
ដើម្បីសាកល្បងមុខងារមានប្រយោជន៍ផ្សេងទៀតដែលរួមបញ្ចូលជាមួយមុខងារពហុមុខងារនេះ ឧបករណ៍ ខ្ញុំលើកទឹកចិត្តឱ្យអ្នកទាញយក អ៊ី កំណែវាយតម្លៃនៅចុងបញ្ចប់នៃប្រកាសនេះ។ សូមអរគុណសម្រាប់ការអាន ហើយសង្ឃឹមថានឹងបានជួបអ្នកនៅលើប្លក់របស់យើងនៅសប្តាហ៍ក្រោយ!
ការទាញយកដែលមាន
លុបតួអក្សរដំបូង ឬចុងក្រោយ - ឧទាហរណ៍ (.xlsm file)
ឈុតចុងក្រោយ - កំណែសាកល្បង (ឯកសារ .exe)
និងដកឃ្លា (*, ) ក្នុងប្រអប់ ស្វែងរកអ្វី។សូមកត់សម្គាល់ថា យើងកំពុងជំនួសមិនត្រឹមតែសញ្ញាក្បៀសប៉ុណ្ណោះទេ ប៉ុន្តែ សញ្ញាក្បៀស និងដកឃ្លា ដើម្បីការពារការនាំមុខ ចន្លោះនៅក្នុងលទ្ធផល។ ប្រសិនបើទិន្នន័យរបស់អ្នកត្រូវបានបំបែកដោយសញ្ញាក្បៀសដោយគ្មានដកឃ្លា បន្ទាប់មកប្រើសញ្ញាផ្កាយដែលអមដោយសញ្ញាក្បៀស (*,)។
ដើម្បីលុបអត្ថបទ រវាងសញ្ញាក្បៀសពីរ ប្រើសញ្ញាផ្កាយដែលព័ទ្ធជុំវិញដោយសញ្ញាក្បៀស (,*,)។
គន្លឹះ។ ប្រសិនបើអ្នកចង់បានឈ្មោះ និងលេខទូរស័ព្ទដែលបំបែកដោយសញ្ញាក្បៀស បន្ទាប់មកវាយសញ្ញាក្បៀស (,) នៅក្នុងវាល ជំនួសដោយ ។
លុបផ្នែកនៃអត្ថបទដោយប្រើ Flash Fill
នៅក្នុងកំណែទំនើបនៃ Excel (2013 និងក្រោយ) មានវិធីងាយស្រួលមួយបន្ថែមទៀតដើម្បីលុបអត្ថបទដែលមុន ឬធ្វើតាមតួអក្សរជាក់លាក់មួយ - មុខងារ Flash Fill ។ នេះជារបៀបដែលវាដំណើរការ៖
- នៅក្នុងក្រឡាមួយនៅជាប់នឹងក្រឡាទីមួយដែលមានទិន្នន័យរបស់អ្នក វាយលទ្ធផលដែលរំពឹងទុក ហើយចុច Enter ។
- ចាប់ផ្តើមវាយបញ្ចូលតម្លៃសមស្របនៅក្នុងក្រឡាបន្ទាប់។ នៅពេលដែល Excel មានអារម្មណ៍ថាលំនាំនៅក្នុងតម្លៃដែលអ្នកកំពុងបញ្ចូល វានឹងបង្ហាញការមើលជាមុនសម្រាប់ក្រឡាដែលនៅសល់តាមលំនាំដូចគ្នា។
- ចុចគ្រាប់ចុចបញ្ចូលដើម្បីទទួលយកការផ្ដល់យោបល់។
រួចរាល់ហើយ!
លុបអត្ថបទដោយប្រើរូបមន្ត
នៅក្នុង Microsoft Excel ការរៀបចំទិន្នន័យជាច្រើនដែលធ្វើឡើងដោយប្រើមុខងារដែលមិនទាន់បានបង្កើតឡើងក៏អាចសម្រេចបានដោយប្រើរូបមន្តផងដែរ។ មិនដូចវិធីសាស្រ្តមុនទេ រូបមន្តមិនធ្វើការផ្លាស់ប្តូរណាមួយចំពោះទិន្នន័យដើម និងផ្តល់ឱ្យអ្នកនូវការគ្រប់គ្រងបន្ថែមទៀតលទ្ធផល។
របៀបលុបអ្វីៗទាំងអស់បន្ទាប់ពីតួអក្សរជាក់លាក់
ដើម្បីលុបអត្ថបទបន្ទាប់ពីតួអក្សរជាក់លាក់មួយ រូបមន្តទូទៅគឺ៖
LEFT( cell , ស្វែងរក (" char ", cell ) -1)នៅទីនេះ យើងប្រើមុខងារ SEARCH ដើម្បីទទួលបានទីតាំងរបស់តួអក្សរ ហើយបញ្ជូនវាទៅមុខងារខាងឆ្វេង ដូច្នេះវាស្រង់ចេញ ចំនួនតួអក្សរដែលត្រូវគ្នាពីការចាប់ផ្តើមនៃខ្សែអក្សរ។ តួអក្សរមួយត្រូវបានដកចេញពីលេខដែលត្រឡប់ដោយ SEARCH ដើម្បីដកអ្នកកំណត់ពីលទ្ធផល។
ឧទាហរណ៍ ដើម្បីលុបផ្នែកនៃខ្សែអក្សរបន្ទាប់ពីសញ្ញាក្បៀស អ្នកបញ្ចូលរូបមន្តខាងក្រោមក្នុង B2 ហើយអូសវាចុះក្រោមតាមរយៈ B7 :
=LEFT(A2, SEARCH(",", A2) -1)
របៀបលុបអ្វីៗទាំងអស់នៅពីមុខតួអក្សរជាក់លាក់
ដើម្បីលុបផ្នែកនៃខ្សែអក្សរនៅពីមុខតួអក្សរជាក់លាក់មួយ រូបមន្តទូទៅគឺ៖
RIGHT( cell , LEN( cell ) - SEARCH(" char ", cell ))នៅទីនេះ យើងគណនាទីតាំងនៃតួអក្សរគោលដៅម្តងទៀត ដោយមានជំនួយពី SEARCH ដកវាចេញពីប្រវែងខ្សែសរុបដែលត្រឡប់ដោយ LEN ហើយបញ្ជូនភាពខុសគ្នាទៅអនុគមន៍ស្តាំ ដូច្នេះវាទាញតួអក្សរជាច្រើនចេញពីចុងបញ្ចប់នៃ string។
ឧទាហរណ៍ ដើម្បីលុបអត្ថបទមុនសញ្ញាក្បៀស រូបមន្តគឺ៖
=RIGHT(A2, LEN(A2) - SEARCH(",", A2))
ក្នុងករណីរបស់យើង សញ្ញាក្បៀសត្រូវបានបន្តដោយតួអក្សរដកឃ្លា។ ដើម្បីជៀសវាងចន្លោះនាំមុខនៅក្នុងលទ្ធផល យើងរុំរូបមន្តស្នូលនៅក្នុងមុខងារ TRIM៖
=TRIM(RIGHT(A2, LEN(A2) - SEARCH(",", A2)))
ចំណាំ៖
- ទាំងពីរនៃឧទាហរណ៍ខាងលើសន្មត់ថាមាន ឧទាហរណ៍មួយ នៃអ្នកកំណត់ព្រំដែននៅក្នុងខ្សែអក្សរដើម។ ប្រសិនបើមានការកើតឡើងច្រើន អត្ថបទនឹងត្រូវបានយកចេញមុន/ក្រោយ first instance ។
- មុខងារ SEARCH គឺ មិនប្រកាន់អក្សរតូចធំទេ មានន័យថាវាមិនខុសគ្នារវាង អក្សរតូច និងអក្សរធំ។ ប្រសិនបើតួអក្សរជាក់លាក់របស់អ្នកជាអក្សរ ហើយអ្នកចង់បែងចែកករណីអក្សរនោះ សូមប្រើមុខងារ case-sensitive FIND ជំនួសឱ្យ SEARCH។
របៀបលុបអត្ថបទបន្ទាប់ពីការកើតឡើង Nth នៃតួអក្សរ
នៅក្នុងស្ថានភាពនៅពេលដែលខ្សែអក្សរប្រភពមានឧទាហរណ៍ជាច្រើននៃអ្នកកំណត់ព្រំដែន អ្នកអាចមានតម្រូវការដើម្បីលុបអត្ថបទបន្ទាប់ពីឧទាហរណ៍ជាក់លាក់មួយ។ ចំពោះបញ្ហានេះ សូមប្រើរូបមន្តខាងក្រោម៖
LEFT( cell , FIND("#", SUBSTITUTE( cell , " char ", "#" , n ))) -1)កន្លែងដែល n គឺជាការកើតឡើងរបស់តួអក្សរបន្ទាប់ពីនោះដើម្បីលុបអត្ថបទ។
តក្កវិជ្ជាខាងក្នុងនៃរូបមន្តនេះតម្រូវឱ្យប្រើតួអក្សរមួយចំនួន ដែលមិនមានវត្តមាននៅកន្លែងណាមួយនៅក្នុងទិន្នន័យប្រភព ដែលជានិមិត្តសញ្ញាសញ្ញា (#) នៅក្នុងករណីរបស់យើង។ ប្រសិនបើតួអក្សរនេះកើតឡើងនៅក្នុងសំណុំទិន្នន័យរបស់អ្នក បន្ទាប់មកប្រើអ្វីផ្សេងទៀតជំនួសឱ្យ "#" ។
ឧទាហរណ៍ ដើម្បីលុបអ្វីៗទាំងអស់បន្ទាប់ពីសញ្ញាក្បៀសទី 2 នៅក្នុង A2 (និងសញ្ញាក្បៀសខ្លួនឯង) រូបមន្តគឺ:
=LEFT(A2, FIND("#", SUBSTITUTE(A2, ",", "#", 2)) -1)
របៀបដែលរូបមន្តនេះដំណើរការ៖
ផ្នែកសំខាន់នៃរូបមន្តគឺមុខងារ FIND ដែលគណនា ទីតាំងនៃទីសញ្ញាកំណត់ (ក្បៀសក្នុងករណីរបស់យើង) ។ នេះជារបៀប៖
យើងជំនួសសញ្ញាក្បៀសទី 2 ក្នុង A2 ដោយនិមិត្តសញ្ញាសញ្ញា (ឬតួអក្សរផ្សេងទៀតដែលមិនមាននៅក្នុងទិន្នន័យរបស់អ្នក) ដោយមានជំនួយពី SUBSTITUTE៖
SUBSTITUTE(A2, ",", "#", 2)
ខ្សែអក្សរលទ្ធផលទៅអាគុយម៉ង់ទី 2 នៃ FIND ដូច្នេះវារកឃើញទីតាំងនៃ "#" នៅក្នុងខ្សែអក្សរនោះ៖
FIND("#", "Emma, Design# (102) 123-4568")
FIND ប្រាប់យើងថា "#" គឺជាតួអក្សរទី 13 នៅក្នុងខ្សែអក្សរ។ ដើម្បីដឹងពីចំនួនតួអក្សរមុន វាគ្រាន់តែដក 1 ហើយអ្នកនឹងទទួលបាន 12 ជាលទ្ធផល៖
FIND("#", SUBSTITUTE(A2, ",", "#", 2)) - 1
លេខនេះទៅដោយផ្ទាល់ទៅអាគុយម៉ង់ num_chars of LEFT សុំឱ្យវាទាញតួអក្សរ 12 ដំបូងពី A2:
=LEFT(A2, 12)
នោះហើយជាវា!
របៀបលុបអត្ថបទមុនពេល Nth កើតឡើងនៃតួអក្សរ
រូបមន្តទូទៅដើម្បីលុបខ្សែអក្សររងមុនតួអក្សរជាក់លាក់មួយគឺ៖
RIGHT(SUBSTITUTE( cell , " char ", "#", n ), LEN( cell ) - FIND("#", SUBSTITUTE( cell , " char ", "#", n )) -1)ឧទាហរណ៍ ដើម្បីលុបអត្ថបទមុនសញ្ញាក្បៀសទី 2 ក្នុង A2 រូបមន្តគឺ៖
=RIGHT(SUBSTITUTE(A2, ",", "#", 2), LEN(A2) - FIND("#", SUBSTITUTE(A2, ",", "#", 2)) -1)
ដើម្បីលុបចន្លោះនាំមុខ យើងប្រើ TRIM ម្តងទៀត មុខងារជារុំ៖
=TRIM(RIGHT(SUBSTITUTE(A2, ",", "#", 2), LEN(A2) - FIND("#", SUBSTITUTE(A2, ",", "#", 2))))
របៀបដែលរូបមន្តនេះដំណើរការ៖
សរុបមក យើងរកឃើញ តើមានតួអក្សរប៉ុន្មានបន្ទាប់ពីសញ្ញាកំណត់ទី n ហើយដកខ្សែអក្សររងនៃប្រវែងដែលត្រូវគ្នាពីខាងស្តាំ។ ខាងក្រោមនេះជារូបមន្តបំបែក៖
ដំបូង យើងជំនួសសញ្ញាក្បៀសទី 2 ក្នុង A2 ដោយសញ្ញាសញ្ញានិមិត្តសញ្ញា៖
SUBSTITUTE(A2, ",", "#", 2)
ខ្សែអក្សរលទ្ធផលទៅអាគុយម៉ង់ text នៃសិទ្ធិ៖
RIGHT("Emma, Design# (102) 123-4568", …
បន្ទាប់ យើងត្រូវ កំណត់ចំនួនតួអក្សរដើម្បីស្រង់ចេញពីចុងខ្សែអក្សរ។ ចំពោះបញ្ហានេះ យើងរកឃើញទីតាំងនៃនិមិត្តសញ្ញា hash នៅក្នុងខ្សែអក្សរខាងលើ (ដែលស្មើនឹង 13):
FIND("#", SUBSTITUTE(A2, ",", "#", 2))
ហើយដកវាចេញពីប្រវែងសរុប (ដែលស្មើនឹង 28):
LEN(A2) - FIND("#", SUBSTITUTE(A2, ",", "#", 2))
ភាពខុសគ្នា (15) ទៅកាន់អាគុយម៉ង់ទីពីរនៃ RIGHT ដែលណែនាំវាឱ្យទាញតួអក្សរ 15 ចុងក្រោយពីខ្សែអក្សរនៅក្នុងអាគុយម៉ង់ទីមួយ៖
RIGHT("Emma, Design# (102) 123-4568", 15)
លទ្ធផលគឺជាខ្សែអក្សររង " (102) 123-4568" ដែលនៅជិតនឹងលទ្ធផលដែលចង់បាន លើកលែងតែចន្លោះនាំមុខ។ ដូច្នេះ យើងប្រើមុខងារ TRIM ដើម្បីកម្ចាត់វា។
របៀបលុបអត្ថបទបន្ទាប់ពីការកើតឡើងចុងក្រោយនៃតួអក្សរ
ក្នុងករណីដែលតម្លៃរបស់អ្នកត្រូវបានបំបែកដោយចំនួនអថេរនៃការកំណត់ព្រំដែន អ្នក អាចនឹងចង់លុបអ្វីគ្រប់យ៉ាងបន្ទាប់ពីឧទាហរណ៍ចុងក្រោយនៃការកំណត់ព្រំដែននោះ។ នេះអាចត្រូវបានធ្វើដោយប្រើរូបមន្តខាងក្រោម៖
LEFT( cell , FIND("#", SUBSTITUTE( cell , " char ", "# ", LEN( cell ) - LEN(SUBSTITUTE( cell , " char ", ""))))) -1)ឧបមាថាជួរឈរ A មានព័ត៌មានផ្សេងៗអំពីបុគ្គលិក ប៉ុន្តែតម្លៃបន្ទាប់ពីសញ្ញាក្បៀសចុងក្រោយគឺតែងតែជាលេខទូរស័ព្ទ។ គោលដៅរបស់អ្នកគឺដើម្បីលុបលេខទូរស័ព្ទ និងរក្សាព័ត៌មានលម្អិតផ្សេងទៀត។
ដើម្បីសម្រេចបាននូវគោលដៅ អ្នកអាចលុបអត្ថបទបន្ទាប់ពីសញ្ញាក្បៀសចុងក្រោយនៅក្នុង A2 ជាមួយវារូបមន្ត៖
=LEFT(A2, FIND("#", SUBSTITUTE(A2, ",", "#", LEN(A2) - LEN(SUBSTITUTE(A2, ",","")))) -1)
ចម្លងរូបមន្តចុះក្រោម នោះអ្នកនឹងទទួលបានលទ្ធផលនេះ៖
របៀបនេះ រូបមន្តដំណើរការ៖
ខ្លឹមសារនៃរូបមន្តគឺយើងកំណត់ទីតាំងនៃសញ្ញាកំណត់ចុងក្រោយ (សញ្ញាក្បៀស) ក្នុងខ្សែអក្សរ ហើយទាញខ្សែអក្សររងពីឆ្វេងឡើងលើទៅសញ្ញាកំណត់។ ការទទួលបានទីតាំងរបស់ឧបករណ៍កំណត់ព្រំដែនគឺជាផ្នែកដ៏លំបាកបំផុត ហើយនេះជារបៀបដែលយើងដោះស្រាយវា៖
ដំបូង យើងស្វែងយល់ថាតើមានក្បៀសចំនួនប៉ុន្មាននៅក្នុងខ្សែអក្សរដើម។ ចំពោះបញ្ហានេះ យើងជំនួសសញ្ញាក្បៀសនីមួយៗដោយគ្មានអ្វីសោះ ("") ហើយបម្រើខ្សែអក្សរលទ្ធផលទៅមុខងារ LEN៖
LEN(SUBSTITUTE(A2, ",",""))
សម្រាប់ A2 លទ្ធផលគឺ 35 ដែលជាចំនួនតួអក្សរ ក្នុង A2 ដោយគ្មានសញ្ញាក្បៀស។
ដកលេខខាងលើចេញពីប្រវែងសរុប (38 តួអក្សរ)៖
LEN(A2) - LEN(SUBSTITUTE(A2, ",",""))
… ហើយអ្នកនឹងទទួលបាន 3 ដែលជាចំនួនសរុប នៃសញ្ញាក្បៀសក្នុង A2 (និងជាលេខធម្មតានៃសញ្ញាក្បៀសចុងក្រោយ)។
បន្ទាប់ អ្នកប្រើបន្សំដែលធ្លាប់ស្គាល់រួចហើយនៃមុខងារ FIND និង SUBSTITUTE ដើម្បីទទួលបានទីតាំងនៃសញ្ញាក្បៀសចុងក្រោយនៅក្នុងខ្សែអក្សរ។ លេខឧទាហរណ៍ (សញ្ញាក្បៀសទី 3 ក្នុងករណីរបស់យើង) ត្រូវបានផ្តល់ដោយរូបមន្តជំនួស LEN ដែលបានរៀបរាប់ខាងលើ៖
FIND("#", SUBSTITUTE(A2, ",", "#", 3))
វាបង្ហាញថាសញ្ញាក្បៀសទី 3 គឺជាតួអក្សរទី 23 នៅក្នុង A2 មានន័យថាយើងត្រូវការ ដើម្បីស្រង់ចេញ 22 តួអក្សរមុនវា។ ដូច្នេះ យើងដាក់រូបមន្តខាងលើដក 1 ក្នុងអាគុយម៉ង់ num_chars នៃ LEFT:
LEFT(A2, 23-1)
របៀបលុបអត្ថបទមុនពេលការកើតឡើងចុងក្រោយនៃតួអក្សរ
ដើម្បីលុបអ្វីគ្រប់យ៉ាងមុននឹងឧទាហរណ៍ចុងក្រោយនៃតួអក្សរជាក់លាក់ រូបមន្តទូទៅគឺ៖
RIGHT( cell , LEN( cell ) - FIND("#", SUBSTITUTE( cell , " char ", "#", LEN( cell ) - LEN(SUBSTITUTE( cell , " char ) " , "")))))នៅក្នុងតារាងគំរូរបស់យើង ដើម្បីលុបអត្ថបទមុនសញ្ញាក្បៀសចុងក្រោយ រូបមន្តប្រើទម្រង់នេះ៖
=RIGHT(A2, LEN(A2) - FIND("#", SUBSTITUTE(A2, ",", "#", LEN(A2) - LEN(SUBSTITUTE(A2, ",","")))))
ជាការបញ្ចប់ ពួកយើង បញ្ចូលវាទៅក្នុងមុខងារ TRIM ដើម្បីលុបបំបាត់ចន្លោះនាំមុខ៖
=TRIM(RIGHT(A2, LEN(A2) - FIND("#", SUBSTITUTE(A2, ",", "#", LEN(A2) - LEN(SUBSTITUTE(A2, ",",""))))))
របៀបដែលរូបមន្តនេះដំណើរការ៖
សរុបមក យើងទទួលបានទីតាំងនៃសញ្ញាក្បៀសចុងក្រោយ ដូចដែលបានពន្យល់ក្នុងឧទាហរណ៍មុន ហើយដកវាចេញពីប្រវែងសរុបនៃខ្សែអក្សរ៖
LEN(A2) - FIND("#", SUBSTITUTE(A2, ",", "#", LEN(A2) - LEN(SUBSTITUTE(A2, ",",""))))
ជាលទ្ធផល យើងទទួលបានចំនួន តួអក្សរបន្ទាប់ពីសញ្ញាក្បៀសចុងក្រោយ ហើយបញ្ជូនវាទៅអនុគមន៍ស្តាំ ដូច្នេះវានាំតួអក្សរជាច្រើនពីចុងបញ្ចប់នៃខ្សែអក្សរ។
មុខងារផ្ទាល់ខ្លួនដើម្បីលុបអត្ថបទនៅផ្នែកម្ខាងនៃតួអក្សរ
ដូច អ្នកបានឃើញនៅក្នុងឧទាហរណ៍ខាងលើ អ្នកអាចដោះស្រាយករណីប្រើប្រាស់ស្ទើរតែទាំងអស់ដោយប្រើកម្មវិធី Excel ដើម f unctions នៅក្នុងបន្សំផ្សេងគ្នា។ បញ្ហាគឺថាអ្នកត្រូវចងចាំនូវរូបមន្តដ៏ពិបាកមួយក្តាប់តូច។ ហ៎ ចុះបើយើងសរសេរមុខងារផ្ទាល់ខ្លួនរបស់យើង ដើម្បីគ្របដណ្តប់គ្រប់សេណារីយ៉ូ? ស្តាប់ទៅដូចជាគំនិតល្អ។ ដូច្នេះ បន្ថែមកូដ VBA ខាងក្រោមទៅសៀវភៅការងាររបស់អ្នក (ជំហានលម្អិតដើម្បីបញ្ចូល VBA ក្នុង Excel មាននៅទីនេះ)៖
Function RemoveText(str As String , delimiter As String , happenrence As Integer , is_after AsBoolean ) Dim delimiter_num, start_num, delimiter_len As Integer Dim str_result As String delimiter_num = 0 start_num = 1 str_result = "" delimiter_len = Len(delimiter) For i = 1 To happenrence delimiter_num, T. < delimiter_num បន្ទាប់មក start_num = delimiter_num + delimiter_len បញ្ចប់ ប្រសិនបើបន្ទាប់ i ប្រសិនបើ 0 < delimiter_num បន្ទាប់មក ប្រសិនបើ True = is_after បន្ទាប់មក str_result = Mid(str, 1, start_num - delimiter_len - 1) Else str_result = Mid(str, start_num) End If End If RemoveText = str_result End Functionមុខងាររបស់យើងមានឈ្មោះ RemoveText ហើយវាមានវាក្យសម្ព័ន្ធដូចខាងក្រោម៖
RemoveText(string, delimiter, happenrence, is_after)Where:
String - គឺជាខ្សែអក្សរដើម។ អាចត្រូវបានតំណាងដោយសេចក្តីយោងក្រឡា។
អ្នកកំណត់ព្រំដែន - តួអក្សរមុន/បន្ទាប់ដែលត្រូវលុបអត្ថបទ។
ការកើតឡើង - ឧទាហរណ៍នៃ អ្នកកំណត់ព្រំដែន។
Is_after - តម្លៃ Boolean ដែលបង្ហាញពីផ្នែកណាមួយនៃអ្នកកំណត់ព្រំដែនដើម្បីលុបអត្ថបទ។ អាចជាតួអក្សរតែមួយ ឬជាលំដាប់នៃតួអក្សរ។
- TRUE - លុបអ្វីៗទាំងអស់បន្ទាប់ពីអ្នកកំណត់ព្រំដែន (រួមទាំងអ្នកកំណត់ព្រំដែនខ្លួនវា)។
- FALSE - លុបអ្វីគ្រប់យ៉ាងមុនពេលកំណត់ (រួមទាំង កំណត់ព្រំដែនដោយខ្លួនវាផ្ទាល់)។
នៅពេលដែលលេខកូដមុខងារត្រូវបានបញ្ចូលក្នុងសៀវភៅការងាររបស់អ្នក អ្នកអាចដកខ្សែអក្សររងចេញពីក្រឡាដោយប្រើរូបមន្តបង្រួម និងឆើតឆាយ។
ឧទាហរណ៍ ដើម្បីលុប