តារាងមាតិកា
តើអ្នកមិនចង់ប្រើ Excel VBA ហើយចង់បង្កើត FOR Loop ក្នុង Excel ដោយប្រើរូបមន្តទេ? នៅក្នុងអត្ថបទនេះ ខ្ញុំបានបង្ហាញពីរបៀបដែលអ្នកអាចបង្កើត FOR Loop ដោយប្រើរូបមន្ត។
ប្រសិនបើអ្នកដឹងពីរបៀបសរសេរកូដជាមួយ Excel VBA អ្នកពិតជាមានពរ🙂 . ប៉ុន្តែប្រសិនបើអ្នកមិនដែលសរសេរកូដនៅក្នុង VBA ឬចង់រក្សាសៀវភៅការងារ Excel របស់អ្នកដោយឥតគិតថ្លៃ កូដ Excel VBA នោះ ភាគច្រើនអ្នកត្រូវគិតចេញពីប្រអប់ដើម្បីបង្កើត។ simple loop .
Download Working File
ទាញយកឯកសារធ្វើការពីតំណខាងក្រោម៖
បង្កើតរង្វិលជុំដោយប្រើរូបមន្ត។ xlsx3 ឧទាហរណ៍ដើម្បីធ្វើរង្វិលជុំក្នុង Excel ដោយប្រើរូបមន្ត
នៅទីនេះ ខ្ញុំនឹងបង្ហាញឧទាហរណ៍ 3 ដើម្បីធ្វើ FOR Loop ក្នុង Excel ដោយប្រើ រូបមន្ត។ តោះមើលឧទាហរណ៍លម្អិត។
1. ការអនុវត្តមុខងាររួមបញ្ចូលគ្នាដើម្បីបង្កើតរង្វិលជុំក្នុង Excel
ឥឡូវនេះ សូមប្រាប់ខ្ញុំពីផ្ទៃខាងក្រោយដែលលើកទឹកចិត្តខ្ញុំឱ្យសរសេរឧទាហរណ៍នេះ។
ខ្ញុំជាអ្នកនិពន្ធនៃវគ្គសិក្សាមួយចំនួននៅលើ Udemy ។ វគ្គសិក្សាមួយក្នុងចំណោមវគ្គសិក្សាគឺនៅលើ Excel Conditional Formatting ។ ចំណងជើងវគ្គសិក្សាគឺ៖ រៀនទម្រង់តាមលក្ខខណ្ឌរបស់ Excel ជាមួយនឹងបញ្ហាជាក់ស្តែងចំនួន 7 ។ [ ដើម្បីទទួលបានការចូលប្រើវគ្គសិក្សានេះដោយឥតគិតថ្លៃ សូមចុចទីនេះ ]។
នៅក្នុងផ្ទាំងពិភាក្សានៃវគ្គសិក្សា សិស្សម្នាក់បានសួរខ្ញុំនូវសំណួរមួយដូចខាងក្រោម [រូបភាពអេក្រង់]។
សំណួរសួរដោយសិស្សនៅ Udemy។
អានសំណួរខាងលើដោយប្រុងប្រយ័ត្ន ហើយព្យាយាមដោះស្រាយវា...
ជំហានដើម្បីដោះស្រាយបញ្ហាខាងលើ៖
នៅទីនេះ ខ្ញុំនឹងប្រើមុខងារ OR , OFFSET , MAX , MIN , និង ROW ជារូបមន្ត Excel ដើម្បីបង្កើត សម្រាប់រង្វិលជុំ ។
- ដំបូង ការងាររបស់អ្នកគឺត្រូវបើកសៀវភៅការងារថ្មី ហើយបញ្ចូលតម្លៃខាងលើម្តងមួយៗទៅក្នុងសន្លឹកកិច្ចការ [ចាប់ផ្តើមពីក្រឡា C5 ] ។
- ទីពីរ ជ្រើសរើសជួរទាំងមូល [ពីក្រឡា C5:C34 ]។
- ទីបី ពី ទំព័រដើម ខ្សែបូ >> ចុចលើពាក្យបញ្ជា ការធ្វើទ្រង់ទ្រាយតាមលក្ខខណ្ឌ ។
- ជាចុងក្រោយ សូមជ្រើសរើសជម្រើស ច្បាប់ថ្មី ពីបញ្ជីទម្លាក់ចុះ។
នៅពេលនេះ ប្រអប់ ច្បាប់ធ្វើទ្រង់ទ្រាយថ្មី លេចឡើង។
- ឥឡូវនេះ នៅក្នុងបង្អួច ជ្រើសរើសប្រភេទច្បាប់ >> ; ជ្រើសរើស ប្រើរូបមន្តដើម្បីកំណត់ក្រឡាមួយណាដែលត្រូវធ្វើទ្រង់ទ្រាយ ជម្រើស។
- បន្ទាប់មកក្នុងវាល តម្លៃទ្រង់ទ្រាយដែលរូបមន្តនេះគឺពិត វាយរូបមន្តនេះ៖
=OR(OFFSET(C5,MAX(ROW(C$5)-ROW(C5)+3,0),0,MIN(ROW(C5)-ROW(C$5)+1,4),1)-OFFSET(C5,MAX(ROW($C$5)-ROW(C5),-3),0,MIN(ROW(C5)-ROW(C$5)+1,4),1)=3)
- ឥឡូវនេះ សូមជ្រើសរើសប្រភេទទម្រង់ដែលសមស្របដោយចុចលើប៊ូតុង Format… ក្នុងប្រអប់។
នៅពេលនេះ ប្រអប់មួយដែលមានឈ្មោះថា Format Cells នឹងលេចឡើង។
- ឥឡូវនេះ ពី បំពេញ ជម្រើស >> អ្នកត្រូវជ្រើសរើសពណ៌ណាមួយ។ នៅទីនេះ ខ្ញុំបានជ្រើសរើសផ្ទៃខាងក្រោយ ខៀវស្រាល ។ ដូចគ្នានេះផងដែរ អ្នកអាចមើលឃើញ គំរូ ភ្លាមៗ។ ក្នុងករណីនេះ សូមព្យាយាមជ្រើសរើសពណ៌ ពន្លឺ ណាមួយ។ ដោយសារតែពណ៌ងងឹតអាចលាក់ទិន្នន័យដែលបានបញ្ចូល។ បន្ទាប់មក អ្នកប្រហែលជាត្រូវផ្លាស់ប្តូរ ពណ៌ពុម្ពអក្សរ ។
- បន្ទាប់មក អ្នកត្រូវតែចុច យល់ព្រម ដើម្បីអនុវត្តការបង្កើត។
- បន្ទាប់ពីនោះ អ្នកត្រូវចុច យល់ព្រម នៅលើ ច្បាប់ធ្វើទ្រង់ទ្រាយថ្មី ប្រអប់ប្រអប់។ នៅទីនេះ អ្នកអាចមើលឃើញគំរូភ្លាមៗនៅក្នុងប្រអប់ មើលជាមុន ។
ចុងក្រោយ អ្នកនឹងទទួលបានលេខដែលបានធ្វើទ្រង់ទ្រាយ។
ខ្ញុំសូមបង្ហាញអ្នកពី algorithm ដើម្បីដោះស្រាយបញ្ហាខាងលើ៖
- នៅទីនេះ ដើម្បីអោយអ្នកយល់អំពី algorithm យ៉ាងងាយស្រួល ខ្ញុំនឹង ពន្យល់រឿងទាំងមូលដោយប្រើក្រឡាយោងពីរ៖ កោសិកា C11 និង C17 ។ នៅក្នុងក្រឡា C11 និង C17 តម្លៃគឺ 10 និង 20 រៀងគ្នា (ខាងលើរូបភាព)។ ប្រសិនបើអ្នកធ្លាប់ប្រើរូបមន្ត Excel នោះអ្នកអាចធុំក្លិនមុខងារ OFFSET ព្រោះមុខងារ OFFSET ដំណើរការជាមួយចំណុចយោង។
- ឥឡូវនេះ សូមស្រមៃថាខ្ញុំកំពុងយកតម្លៃ នៃជួរក្រឡា C8:C11 & C11:C14 និង C14:C17 & C17: C20 នៅជាប់គ្នា [រូបភាពខាងក្រោម]។ ក្រឡាយោងគឺ C11 និង C17 ហើយខ្ញុំកំពុងយកក្រឡាសរុប 7 ជុំវិញក្រឡាយោង។ អ្នកនឹងទទួលបានរូបភាពស្រមើស្រមៃដូចខាងក្រោម។ ពីផ្នែកទីមួយ អ្នកអាចរកឃើញលំនាំពីរូបភាព។ C9–C12=3 , C10-C13=3 មានលំនាំមួយ។ ប៉ុន្តែសម្រាប់ផ្នែកទីពីរ មិនមានលំនាំបែបនេះទេ។
- ដូច្នេះ ចូរយើងបង្កើតក្បួនដោះស្រាយដោយរក្សាលំនាំខាងលើក្នុងចិត្ត។ មុននឹងបង្កើតរូបមន្តទូទៅ ខ្ញុំនឹងបង្ហាញពីអ្វីដែលរូបមន្តនឹងសម្រាប់ក្រឡា C11 និង C17 ហើយបន្ទាប់មកនឹងកែប្រែរូបមន្តដើម្បីធ្វើឱ្យវាជារឿងធម្មតាសម្រាប់ទាំងអស់គ្នា។ សម្រាប់ចំណុចយោង (ដូចជា C11 ឬ C17 ) ខ្ញុំនឹងយកក្រឡាសរុប 7 ជុំវិញវា (រួមទាំងចំណុចយោង) ហើយដាក់វានៅជាប់គ្នា។ ផ្នែកខាងក្នុងរូបមន្តបង្កើតអារេ។ បន្ទាប់មកខ្ញុំនឹងស្វែងយល់ពីភាពខុសគ្នានៃអារេ ប្រសិនបើភាពខុសគ្នាណាមួយស្មើនឹង 3 ដែលក្រឡាយោងនឹងមានតម្លៃ TRUE ។
- នៅទីនេះ ខ្ញុំអាច ធ្វើវាយ៉ាងងាយស្រួលដោយប្រើមុខងារ OFFSET ខណៈដែលមុខងារ OFFSET ត្រឡប់អារេមួយ។ និយាយសម្រាប់ឯកសារយោងក្រឡា C11 ខ្ញុំអាចសរសេររូបមន្តដូចនេះ៖ =OR(OFFSET(C11, 0, 0, 4, 1)-OFFSET(C11, -3, 0, 4, 1)=3) ។ តើរូបមន្តនេះនឹងត្រឡប់មកវិញយ៉ាងណា? អនុគមន៍អុហ្វសិតដំបូងនៃរូបមន្តនឹងត្រឡប់អារេ៖ {10; ១១; ១២; 15} មុខងារអុហ្វសិតទីពីរនឹងត្រឡប់អារេ {5; ៨; ៩; 10} ។ ហើយអ្នកដឹង {10; ១១; ១២; 15} – {5; ៨; ៩; 10} = {10-5; ១១–៨; ១២–៩; 15-10} = {5; ៣; ៣; 5} ។ នៅពេលដែលអារេនេះត្រូវបានសាកល្បងឡូជីខលជាមួយ =3 បន្ទាប់មក Excel គណនាខាងក្នុងដូចនេះ៖ {5=3; 3=3; 3=3; 5=3} = {មិនពិត; ពិត; ពិត; មិនពិត ។ នៅពេលដែលអនុគមន៍ OR ត្រូវបានអនុវត្តនៅលើអារេនេះ៖ OR({False; True; False; True} អ្នកនឹងទទួលបាន TRUE ។ ដូច្នេះក្រឡា C11 ទទួលបានតម្លៃពិតដូចបានត្រឡប់មកវិញ។
- ដូច្នេះ ខ្ញុំគិតថាអ្នកទទួលបានគោលគំនិតទាំងមូលអំពីរបៀបដែលក្បួនដោះស្រាយនេះនឹងដំណើរការ។ ឥឡូវនេះមានបញ្ហា។ រូបមន្តនេះអាចដំណើរការពីក្រឡា C8 ខាងលើក្រឡា C8 មានកោសិកា 3 ។ ប៉ុន្តែសម្រាប់ក្រឡា C5, C6, និង C7 រូបមន្តនេះមិនអាចដំណើរការបានទេ។ ដូច្នេះរូបមន្តគួរតែត្រូវបានកែប្រែសម្រាប់ក្រឡាទាំងនេះ។
- ឥឡូវនេះ សម្រាប់ក្រឡា C5 ទៅ C7 យើងចង់ឱ្យរូបមន្តនឹងមិនពិចារណាលើខាងលើ 3 ក្រឡា។ ឧទាហរណ៍ សម្រាប់ក្រឡា C6 រូបមន្តរបស់យើងនឹងមិនដូចរូបមន្តសម្រាប់ក្រឡា C11 ៖ =OR(OFFSET(C11, 0, 0, 4, 1)- OFFSET(C11, -3, 0, 4, 1)=3) .
- នៅទីនេះ សម្រាប់ក្រឡា C5 រូបមន្តនឹងមានដូចជា៖ OR(OFFSET (C5, 3, 0, 1, 1)-OFFSET(C5, 0, 0, 1, 1)=3) ។
- បន្ទាប់មក សម្រាប់ក្រឡា C6 នោះ រូបមន្តនឹងមានដូចជា៖ OR(OFFSET(C6, 2, 0, 2, 1)-OFFSET(C6, -1, 0, 2, 1)=3) ។
- បន្ទាប់ពី នោះ សម្រាប់ក្រឡា C7 រូបមន្តនឹងមានដូចជា៖ OR(OFFSET(C7, 1, 0, 3, 1)-OFFSET(C7, -2, 0, 3, 1)= 3) .
- ម្តងទៀត សម្រាប់ក្រឡា C8 រូបមន្តនឹងមានដូចជា៖ OR(OFFSET(C8, 0, 0, 4, 1)-OFFSET( C8,-3, 0, 4, 1)=3) ; [នេះគឺជារូបមន្តទូទៅ]។
- បន្ទាប់មក សម្រាប់ក្រឡា C9 រូបមន្តនឹងមានដូចជា៖ OR(OFFSET(C9, 0, 0, 4, 1)- OFFSET(C9,-3, 0, 4, 1)=3) ; [នេះគឺជារូបមន្តទូទៅ]។
- ជាចុងក្រោយ តើអ្នករកឃើញគំរូមួយចំនួនពីរូបមន្តខាងលើទេ? អាគុយម៉ង់ជួរដេករបស់អនុគមន៍ OFFSET ដំបូងបានថយចុះពី 3 ទៅ 0 ; អាគុយម៉ង់កម្ពស់បានកើនឡើងពី 1 ទៅ 4 ។ អាគុយម៉ង់ជួរទីពីររបស់អនុគមន៍ OFFSET បានថយចុះពី 0 ទៅ -3 ហើយអាគុយម៉ង់កម្ពស់បានកើនឡើងពី 1 ទៅ 4 ។
- ដំបូង OFFSET អាគុយម៉ង់ជួរនៃមុខងារនឹងត្រូវបានកែប្រែដូចនេះ៖ MAX(ROW(C$5)-ROW(C5)+3,0)
- ទីពីរ ទីពីរ អាគុយម៉ង់ជួរនៃមុខងារ OFFSET នឹងត្រូវបានកែប្រែដូចនេះ៖ MAX(ROW(C$5)-ROW(C5),-3)
- ទីបី ទីមួយ OFFSET អាគុយម៉ង់កម្ពស់របស់មុខងារនឹងត្រូវបានកែប្រែដូចនេះ៖ MIN(ROW(C5)-ROW(C$5)+1,4)
- ទីបួន ទីពីរ OFFSET អាគុយម៉ង់កម្ពស់របស់មុខងារនឹងត្រូវបានកែប្រែដូចនេះ៖ MIN(ROW(C5)-ROW(C$5)+1,4)
- ឥឡូវនេះ សូមព្យាយាមស្វែងយល់ពីការកែប្រែខាងលើ។ ទាំងនេះមិនពិបាកយល់នោះទេ។ ការកែប្រែ បួន ទាំងអស់នេះកំពុងដំណើរការជា FOR LOOP នៃ Excel VBA ប៉ុន្តែខ្ញុំបានបង្កើតវាជាមួយនឹងរូបមន្ត Excel។
- ដូច្នេះ អ្នកទទួលបានវិធីនៃរូបមន្តទូទៅ ដំណើរការសម្រាប់ក្រឡាពី C5:C34 ។
ដូច្នេះខ្ញុំកំពុងនិយាយអំពី Looping នៅក្នុងសៀវភៅបញ្ជី Excel ។ ដូច្នេះ នេះគឺជាឧទាហរណ៍ដ៏ល្អឥតខ្ចោះនៃការរង្វិលជុំក្នុង Excel ។ នៅទីនេះ រាល់ពេលដែលរូបមន្តយកក្រឡា 7 ហើយដំណើរការលើក្រឡាដើម្បីស្វែងរកតម្លៃជាក់លាក់មួយ។
2. ការប្រើប្រាស់ IF & OR មុខងារដើម្បីបង្កើត FOR Loop ក្នុង Excel
ក្នុងឧទាហរណ៍នេះ ឧបមាថាអ្នកចង់ពិនិត្យមើលថាតើក្រឡាមានតម្លៃឬអត់។ លើសពីនេះ ជាមួយ Excel VBA FOR Loop អ្នកអាចធ្វើវាបានយ៉ាងងាយស្រួល ប៉ុន្តែនៅទីនេះ ខ្ញុំនឹងធ្វើវាដោយប្រើរូបមន្ត Excel។
ឥឡូវនេះ អ្នកអាចប្រើ the IF និងមុខងារ OR ជារូបមន្ត Excel ដើម្បីបង្កើត FOR Loop ។ លើសពីនេះ អ្នកអាចកែប្រែរូបមន្តនេះតាមចំណូលចិត្តរបស់អ្នក។ ជំហានត្រូវបានផ្តល់ឱ្យខាងក្រោម។
ជំហាន៖
- ដំបូង អ្នកត្រូវជ្រើសរើសក្រឡាផ្សេង E5 ដែលអ្នកចង់ឃើញ ស្ថានភាព ។
- ទីពីរ អ្នកគួរតែប្រើរូបមន្តដែលត្រូវគ្នានៅក្នុងក្រឡា E5 ។
=IF(OR(B5="",C5="",D5=""),"Info Missing","Done")
- បន្ទាប់មកចុច ENTER ដើម្បីទទួលបានលទ្ធផល។
ការបំបែករូបមន្ត
នៅទីនេះ អនុគមន៍ OR នឹងត្រឡប់ TRUE ប្រសិនបើតក្កវិជ្ជាណាមួយដែលបានផ្តល់ឱ្យក្លាយជា ពិត .
- ដំបូង B5=” គឺជាតក្កវិជ្ជា ទី 1 ដែលនឹងពិនិត្យមើលថាតើក្រឡា B5 មានឬអត់ តម្លៃឬអត់។
- ទីពីរ C5=” គឺជាតក្កវិជ្ជា 2nd ដែលនឹងពិនិត្យមើលថាតើក្រឡា C5 មានតម្លៃណាមួយឬ មិនមែនទេ។
- ទីបី D5=” ជាតក្កវិជ្ជា ទី 3 ។ ដូចគ្នានេះដែរ ដែលនឹងពិនិត្យមើលថាតើក្រឡា D5 មានតម្លៃណាមួយឬអត់។
ឥឡូវនេះ មុខងារ IF ត្រឡប់លទ្ធផលដែលនឹងបំពេញលក្ខខណ្ឌដែលបានផ្តល់ឱ្យ។ ។
- នៅពេលដែលមុខងារ OR ផ្តល់ឱ្យ TRUE នោះអ្នកនឹងទទួលបាន “ ព័ត៌មានបាត់ ” ជា ស្ថានភាព . បើមិនដូច្នោះទេ អ្នកនឹងទទួលបាន “ រួចរាល់ ” ជា ស្ថានភាព ។
- បន្ទាប់ពីនោះ អ្នកត្រូវអូស Fill Handle រូបតំណាងទៅ ការបំពេញស្វ័យប្រវត្តិ ទិន្នន័យដែលត្រូវគ្នានៅក្នុងផ្នែកដែលនៅសល់នៃក្រឡា E6:E13 ។ ឬអ្នកអាចចុចពីរដងលើរូបតំណាង Fill Handle ។
ជាចុងក្រោយ អ្នកនឹងទទួលបានលទ្ធផលទាំងអស់ .
3. ការប្រើប្រាស់មុខងារ SUMIFS ដើម្បីបង្កើត FOR Loop ក្នុង Excel
ឧបមាថា អ្នកចង់បង្កើតវិក្កយបត្រសរុបសម្រាប់មនុស្សជាក់លាក់។ ក្នុងករណីនោះ អ្នកអាចប្រើ FOR Loop ដោយប្រើរូបមន្ត Excel។ នៅទីនេះ ខ្ញុំនឹងប្រើ អនុគមន៍ SUMIFS ដើម្បីបង្កើត FOR Loop ក្នុង Excel។ ជំហានត្រូវបានផ្តល់ឱ្យខាងក្រោម។
ជំហាន៖
- ដំបូង អ្នកត្រូវជ្រើសរើសក្រឡាផ្សេង F7 ដែលអ្នកចង់ឃើញ ស្ថានភាព ។
- ទីពីរ អ្នកគួរតែប្រើរូបមន្តដែលត្រូវគ្នានៅក្នុងក្រឡា F7 ។
=SUMIFS($C$5:$C$13,$B$5:$B$13,E7)
- បន្ទាប់មកចុច ENTER ដើម្បីទទួលបានលទ្ធផល។
ការបំបែករូបមន្ត
- នៅទីនេះ $C$5:$C$13 គឺជាជួរទិន្នន័យដែល SUMIFS មុខងារនឹងធ្វើការបូកសរុប។
- បន្ទាប់មក $B$5:$B$13 គឺជាជួរទិន្នន័យពីកន្លែងដែលមុខងារ SUMIFS នឹងពិនិត្យមើលលក្ខណៈវិនិច្ឆ័យដែលបានផ្តល់ឱ្យ
- ចុងក្រោយ E7 គឺជាលក្ខណៈវិនិច្ឆ័យ។
- ដូច្នេះ មុខងារ SUMIFS នឹងបន្ថែមការទូទាត់សម្រាប់តម្លៃក្រឡា E7 ។
- បន្ទាប់ពីនោះ អ្នកត្រូវអូសរូបតំណាង Fill Handle ដើម្បីបំពេញទិន្នន័យដែលត្រូវគ្នាដោយស្វ័យប្រវត្តិនៅក្នុងក្រឡាដែលនៅសល់ F8:F10 ។
ជាចុងក្រោយ អ្នកនឹងទទួលបានលទ្ធផល។
សេចក្តីសន្និដ្ឋាន
យើងសង្ឃឹមថាអ្នកបានរកឃើញថាអត្ថបទនេះមានប្រយោជន៍។ នៅទីនេះ យើងបានពន្យល់ 3 ឧទាហរណ៍សមរម្យដើម្បីធ្វើ FOR Loop ក្នុង Excel ដោយប្រើរូបមន្ត។ អ្នកអាចចូលទៅកាន់គេហទំព័ររបស់យើង Exceldemy ដើម្បីស្វែងយល់បន្ថែមអំពីមាតិកាដែលទាក់ទងនឹង Excel។ សូមទម្លាក់មតិយោបល់ ការផ្ដល់យោបល់ ឬសំណួរ ប្រសិនបើអ្នកមានណាមួយនៅក្នុងផ្នែកមតិយោបល់ខាងក្រោម។