VBA INDEX MATCH ផ្អែកលើលក្ខណៈវិនិច្ឆ័យច្រើនក្នុង Excel (3 វិធីសាស្រ្ត)

  • ចែករំលែកនេះ។
Hugh West

នៅពេលដែលយើងមានទិន្នន័យច្រើន ពេលខ្លះវាពិបាកក្នុងការទាញយកទិន្នន័យជាក់លាក់ណាមួយចេញពីសំណុំទិន្នន័យ។ រួមគ្នាជាមួយមុខងារ INDEX និង MATCH របស់ Excel អាចទាញយកទិន្នន័យគ្រប់ប្រភេទ សូម្បីតែនៅក្នុងសំណុំទិន្នន័យដ៏ធំក៏ដោយ។ ការអនុវត្ត VBA គឺជាវិធីសាស្ត្រដ៏មានប្រសិទ្ធភាព លឿនបំផុត និងសុវត្ថិភាពបំផុត ដើម្បីដំណើរការប្រតិបត្តិការណាមួយនៅក្នុង Excel។ នៅក្នុងអត្ថបទនេះ យើងនឹងបង្ហាញអ្នកនូវវិធីសាស្រ្ត 3 ផ្សេងគ្នាអំពីរបៀបអនុវត្ត INDEX MATCH ដោយផ្អែកលើលក្ខណៈវិនិច្ឆ័យជាច្រើន ក្នុង Excel ជាមួយ ម៉ាក្រូ VBA

ទាញយក Workbook

អ្នកអាចទាញយកសៀវភៅលំហាត់ Excel ដោយឥតគិតថ្លៃពីទីនេះ។

VBA INDEX MATCH ដោយផ្អែកលើលក្ខណៈវិនិច្ឆ័យច្រើន.xlsm

3 វិធីសាស្រ្តជាមួយ VBA INDEX MATCH ដោយផ្អែកលើលក្ខណៈវិនិច្ឆ័យច្រើនក្នុង Excel

នៅក្នុងផ្នែកខាងក្រោម យើងនឹងបង្ហាញអ្នកពីរបៀបអនុវត្ត INDEX MATCH ដោយផ្អែកលើលក្ខណៈវិនិច្ឆ័យជាច្រើនសម្រាប់ជួរមួយ , សម្រាប់ជម្រើសជាក់លាក់ និង សម្រាប់តារាង ក្នុង Excel ជាមួយ VBA

ខាងលើ យើងមានសំណុំទិន្នន័យដែលអត្ថបទនេះនឹងធ្វើតាម។ យើងមាន ឈ្មោះសិស្ស , លេខសម្គាល់សិស្ស, និង សញ្ញាប្រឡង របស់សិស្សម្នាក់ៗនៅក្នុងសំណុំទិន្នន័យ។ យើង​នឹង​ស្រង់​ចេញ​លទ្ធផល​ជាក់លាក់​មួយ​ដែល​ស្ថិត​នៅ​ក្នុង​ជួរ​ឈរ​មួយ​ដោយ​ផ្អែក​លើ​លក្ខខណ្ឌ​ពី​ជួរ​ឈរ​ពីរ​ផ្សេង​ទៀត។

លក្ខណៈ​វិនិច្ឆ័យ – 1៖ បង្កប់ VBA ជាមួយ​នឹង INDEX MATCH សម្រាប់​ការ​រក​មើល​វិមាត្រ​ច្រើន (ពីរ) ក្នុង Excel

ពិចារណារូបភាពខាងក្រោម។ យើងបានរក្សាទុកឈ្មោះសិស្សជាក់លាក់មួយ “ Edge” នៅក្នុង CellG4 ; ហើយជួរឈរដែលយើងនឹងស្វែងរក លទ្ធផល នៅក្នុង, Exam Marks ត្រូវបានរក្សាទុកក្នុង Cell G5 ។ យើងនឹងស្វែងរកនៅក្នុងជួរឈរ Exam Marks ហើយរក្សាទុក Marks ដែល “ Edge” មាននៅក្នុង Cell G6

ជំហានដើម្បីរកមើលលទ្ធផលនៅក្នុង អារេពីរវិមាត្រ ជាមួយ INDEX និង MATCH ក្នុង Excel ជាមួយ VBA ត្រូវបានផ្តល់ឱ្យខាងក្រោម។

ជំហាន៖

  • នៅក្នុងការចាប់ផ្តើម ចុច Alt + F11 នៅលើក្តារចុចរបស់អ្នក ឬចូលទៅកាន់ ផ្ទាំង អ្នកអភិវឌ្ឍន៍ -> Visual Basic ដើម្បីបើក Visual Basic Editor

  • បន្ទាប់ នៅក្នុងបង្អួចកូដលេចឡើង ពី របារម៉ឺនុយ ចុច បញ្ចូល -> ម៉ូឌុល

  • បន្ទាប់មក ចម្លង កូដខាងក្រោម ហើយ បិទភ្ជាប់ វាទៅក្នុងកូដ បង្អួច។
