តារាងមាតិកា
ការបង្រៀនបង្ហាញពីរបៀបប្រើមុខងារ VLOOKUP ដើម្បីចម្លងទិន្នន័យពីសន្លឹកកិច្ចការ ឬសៀវភៅការងារផ្សេងទៀត Vlookup ក្នុងសន្លឹកច្រើន ហើយរកមើលថាមវន្តដើម្បីត្រឡប់តម្លៃពីសន្លឹកផ្សេងៗគ្នាទៅក្នុងក្រឡាផ្សេងៗ។
នៅពេលរកមើលព័ត៌មានមួយចំនួននៅក្នុង Excel វាជាករណីដ៏កម្រនៅពេលដែលទិន្នន័យទាំងអស់ស្ថិតនៅលើសន្លឹកតែមួយ។ កាន់តែញឹកញាប់ អ្នកនឹងត្រូវស្វែងរកនៅលើសន្លឹកច្រើន ឬសូម្បីតែសៀវភៅការងារផ្សេងៗគ្នា។ ដំណឹងល្អគឺថា Microsoft Excel ផ្តល់នូវវិធីច្រើនជាងមួយដើម្បីធ្វើរឿងនេះ ហើយព័ត៌មានអាក្រក់គឺថាវិធីទាំងអស់មានភាពស្មុគស្មាញជាងរូបមន្ត VLOOKUP ស្តង់ដារបន្តិច។ ប៉ុន្តែដោយមានការអត់ធ្មត់បន្តិច យើងនឹងដោះស្រាយវាចេញ :)
របៀប VLOOKUP រវាងសន្លឹកពីរ
សម្រាប់ការចាប់ផ្តើម សូមធ្វើការស៊ើបអង្កេតករណីសាមញ្ញបំផុត - ដោយប្រើ VLOOKUP ដើម្បី ចម្លងទិន្នន័យពីសន្លឹកកិច្ចការផ្សេងទៀត។ វាស្រដៀងទៅនឹងរូបមន្ត VLOOKUP ធម្មតាដែលស្វែងរកនៅលើសន្លឹកកិច្ចការដូចគ្នា។ ភាពខុសគ្នានោះគឺថាអ្នកបញ្ចូលឈ្មោះសន្លឹកនៅក្នុងអាគុយម៉ង់ table_array ដើម្បីប្រាប់រូបមន្តរបស់អ្នកនៅក្នុងសន្លឹកកិច្ចការដែលជួររកមើលស្ថិតនៅ។
រូបមន្តទូទៅទៅ VLOOKUP ពីសន្លឹកផ្សេងទៀតមានដូចខាងក្រោម៖
VLOOKUP(lookup_value, Sheet!range, col_index_num, [range_lookup])ជាឧទាហរណ៍ ចូរយើងទាញតួលេខលក់ពី មករា រាយការណ៍ទៅ សង្ខេប សន្លឹក។ ចំពោះបញ្ហានេះ យើងកំណត់អាគុយម៉ង់ដូចខាងក្រោម៖
- Lookup_values ស្ថិតនៅក្នុងជួរ A នៅលើសន្លឹក សង្ខេប ហើយយើងVLOOKUP៖
VLOOKUP($A2, 'West'!$A$2:$C$6 , 2, FALSE)
ជាចុងក្រោយ រូបមន្ត VLOOKUP ស្តង់ដារនេះស្វែងរកតម្លៃ A2 នៅក្នុងជួរទីមួយនៃជួរ A2:C6 នៅលើសន្លឹក West ហើយត្រឡប់ a ផ្គូផ្គងពីជួរទី 2 ។ នោះហើយជាវា!
ថាមវន្ត VLOOKUP ដើម្បីបញ្ជូនទិន្នន័យពីសន្លឹកច្រើនទៅក្នុងក្រឡាផ្សេងគ្នា
ជាដំបូង ចូរយើងកំណត់អត្ថន័យនៃពាក្យ "ថាមវន្ត" នៅក្នុងបរិបទនេះ និងរបៀបដែលរូបមន្តនេះនឹងទៅជា ខុសពីព័ត៌មានមុនៗ។
ក្នុងករណីដែលអ្នកមានទិន្នន័យច្រើនក្នុងទម្រង់ដូចគ្នាដែលត្រូវបានបំបែកនៅលើសៀវភៅបញ្ជីច្រើន អ្នកប្រហែលជាចង់ទាញយកព័ត៌មានពីសន្លឹកផ្សេងៗគ្នាទៅក្នុងក្រឡាផ្សេងៗ។ រូបភាពខាងក្រោមបង្ហាញពីគោលគំនិត៖
មិនដូចរូបមន្តមុនដែលបានទាញយកតម្លៃពីសន្លឹកជាក់លាក់មួយដោយផ្អែកលើឧបករណ៍កំណត់អត្តសញ្ញាណតែមួយគត់ទេ ពេលនេះយើងកំពុងស្វែងរកការស្រង់តម្លៃពីសន្លឹកជាច្រើននៅ ពេលវេលា។
មានដំណោះស្រាយពីរផ្សេងគ្នាសម្រាប់កិច្ចការនេះ។ ក្នុងករណីទាំងពីរ អ្នកត្រូវធ្វើការងាររៀបចំបន្តិចបន្តួច ហើយបង្កើតជួរដែលមានឈ្មោះសម្រាប់ក្រឡាទិន្នន័យក្នុងសន្លឹករកមើលនីមួយៗ។ សម្រាប់ឧទាហរណ៍នេះ យើងបានកំណត់ជួរដូចខាងក្រោម៖
- East_Sales - A2:B6 នៅលើសន្លឹកបូព៌ា
- North_Sales - A2៖ B6 នៅលើសន្លឹកខាងជើង
- South_Sales - A2:B6 នៅលើសន្លឹកខាងត្បូង
- West_Sales - A2:B6 នៅលើសន្លឹកខាងលិច
VLOOKUP និង IFs ដែលបានបង្កប់
ប្រសិនបើអ្នកមានចំនួនសន្លឹកដែលសមហេតុផលដើម្បីរកមើល អ្នកអាចប្រើមុខងារ IF ដែលបានបង្កប់ដើម្បីជ្រើសរើសសន្លឹកដោយផ្អែកលើពាក្យគន្លឹះក្នុងក្រឡាដែលបានកំណត់ជាមុន (ក្រឡា B1 ដល់ D1 ក្នុងករណីរបស់យើង)។
ជាមួយនឹងតម្លៃស្វែងរកក្នុង A2 រូបមន្តមានដូចខាងក្រោម៖
=VLOOKUP($A2, IF(B$1="east", East_Sales, IF(B$1="north", North_Sales, IF(B$1="south", South_Sales, IF(B$1="west", West_Sales)))), 2, FALSE)
បកប្រែជាភាសាអង់គ្លេស ផ្នែក IF អាន៖
ប្រសិនបើ B1 គឺ ខាងកើត សូមរកមើលក្នុងជួរដែលមានឈ្មោះ East_Sales ; ប្រសិនបើ B1 គឺ North រកមើលនៅក្នុងជួរដែលមានឈ្មោះថា North_Sales ; ប្រសិនបើ B1 គឺ South រកមើលនៅក្នុងជួរដែលមានឈ្មោះថា South_Sales ; ហើយប្រសិនបើ B1 គឺ West សូមរកមើលនៅក្នុងជួរដែលមានឈ្មោះ West_Sales ។
ជួរដែលត្រឡប់ដោយ IF ទៅ table_array នៃ VLOOKUP ដែលទាញ តម្លៃដែលត្រូវគ្នាពីជួរទី 2 នៅលើសន្លឹកដែលត្រូវគ្នា។
ការប្រើប្រាស់ដ៏ឆ្លាតវៃនៃសេចក្តីយោងចម្រុះសម្រាប់តម្លៃរកមើល ($A2 - ជួរឈរដាច់ខាត និងជួរដែលទាក់ទង) និងការសាកល្បងឡូជីខលនៃ IF (B$1 - ជួរឈរដែលទាក់ទង និងជួរដាច់ខាត) អនុញ្ញាតឱ្យចម្លងរូបមន្តទៅក្រឡាផ្សេងទៀតដោយមិនមានការផ្លាស់ប្តូរណាមួយឡើយ - Excel កែសម្រួលឯកសារយោងដោយស្វ័យប្រវត្តិដោយផ្អែកលើទីតាំងដែលទាក់ទងនៃជួរដេក និងជួរឈរ។
ដូច្នេះ យើងបញ្ចូលរូបមន្តក្នុង B2 ចម្លងវាឱ្យត្រឹមត្រូវ ហើយ ចុះទៅជួរឈរ និងជួរជាច្រើនតាមតម្រូវការ ហើយទទួលបានលទ្ធផលដូចខាងក្រោម៖
ការមើលផ្ទាល់
នៅពេលធ្វើការជាមួយសន្លឹកច្រើន កម្រិតដាក់ច្រើនក៏អាចបង្កើតរូបមន្តផងដែរ វែង និងពិបាកអាន។ មធ្យោបាយប្រសើរជាងមុនគឺបង្កើត ជួរមើលថាមវន្ត ដោយមានជំនួយពី INDIRECT៖
=VLOOKUP($A2, INDIRECT(B$1&"_Sales"), 2, FALSE)
នៅទីនេះ យើងភ្ជាប់សេចក្តីយោងទៅក្រឡាដែលមានផ្នែកតែមួយគត់នៃជួរដែលមានឈ្មោះ (B1) និងផ្នែកទូទៅ (_Sales) ។ វាបង្កើតខ្សែអក្សរដូចជា "East_Sales" ដែល INDIRECT បំប្លែងទៅជាឈ្មោះជួរដែលអាចយល់បានដោយ Excel។
ជាលទ្ធផល អ្នកទទួលបានរូបមន្តបង្រួមដែលដំណើរការយ៉ាងស្រស់ស្អាតនៅលើសន្លឹកណាមួយ៖
នោះជារបៀប Vlookup រវាងសន្លឹក និងឯកសារក្នុង Excel។ ខ្ញុំសូមអរគុណចំពោះការអាន ហើយសង្ឃឹមថានឹងបានជួបអ្នកនៅលើប្លក់របស់យើងនៅសប្តាហ៍ក្រោយ!
អនុវត្តសៀវភៅការងារសម្រាប់ការទាញយក
រកមើលឧទាហរណ៍សន្លឹកច្រើន (ឯកសារ .xlsx)
យោងទៅក្រឡាទិន្នន័យទីមួយដែលជា A2។ - Table_array គឺជាជួរ A2:B6 នៅលើសន្លឹកខែមករា។ ដើម្បីយោងទៅវា សូមដាក់បុព្វបទសេចក្តីយោងជួរជាមួយនឹងឈ្មោះសន្លឹក អមដោយសញ្ញាឧទាន៖ មករា!$A$2:$B$6។
សូមយកចិត្តទុកដាក់ថាយើងចាក់សោជួរដោយសេចក្តីយោងក្រឡាដាច់ខាត ដើម្បីការពារវាពីការផ្លាស់ប្តូរនៅពេលចម្លងរូបមន្តទៅក្រឡាផ្សេងទៀត។
Col_index_num គឺ 2 ព្រោះយើងចង់ចម្លងតម្លៃ ពីជួរឈរ B ដែលជាជួរឈរទី 2 ក្នុងអារេតារាង។
- Range_lookup ត្រូវបានកំណត់ទៅជា FALSE ដើម្បីរកមើលការផ្គូផ្គងពិតប្រាកដ។
ដោយដាក់អាគុយម៉ង់ជាមួយគ្នា យើងទទួលបានរូបមន្តនេះ៖
=VLOOKUP(A2, Jan!$A$2:$B$6, 2, FALSE)
អូសរូបមន្តចុះក្រោម ហើយអ្នកនឹងទទួលបានលទ្ធផលនេះ៖
នៅក្នុង ស្រដៀងគ្នានេះដែរ អ្នកអាចមើលទិន្នន័យ Vlookup ពីសន្លឹក Feb និង Mar :
=VLOOKUP(A2, Feb!$A$2:$B$6, 2, FALSE)
=VLOOKUP(A2, Mar!$A$2:$B$6, 2, FALSE)
គន្លឹះ និងកំណត់ចំណាំ៖
- ប្រសិនបើឈ្មោះសន្លឹកមាន ដកឃ្លា ឬ តួអក្សរដែលមិនមែនជាអក្ខរក្រម វាត្រូវតែដាក់បញ្ចូលក្នុងសញ្ញាសម្រង់តែមួយ ដូចជា 'ការលក់ខែមករា'!$A$2:$B$6 ។ សម្រាប់ព័ត៌មានបន្ថែម សូមមើល របៀបយោងសន្លឹកផ្សេងទៀតនៅក្នុង Excel។
- ជំនួសឱ្យការវាយឈ្មោះសន្លឹកដោយផ្ទាល់ក្នុងរូបមន្ត អ្នកអាចប្តូរទៅសន្លឹកកិច្ចការស្វែងរក ហើយជ្រើសរើសជួរនៅទីនោះ។ Excel នឹងបញ្ចូលឯកសារយោងជាមួយនឹងវាក្យសម្ព័ន្ធត្រឹមត្រូវដោយស្វ័យប្រវត្តិ ដោយធ្វើឱ្យអ្នកមានបញ្ហាក្នុងការត្រួតពិនិត្យឈ្មោះ និងដោះស្រាយបញ្ហា។
ការរកមើលពីសៀវភៅការងារផ្សេង
ដើម្បី VLOOKUP រវាងពីរសៀវភៅការងារ រួមបញ្ចូលឈ្មោះឯកសារក្នុងតង្កៀបការ៉េ អមដោយឈ្មោះសន្លឹក និងសញ្ញាឧទាន។
ឧទាហរណ៍ ដើម្បីស្វែងរកតម្លៃ A2 ក្នុងជួរ A2:B6 នៅលើ មករា សន្លឹកក្នុង សៀវភៅការងារ Sales_reports.xlsx ប្រើរូបមន្តនេះ៖
=VLOOKUP(A2, [Sales_reports.xlsx]Jan!$A$2:$B$6, 2, FALSE)
សម្រាប់ព័ត៌មានលម្អិត សូមមើល VLOOKUP ពីសៀវភៅការងារផ្សេងទៀតនៅក្នុង Excel។
ការរកមើលនៅទូទាំង សន្លឹកច្រើនជាមួយ IFERROR
នៅពេលដែលអ្នកត្រូវរកមើលរវាងសន្លឹកច្រើនជាងពីរ ដំណោះស្រាយងាយស្រួលបំផុតគឺត្រូវប្រើ VLOOKUP រួមជាមួយនឹង IFERROR។ គំនិតនេះគឺដើម្បីដាក់មុខងារ IFERROR ជាច្រើនដើម្បីពិនិត្យមើលសន្លឹកកិច្ចការជាច្រើនម្តងមួយៗ៖ ប្រសិនបើ VLOOKUP ដំបូងរកមិនឃើញការផ្គូផ្គងនៅលើសន្លឹកទីមួយ សូមស្វែងរកក្នុងសន្លឹកបន្ទាប់ ហើយដូច្នេះនៅលើ។
IFERROR(VLOOKUP(...)) IFERROR(VLOOKUP(…), …, " រកមិនឃើញ "))ដើម្បីមើលពីរបៀបដែលវិធីសាស្រ្តនេះដំណើរការលើទិន្នន័យជីវិតពិត សូមពិចារណាឧទាហរណ៍ខាងក្រោម។ ខាងក្រោមនេះជាតារាង សង្ខេប ដែលយើងចង់បញ្ចូលឈ្មោះទំនិញ និងបរិមាណដោយរកមើលលេខលំដាប់នៅក្នុងសន្លឹក West និង East ៖
ដំបូង យើងនឹងទាញធាតុ។ ចំពោះបញ្ហានេះ យើងណែនាំរូបមន្ត VLOOKUP ដើម្បីស្វែងរកលេខលំដាប់ក្នុង A2 នៅលើសន្លឹក East ហើយត្រឡប់តម្លៃពីជួរឈរ B (ជួរឈរទី 2 ក្នុង table_array A2:C6)។ ប្រសិនបើរកមិនឃើញការផ្គូផ្គងពិតប្រាកដទេ សូមស្វែងរកក្នុងសន្លឹក West ។ ប្រសិនបើ Vlookups ទាំងពីរបរាជ័យ ត្រឡប់ "រកមិនឃើញ" ។
=IFERROR(VLOOKUP(A2, East!$A$2:$C$6, 2, FALSE), IFERROR(VLOOKUP(A2, West!$A$2:$C$6, 2, FALSE), "Not found"))
ដើម្បីប្រគល់ចំនួនទឹកប្រាក់មកវិញគ្រាន់តែប្តូរលេខសន្ទស្សន៍ជួរឈរទៅ 3:
=IFERROR(VLOOKUP(A2, East!$A$2:$C$6, 3, FALSE), IFERROR(VLOOKUP(A2, West!$A$2:$C$6, 3, FALSE), "Not found"))
គន្លឹះ។ បើចាំបាច់ អ្នកអាចបញ្ជាក់អារេតារាងផ្សេងគ្នាសម្រាប់មុខងារ VLOOKUP ផ្សេងគ្នា។ ក្នុងឧទាហរណ៍នេះ សន្លឹករកមើលទាំងពីរមានចំនួនជួរដេកដូចគ្នា (A2:C6) ប៉ុន្តែសន្លឹកកិច្ចការរបស់អ្នកអាចមានទំហំខុសគ្នា។
ការរកមើលនៅក្នុងសៀវភៅការងារច្រើន
ដើម្បីរកមើលរវាងសៀវភៅការងារពីរ ឬច្រើន សូមភ្ជាប់ឈ្មោះសៀវភៅការងារក្នុងតង្កៀបការ៉េ ហើយដាក់វានៅពីមុខឈ្មោះសន្លឹក។ ឧទាហរណ៍ នេះជារបៀបដែលអ្នកអាច Vlookup ក្នុង ឯកសារពីរផ្សេងគ្នា ( Book1 និង Book2 ) ជាមួយនឹងរូបមន្តតែមួយ៖
=IFERROR(VLOOKUP(A2, [Book1.xlsx]East!$A$2:$C$6, 2, FALSE), IFERROR(VLOOKUP(A2, [Book2.xlsx]West!$A$2:$C$6, 2, FALSE),"Not found"))
ធ្វើឱ្យលេខសន្ទស្សន៍ជួរឈរថាមវន្តទៅ Vlookup ជួរឈរច្រើន
នៅក្នុងស្ថានភាពនៅពេលដែលអ្នកត្រូវការត្រឡប់ទិន្នន័យពីជួរឈរជាច្រើន ការធ្វើឱ្យ col_index_num ថាមវន្តអាចសន្សំសំចៃពេលវេលាខ្លះ។ មានការកែតម្រូវមួយចំនួនដែលត្រូវធ្វើឡើង៖
- សម្រាប់អាគុយម៉ង់ col_index_num ប្រើមុខងារ COLUMNS ដែលត្រឡប់ចំនួនជួរឈរក្នុងអារេដែលបានបញ្ជាក់៖ COLUMNS($A$1 :B$1)។ (កូអរដោនេជួរដេកមិនសំខាន់ទេ វាអាចគ្រាន់តែជាជួរដេកណាមួយប៉ុណ្ណោះ។)
- ក្នុងអាគុយម៉ង់ lookup_value សូមចាក់សោសេចក្តីយោងជួរឈរដោយសញ្ញា $ ($A2) ដូច្នេះវានៅតែមាន បានជួសជុលនៅពេលចម្លងរូបមន្តទៅជួរឈរផ្សេងទៀត។
ជាលទ្ធផល អ្នកទទួលបានប្រភេទនៃរូបមន្តថាមវន្តដែលស្រង់តម្លៃដែលត្រូវគ្នាពីជួរឈរផ្សេងៗគ្នា អាស្រ័យលើជួរឈរដែលរូបមន្តត្រូវបានចម្លងទៅ៖
=IFERROR(VLOOKUP($A2, East!$A$2:$C$6, COLUMNS($A$1:B$1), FALSE), IFERROR(VLOOKUP($A2, West!$A$2:$C$6, COLUMNS($A$1:B$1), FALSE), "Not found"))
នៅពេលបញ្ចូលក្នុងជួរ B, COLUMNS($A$1:B$1)វាយតម្លៃទៅលេខ 2 ដោយប្រាប់ VLOOKUP ឱ្យត្រឡប់តម្លៃពីជួរទី 2 ក្នុងអារេតារាង។
នៅពេលចម្លងទៅជួរ C (ឧ. អ្នកបានអូសរូបមន្តពី B2 ទៅ C2) B$1 ប្តូរទៅ C$1 ព្រោះ សេចក្តីយោងជួរឈរគឺទាក់ទង។ ដូច្នេះ COLUMNS($A$1:C$1) វាយតម្លៃទៅ 3 បង្ខំឱ្យ VLOOKUP ត្រឡប់តម្លៃពីជួរទី 3 ។
រូបមន្តនេះដំណើរការល្អសម្រាប់សន្លឹករកមើល 2 - 3 ។ ប្រសិនបើអ្នកមានច្រើន នោះ IFERROR ដដែលៗក្លាយជារឿងស្មុគស្មាញពេក។ ឧទាហរណ៍បន្ទាប់បង្ហាញពីភាពស្មុគស្មាញបន្តិច ប៉ុន្តែវិធីសាស្រ្តឆើតឆាយជាងនេះ។
រកមើលសន្លឹកច្រើនដោយ INDIRECT
វិធីមួយបន្ថែមទៀតដើម្បី Vlookup រវាងសន្លឹកច្រើនក្នុង Excel គឺត្រូវប្រើការរួមបញ្ចូលគ្នានៃ VLOOKUP និង មុខងារ INDIRECT ។ វិធីសាស្រ្តនេះទាមទារការរៀបចំតិចតួច ប៉ុន្តែនៅទីបញ្ចប់ អ្នកនឹងមានរូបមន្តបង្រួមបន្ថែមទៀតសម្រាប់ Vlookup នៅក្នុងសៀវភៅបញ្ជីណាមួយ។
រូបមន្តទូទៅសម្រាប់ Vlookup ទូទាំងសន្លឹកមានដូចខាងក្រោម៖
VLOOKUP( lookup_value , INDIRECT("'"&INDEX( Lookup_sheets , MATCH(1, --(COUNTIF(INDIRECT("'"" & Lookup_sheets &")" '! lookup_range "), lookup_value )>0), 0)) & "'! table_array "), col_index_num , FALSE)កន្លែងណា៖
- Lookup_sheets - ជួរដែលមានឈ្មោះដែលមានឈ្មោះសន្លឹករកមើល។
- Lookup_value - the តម្លៃដែលត្រូវស្វែងរក។
- Lookup_range - ជួរជួរឈរនៅក្នុងសន្លឹករកមើលកន្លែងដែលត្រូវស្វែងរកសម្រាប់ការរកមើលតម្លៃ។
- Table_array - ជួរទិន្នន័យនៅក្នុងសន្លឹករកមើល។
- Col_index_num - ចំនួនជួរឈរក្នុងតារាងអារេពីណា ត្រឡប់តម្លៃមួយ។
ដើម្បីឱ្យរូបមន្តដំណើរការបានត្រឹមត្រូវ សូមចងចាំការព្រមានខាងក្រោម៖
- វាជារូបមន្តអារេ ដែលត្រូវតែបំពេញដោយចុច Ctrl + Shift + Enter keys ជាមួយគ្នា។
- សន្លឹកទាំងអស់ត្រូវតែមាន លំដាប់ជួរឈរដូចគ្នា ។
- ដូចដែលយើងប្រើតារាងតារាងមួយសម្រាប់សន្លឹករកមើលទាំងអស់ បញ្ជាក់ ជួរធំជាងគេ ប្រសិនបើសន្លឹករបស់អ្នកមានចំនួនជួរដេកខុសៗគ្នា។
របៀបប្រើរូបមន្តដើម្បី Vlookup ទូទាំងសន្លឹក
ដើម្បី Vlookup សន្លឹកច្រើនក្នុងពេលតែមួយ សូមអនុវត្តទាំងនេះ ជំហាន៖
- សរសេរឈ្មោះសន្លឹករកមើលទាំងអស់នៅកន្លែងណាមួយក្នុងសៀវភៅការងាររបស់អ្នក ហើយឈ្មោះជួរនោះ ( Lookup_sheets ក្នុងករណីរបស់យើង)។
- ការស្វែងរកតម្លៃ A2 ( lookup_value )
- ក្នុងជួរ A2:A6 ( lookup_range ) ក្នុង សន្លឹកកិច្ចការចំនួនបួន ( ខាងកើត , ខាងជើង , ខាងត្បូង និង ខាងលិច ) និង
- ទាញតម្លៃដែលត្រូវគ្នាពីជួរ B, ដែលជាជួរទី 2 ( col_index_num ) ក្នុងជួរទិន្នន័យ A2:C6 ( table_array )។
ជាមួយនឹងអាគុយម៉ង់ខាងលើ រូបមន្តមានរូបរាងនេះ៖
=VLOOKUP($A2, INDIRECT("'"&INDEX(Lookup_sheets, MATCH(1, --(COUNTIF(INDIRECT("'"& Lookup_sheets&"'!$A$2:$A$6"), $A2)>0), 0)) &"'!$A$2:$C$6"), 2, FALSE)
សូមកត់សម្គាល់ថាយើងចាក់សោជួរទាំងពីរ ($A$2:$A$6 និង $A$2:$C$6) ជាមួយនឹងការយោងក្រឡាដាច់ខាត។
ដូច លទ្ធផល យើងទទួលបានរូបមន្តដើម្បីរកមើលលេខលំដាប់ក្នុង 4 សន្លឹក ហើយយកធាតុដែលត្រូវគ្នា។ ប្រសិនបើរកមិនឃើញលេខបញ្ជាទិញជាក់លាក់មួយ កំហុស #N/A ត្រូវបានបង្ហាញដូចនៅក្នុងជួរទី 14៖
ដើម្បីត្រឡប់ចំនួនទឹកប្រាក់នោះ គ្រាន់តែជំនួសលេខ 2 ដោយលេខ 3 ក្នុង col_index_num អាគុយម៉ង់ជាចំនួនមាននៅក្នុងជួរទី 3 នៃអារេតារាង៖
=VLOOKUP($A2, INDIRECT("'"&INDEX(Lookup_sheets, MATCH(1, --(COUNTIF(INDIRECT("'" & Lookup_sheets & "'!$A$2:$A$6"), $A2)>0), 0)) & "'!$A$2:$C$6"), 3, FALSE)
ប្រសិនបើអ្នកចង់ជំនួសស្តង់ដារកំហុស #N/A ជាមួយអត្ថបទផ្ទាល់ខ្លួនរបស់អ្នក សូមរុំ រូបមន្តចូលទៅក្នុងអនុគមន៍ IFNA៖
=IFNA(VLOOKUP($A2, INDIRECT("'"&INDEX(Lookup_sheets, MATCH(1, --(COUNTIF(INDIRECT("'" & Lookup_sheets & "'!$A$2:$A$6"), $A2)>0), 0)) & "'!$A$2:$C$6"), 3, FALSE), "Not found")
រកមើលសន្លឹកច្រើនរវាងសៀវភៅការងារ
រូបមន្តទូទៅនេះ (ឬការប្រែប្រួលណាមួយរបស់វា) ក៏អាចត្រូវបានប្រើផងដែរ។ ដើម្បី Vlookup សន្លឹកច្រើននៅក្នុង សៀវភៅការងារផ្សេងគ្នា ។ ចំពោះបញ្ហានេះ សូមភ្ជាប់ឈ្មោះសៀវភៅការងារនៅខាងក្នុង INDIRECT ដូចបង្ហាញក្នុងរូបមន្តខាងក្រោម៖
=IFNA(VLOOKUP($A2, INDIRECT("'[Book1.xlsx]" & INDEX(Lookup_sheets, MATCH(1, --(COUNTIF(INDIRECT("'[Book1.xlsx]" & Lookup_sheets & "'!$A$2:$A$6"), $A2)>0), 0)) & "'!$A$2:$C$6"), 2, FALSE), "Not found")
ការរកមើលរវាងសន្លឹក និងត្រឡប់ជួរឈរច្រើន
ប្រសិនបើអ្នកចង់ទាញទិន្នន័យពីច្រើន ជួរឈរ រូបមន្តអារេពហុក្រឡា អាចធ្វើវាបានក្នុងពេលតែមួយ។ ដើម្បីបង្កើតរូបមន្តបែបនេះ ផ្គត់ផ្គង់អារេថេរសម្រាប់អាគុយម៉ង់ col_index_num ។
ក្នុងឧទាហរណ៍នេះ យើងចង់ត្រឡប់ឈ្មោះធាតុ (ជួរ B) និងចំនួន (ជួរ C) ដែល គឺជាជួរឈរទី 2 និងទី 3 នៅក្នុងអារេតារាងរៀងៗខ្លួន។ ដូច្នេះអារេដែលត្រូវការគឺ{2,3}.
=VLOOKUP($A2, INDIRECT("'"&INDEX(Lookup_sheets, MATCH(1, --(COUNTIF(INDIRECT("'"& Lookup_sheets &"'!$A$2:$C$6"), $A2)>0), 0)) &"'!$A$2:$C$6"), {2,3}, FALSE)
ដើម្បីបញ្ចូលរូបមន្តក្នុងក្រឡាច្រើនយ៉ាងត្រឹមត្រូវ នេះជាអ្វីដែលអ្នកត្រូវធ្វើ៖
- នៅជួរទីមួយ ជ្រើសរើសក្រឡាទាំងអស់ដែលត្រូវបញ្ចូល (B2:C2 ក្នុងឧទាហរណ៍របស់យើង)។
- វាយរូបមន្តហើយចុច Ctrl + Shift + Enter ។ វាបញ្ចូលរូបមន្តដូចគ្នានៅក្នុងក្រឡាដែលបានជ្រើសរើស ដែលនឹងត្រឡប់តម្លៃខុសគ្នាក្នុងជួរនីមួយៗ។
- អូសរូបមន្តចុះក្រោមទៅជួរដែលនៅសល់។
របៀបដែលរូបមន្តនេះដំណើរការ
ដើម្បីយល់កាន់តែច្បាស់អំពីតក្កវិជ្ជា ចូរបំបែករូបមន្តមូលដ្ឋាននេះទៅជាមុខងារនីមួយៗ៖
=VLOOKUP($A2, INDIRECT("'"&INDEX(Lookup_sheets, MATCH(1, --(COUNTIF(INDIRECT("'"& Lookup_sheets&"'!$A$2:$A$6"), $A2)>0), 0)) &"'!$A$2:$C$6"), 2, FALSE)
ដោយធ្វើការពីខាងក្នុងចេញ នេះជាអ្វីដែលរូបមន្តធ្វើ៖
COUNTIF និង INDIRECT
និយាយដោយសង្ខេប INDIRECT បង្កើតឯកសារយោងសម្រាប់សន្លឹករកមើលទាំងអស់ ហើយ COUNTIF រាប់ការកើតឡើងនៃការស្វែងរក តម្លៃ (A2) ក្នុងសន្លឹកនីមួយៗ៖
--(COUNTIF( INDIRECT("'"&Lookup_sheets&"'!$A$2:$A$6"), $A2)>0)
លម្អិតបន្ថែម៖
ដំបូង អ្នកភ្ជាប់ឈ្មោះជួរ (Lookup_sheets) និងសេចក្តីយោងជួរ ($A$2៖ $A$6) ដោយបន្ថែមសញ្ញាសម្គាល់ និងសញ្ញាឧទាននៅកន្លែងត្រឹមត្រូវដើម្បីធ្វើសេចក្តីយោងខាងក្រៅ ហើយបញ្ចូលខ្សែអក្សរអត្ថបទលទ្ធផលទៅមុខងារ INDIRECT ដើម្បីយោងលើសន្លឹករកមើលថាមវន្ត៖
INDIRECT({"'East'!$A$2:$A$6"; "'South'!$A$2:$A$6"; "'North'!$A$2:$A$6"; "'West'!$A$2:$A$6"})
COUNTIF ពិនិត្យក្រឡានីមួយៗក្នុងជួរ A2:A6 នៅលើសន្លឹករកមើលនីមួយៗធៀបនឹងតម្លៃក្នុង A2 នៅលើមេ សន្លឹក និងត្រឡប់ចំនួននៃការប្រកួតសម្រាប់សន្លឹកនីមួយៗ។ នៅក្នុងសំណុំទិន្នន័យរបស់យើង លេខលំដាប់នៅក្នុង A2 (101) ត្រូវបានរកឃើញនៅក្នុងសន្លឹក West ដែលជាលេខទី 4 នៅក្នុងសន្លឹក។ជួរដែលមានឈ្មោះ ដូច្នេះ COUNTIF ត្រឡប់អារេនេះ៖
{0;0;0;1}
បន្ទាប់ អ្នកប្រៀបធៀបធាតុនីមួយៗនៃអារេខាងលើជាមួយ 0:
--({0; 0; 0; 1}>0)
នេះផ្តល់ផល អារេនៃតម្លៃ TRUE (ធំជាង 0) និង FALSE (ស្មើនឹង 0) ដែលអ្នកបង្ខិតបង្ខំឱ្យតម្លៃ 1 និង 0 ដោយប្រើ unary ទ្វេ (--) ហើយទទួលបានអារេខាងក្រោមជាលទ្ធផល៖
{0; 0; 0; 1}
ប្រតិបត្តិការនេះគឺជាការប្រុងប្រយ័ត្នបន្ថែមដើម្បីដោះស្រាយស្ថានភាពនៅពេលដែលសន្លឹករកមើលមានការកើតឡើងជាច្រើននៃតម្លៃរកមើល ក្នុងករណីនេះ COUNTIF នឹងត្រឡប់ចំនួនធំជាង 1 ខណៈពេលដែលយើងចង់បានត្រឹមតែ 1 និង 0 នៅក្នុង អារេចុងក្រោយ (មួយភ្លែត អ្នកនឹងយល់អំពីមូលហេតុ)។
បន្ទាប់ពីការបំប្លែងទាំងអស់នេះ រូបមន្តរបស់យើងមើលទៅដូចតទៅ៖
VLOOKUP($A2, INDIRECT("'"&INDEX(Lookup_sheets, MATCH(1, {0;0;0;1} , 0)) &"'!$A$2:$C$6"), 2, FALSE)
INDEX និង MATCH
នៅចំណុចនេះ ជំហានបន្សំ INDEX MATCH បុរាណនៅក្នុង៖
INDEX(Lookup_sheets, MATCH(1, {0;0;0;1}, 0))
មុខងារ MATCH ដែលបានកំណត់រចនាសម្ព័ន្ធសម្រាប់ការផ្គូផ្គងពិតប្រាកដ (0 ក្នុងអាគុយម៉ង់ចុងក្រោយ) រកមើលតម្លៃ 1 ក្នុងអារេ { 0;0;0;1} ហើយត្រឡប់ទីតាំងរបស់វា ដែលជា 4:
INDEX(Lookup_sheets, 4)
អនុគមន៍ INDEX ប្រើលេខដែលបានត្រឡប់ ដោយ MATCH ជាអាគុយម៉ង់លេខជួរដេក (row_num) ហើយត្រឡប់តម្លៃទី 4 នៅក្នុងជួរដែលមានឈ្មោះ Lookup_sheets ដែលជា West ។
ដូច្នេះ រូបមន្តកាត់បន្ថយបន្ថែមទៀត ទៅ៖
VLOOKUP($A2, INDIRECT("'"&" West "&"'!$A$2:$C$6"), 2, FALSE)
VLOOKUP និង INDIRECT
មុខងារ INDIRECT ដំណើរការខ្សែអក្សរនៅក្នុងវា៖
INDIRECT("'"&"West"&"'!$A$2:$C$6")
ហើយបំប្លែងវា ទៅក្នុងឯកសារយោងដែលទៅអាគុយម៉ង់ table_array នៃ