5124

ឥឡូវនេះ លេខកូដរបស់អ្នករួចរាល់ដើម្បីដំណើរការហើយ។

  • ឥឡូវនេះ ចុច F5 នៅលើរបស់អ្នក ក្តារចុច ឬពីរបារម៉ឺនុយជ្រើសរើស រត់ -> ដំណើរការទម្រង់រង/អ្នកប្រើប្រាស់ ។ អ្នកក៏អាចចុចលើ រូបតំណាងរត់តូច នៅក្នុងរបារម៉ឺនុយរង ដើម្បីដំណើរការម៉ាក្រូ។

បន្ទាប់ពីដំណើរការកូដរួច។ សូមមើល gif ខាងក្រោមដើម្បីមើលលទ្ធផល។

ជាលទ្ធផល Marks ដែល “ Edge” ទទួលបាននៅក្នុង ការប្រឡង 67 ត្រូវបានទាញយកមកវិញនៅក្នុង Cell G7

ការពន្យល់អំពីកូដ VBA

8487

កំណត់អថេរនៃសន្លឹកកិច្ចការ។

6858

រក្សាទុកឈ្មោះសន្លឹកកិច្ចការ។ ឈ្មោះនៃសន្លឹករបស់យើងគឺ "វិមាត្រពីរ" អ្នកគួរតែផ្តល់ឈ្មោះយោងទៅតាមសៀវភៅបញ្ជីរបស់អ្នក។

1495

បំណែកនៃកូដនេះជ្រើសរើសជួរ C5:D14 ជាជួររកមើល។ បន្ទាប់មកស្វែងរកការផ្គូផ្គងដែលត្រូវបានរក្សាទុកក្នុងក្រឡា G4 ក្នុងជួរ B5:B14 ហើយស្វែងរកការផ្គូផ្គងដែលត្រូវបានរក្សាទុកក្នុងក្រឡា G5 ក្នុងជួរ C4:D4 ហើយបញ្ជូនលទ្ធផលទៅក្រឡា G6

អានបន្ថែម៖ របៀបប្រើ INDEX MATCH ជាមួយនឹងលក្ខណៈវិនិច្ឆ័យច្រើនសម្រាប់ជួរកាលបរិច្ឆេទ

លក្ខណៈវិនិច្ឆ័យ – 2៖ អនុវត្តម៉ាក្រូដើម្បីស្វែងរកតម្លៃ MATCH ដោយ INDEX ជាមួយនឹងមុខងារកំណត់ដោយអ្នកប្រើប្រាស់ (UDF)

អ្នកអាចទាញយកតម្លៃដែលត្រូវគ្នាពីសំណុំទិន្នន័យដោយប្រើ មុខងារកំណត់ដោយអ្នកប្រើប្រាស់ (UDF) ។ ពីរូបភាពខាងក្រោម អ្វីដែលយើងនឹងធ្វើគឺ យើងនឹងប្រឡងជាប់ លេខសម្គាល់សិស្ស និង សញ្ញាប្រឡង របស់សិស្សជាក់លាក់ ហើយមុខងារនឹងបោះ ឈ្មោះ នៃសិស្សជាក់លាក់នោះ។

តោះមើលពីរបៀបដើម្បីសម្រេចបានវាសម្រាប់ ឈ្មោះសិស្ស “Finn” ជាមួយ VBA

ជំហាន៖

  • ដូចដែលបានបង្ហាញពីមុន បើក Visual Basic Editor ពីផ្ទាំង អ្នកអភិវឌ្ឍន៍ ហើយ បញ្ចូល a ម៉ូឌុល នៅក្នុងបង្អួចកូដ។
  • បន្ទាប់មក នៅក្នុងបង្អួចកូដ ចម្លង កូដខាងក្រោម ហើយ បិទភ្ជាប់ វា។
7728

  • កុំរត់ លេខកូដនេះ រក្សាទុក វា។
  • ឥឡូវនេះ ត្រឡប់ទៅសន្លឹកកិច្ចការ នៃចំណាប់អារម្មណ៍។ ជ្រើសរើសក្រឡាណាមួយ ដែលអ្នកចង់រក្សាទុកលទ្ធផល។ ក្នុងករណីរបស់យើង វាគឺជា Cell F5
  • នៅក្នុងក្រឡានោះ សរសេរ UDF អ្នកទើបតែបានបង្កើតនៅក្នុងកូដ ( MatchByIndex ) ហើយ ឆ្លងកាត់លេខសម្គាល់សិស្ស និងសញ្ញាប្រឡង របស់សិស្សជាក់លាក់នៅក្នុងវង់ក្រចកនៃអនុគមន៍។

ដូច យើងកំពុងព្យាយាមស្រង់ឈ្មោះ “ Finn” ចេញពី ID (105) និង Marks (84) របស់គាត់ ដូច្នេះសម្រាប់ករណីរបស់យើង រូបមន្តនឹងក្លាយទៅជា <3 =MatchByIndex(105,84)

  • បន្ទាប់មកចុច Enter

មើលរូបភាពខាងក្រោម។

នៅក្នុង Cell F5 យើងបានទាញយកឈ្មោះ “ Finn” ដោយជោគជ័យ ដោយគ្រាន់តែឆ្លងកាត់ ID និង Marks របស់គាត់នៅក្នុងមុខងារដែលយើងបានបង្កើតក្នុងកូដ VBA

ការពន្យល់កូដ VBA

8170

ការបង្កើតមុខងារថ្មី និងបញ្ជូនអថេរនៅខាងក្នុងវា។ អ្នកអាចកំណត់ឈ្មោះណាមួយចំពោះមុខងារ។

3817

ជួរដេករបស់យើងចាប់ផ្តើមពីលេខជួរទី 4។ អ្នកត្រូវតែផ្តល់លេខជួរដេកដែលសំណុំទិន្នន័យរបស់អ្នកចាប់ផ្តើមពី។

5827

ការកំណត់អថេរ។

8410

ដំបូង កំណត់សន្លឹកកិច្ចការដែលត្រូវធ្វើការជាមួយ។ ឈ្មោះនៃសន្លឹករបស់យើងគឺ "UDF" អ្នកគួរតែផ្តល់ឈ្មោះយោងទៅតាមសៀវភៅបញ្ជីរបស់អ្នក។ បន្ទាប់មកចាប់ផ្តើមស្វែងរកក្នុងជួរ C:D ពីជួរទីមួយដែលយើងបានកំណត់ទៅជួរចុងក្រោយ។

5352

ចាប់ផ្តើមធ្វើម្តងទៀតពីជួរទីមួយទៅជួរចុងក្រោយ។ ប្រសិនបើតម្លៃទីមួយដែលយើងនឹងឆ្លងកាត់នៅក្នុងអនុគមន៍ធ្លាក់នៅក្នុងជួរឈរ C ហើយប្រសិនបើតម្លៃទីពីរដែលយើងនឹងឆ្លងកាត់នៅក្នុងអនុគមន៍ធ្លាក់នៅក្នុងជួរឈរ D នោះវានឹងត្រលប់មកវិញ។ នេះ។ផ្គូផ្គងពីជួរឈរ B ។ បើមិនដូច្នេះទេ ចេញពីមុខងារ បញ្ចប់សេចក្តីថ្លែងការណ៍ទាំងអស់ ហើយទៅកាន់បន្ទាត់បន្ទាប់។

6809

ប្រសិនបើលក្ខខណ្ឌពីមុនមិនបានសម្រេចនៅពេលប្រតិបត្តិទេ នោះសារ "Data Not Found" នឹងត្រូវបានបញ្ជូនមកវិញ ហើយ កូដនឹងចាកចេញពីមុខងារ។

អានបន្ថែម៖ INDEX-MATCH ជាមួយលក្ខណៈវិនិច្ឆ័យច្រើនសម្រាប់អត្ថបទក្នុង Excel (2 វិធី)

លក្ខណៈវិនិច្ឆ័យ – 3៖ អនុវត្ត VBA ដើម្បីត្រឡប់តម្លៃ MATCH ពីតារាងដែលមានទិន្នន័យច្រើនក្នុង Excel

នៅក្នុងផ្នែកនេះ យើងនឹងរៀនពីរបៀប ត្រឡប់តម្លៃដែលត្រូវគ្នាដោយលិបិក្រមពីតារាង ក្នុង MsgBox ក្នុង VBA Excel។

តោះមើលពីរបៀបទាញយក Marks ពីតារាងដែលបង្ហាញក្នុងរបស់យើង សំណុំទិន្នន័យ ( T ឈ្មោះដែលអាច៖ TableMatch ) របស់សិស្សជាក់លាក់ដោយផ្តល់ ឈ្មោះ និង ID នៅខាងក្នុងកូដ។ សម្រាប់ករណីរបស់យើង ឈ្មោះ និង ID នឹងជា Finn និង 105 រៀងគ្នា។

ជំហាន :

  • ដំបូង បើក កម្មវិធីនិពន្ធ Visual Basic ពីផ្ទាំង Developer ហើយ Insert a Module នៅក្នុងបង្អួចកូដ។
  • បន្ទាប់មក ចម្លង កូដខាងក្រោម ហើយ បិទភ្ជាប់ វាទៅក្នុងបង្អួចកូដ។
5595

លេខកូដរបស់អ្នក ឥឡូវនេះរួចរាល់ដើម្បីដំណើរការហើយ។

  • នៅពេលក្រោយ រត់ កូដនេះ ហើយមើលរូបភាពខាងក្រោមដើម្បីមើលថាមានអ្វីកើតឡើងជាលទ្ធផល។

ដូចដែលអ្នកបានឃើញពីរូបភាពខាងលើ វាមាន Microsoft Excel លេចឡើង។ឡើងលើប្រអប់សារបង្ហាញអ្នកនូវ Marks: 84 នៃ ID: 105 និង Name: Finn ដែលយើងបានផ្តល់នៅក្នុងកូដ។

ការពន្យល់កូដ VBA

2105

ការកំណត់អថេរ។

8717

ការកំណត់ឈ្មោះសន្លឹក និងឈ្មោះតារាងនៅខាងក្នុងអថេរ។

1265

ការរក្សាទុក តម្លៃរកមើល និងជួរឈរស្វែងរកដែលត្រូវស្វែងរក។

6902

បំណែកនៃកូដនេះស្កែនចាប់ពីដើមរហូតដល់ចុងបញ្ចប់នៃអក្សររង ហើយប្រសិនបើវារកឃើញការផ្គូផ្គងនៃលេខសម្គាល់ដែលបានកំណត់ និងឈ្មោះនៅក្នុងជួរឈរស្វែងរកនោះ រក្សាទុកលទ្ធផល ហើយបិទរបាយការណ៍ទាំងអស់។ ផងដែរ ចេញពីការធ្វើម្តងទៀត ហើយទៅកាន់ផ្នែកបន្ទាប់នៃកូដ។

1828

បោះលទ្ធផលនៅក្នុង MsgBox។

អានបន្ថែម៖ រកមើល និងត្រឡប់ តម្លៃច្រើនដែលភ្ជាប់គ្នាជាក្រឡាតែមួយក្នុង Excel

សេចក្តីសន្និដ្ឋាន

ដើម្បីបញ្ចប់ អត្ថបទនេះបានបង្ហាញអ្នកនូវវិធីសាស្រ្ត 3 ផ្សេងគ្នាអំពីរបៀបអនុវត្ត INDEX MATCH ដោយផ្អែកលើ លើលក្ខណៈវិនិច្ឆ័យជាច្រើន ក្នុង Excel ជាមួយ ម៉ាក្រូ VBA ។ ខ្ញុំសង្ឃឹមថាអត្ថបទនេះមានប្រយោជន៍ច្រើនសម្រាប់អ្នក។ រីករាយក្នុងការសួរសំណួរណាមួយទាក់ទងនឹងប្រធានបទ។

Hugh West គឺជាគ្រូបណ្តុះបណ្តាល Excel ដែលមានបទពិសោធន៍ខ្ពស់ និងជាអ្នកវិភាគដែលមានបទពិសោធន៍ជាង 10 ឆ្នាំនៅក្នុងឧស្សាហកម្មនេះ។ លោកបានបញ្ចប់ថ្នាក់បរិញ្ញាបត្រផ្នែកគណនេយ្យ និងហិរញ្ញវត្ថុ និងបរិញ្ញាបត្រជាន់ខ្ពស់ផ្នែកគ្រប់គ្រងពាណិជ្ជកម្ម។ Hugh មានចំណង់ចំណូលចិត្តក្នុងការបង្រៀន ហើយបានបង្កើតវិធីសាស្រ្តបង្រៀនពិសេសមួយ ដែលងាយស្រួលធ្វើតាម និងយល់។ ចំណេះដឹងជំនាញ Excel របស់គាត់បានជួយសិស្សានុសិស្ស និងអ្នកជំនាញរាប់ពាន់នាក់នៅទូទាំងពិភពលោកបង្កើនជំនាញ និងពូកែក្នុងអាជីពរបស់ពួកគេ។ តាមរយៈប្លុករបស់គាត់ លោក Hugh ចែករំលែកចំណេះដឹងរបស់គាត់ជាមួយពិភពលោក ដោយផ្តល់ជូននូវការបង្រៀន Excel ដោយឥតគិតថ្លៃ និងការបណ្តុះបណ្តាលតាមអ៊ីនធឺណិត ដើម្បីជួយបុគ្គល និងអាជីវកម្មឈានដល់សក្តានុពលពេញលេញរបស់ពួកគេ។