सामग्री तालिका
के तपाइँ एक्सेल VBA प्रयोग गर्न चाहनुहुन्न र सूत्र प्रयोग गरेर एक्सेलमा फोर लूप बनाउन चाहनुहुन्छ? यस लेखमा, मैले सूत्रहरू प्रयोग गरेर तपाईं कसरी फोर लूप बनाउन सक्नुहुन्छ भनेर देखाएको छु।
यदि तपाईंलाई एक्सेल VBA मा कोड गर्ने तरिका थाहा छ भने, तपाईं धन्य हुनुहुन्छ 🙂 । तर, यदि तपाईंले VBA मा कोड कहिल्यै लेख्नुभएन वा आफ्नो Excel कार्यपुस्तिकालाई Excel VBA कोडबाट मुक्त राख्न चाहनुहुन्छ भने, तब धेरैजसो समय तपाईंले एउटा सिर्जना गर्न बाकस बाहिर सोच्नुपर्छ। simple loop ।
Working File डाउनलोड गर्नुहोस्
तलको लिङ्कबाट काम गर्ने फाइल डाउनलोड गर्नुहोस्:
सूत्रहरू प्रयोग गरेर लूप बनाउनुहोस्। xlsxसूत्र प्रयोग गरेर एक्सेलमा फर लूप बनाउने ३ उदाहरणहरू
यहाँ, म एक्सेलमा फोर लूप बनाउनका लागि उदाहरणहरू देखाउनेछु। सूत्र। विस्तृत उदाहरणहरू हेरौं।
१. एक्सेलमा मेक फर लूप गर्न संयुक्त प्रकार्यहरू लागू गर्दै
अब, मलाई यो उदाहरण लेख्न उत्प्रेरित गर्ने पृष्ठभूमि थाहा दिनुहोस्।
म Udemy मा केहि पाठ्यक्रम को लेखक हुँ। पाठ्यक्रमहरू मध्ये एक एक्सेल सशर्त ढाँचामा छ। पाठ्यक्रम शीर्षक हो: 7 व्यावहारिक समस्याहरूसँग एक्सेल सशर्त ढाँचा सिक्नुहोस्। [ यस पाठ्यक्रममा निःशुल्क पहुँच प्राप्त गर्न, यहाँ क्लिक गर्नुहोस् ]।
पाठ्यक्रम छलफल बोर्डमा , एक विद्यार्थीले मलाई तलको [स्क्रिनसट छवि] जस्तो प्रश्न सोधे।
उडेमीमा एक विद्यार्थीले सोधेको प्रश्न।
माथिको प्रश्न ध्यानपूर्वक पढ्नुहोस् र समाधान गर्ने प्रयास गर्नुहोस्…
माथिको समस्या समाधान गर्ने चरणहरू:
यहाँ, म OR , OFFSET , MAX , MIN , र ROW प्रकार्यहरू एक्सेल सूत्रको रूपमा प्रयोग गर्नेछ लुपका लागि ।
- सबैभन्दा पहिले, तपाईंको काम एउटा नयाँ कार्यपुस्तिका खोल्नु र माथिका मानहरूलाई कार्यपत्रमा एक-एक गरी इनपुट गर्नु हो [सेल 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 Cells नामक संवाद बाकस देखा पर्नेछ।
- अब, यसबाट भर्नुहोस् विकल्प >> तपाईंले कुनै पनि रङ रोज्नुपर्छ। यहाँ, मैले हल्का निलो पृष्ठभूमि चयन गरेको छु। साथै, तपाईंले तुरुन्तै नमूना देख्न सक्नुहुन्छ। यस अवस्थामा, कुनै पनि लाइट रङ रोज्ने प्रयास गर्नुहोस्। किनभने गाढा रङले इनपुट गरिएको डाटा लुकाउन सक्छ। त्यसपछि, तपाईंले फन्ट रङ परिवर्तन गर्न आवश्यक पर्दछ।
- त्यसपछि, तपाईंले थिच्नु पर्छ। ठीक छ फर्मेसन लागू गर्न।
- त्यसपछि, तपाईंले ठीक थिच्नु पर्छ नयाँ ढाँचा नियम संवाद बक्स। यहाँ, तपाईंले पूर्वावलोकन बाकसमा तुरुन्तै नमूना देख्न सक्नुहुन्छ।
अन्तमा, तपाईंले ढाँचाबद्ध नम्बरहरू पाउनुहुनेछ।
मलाई माथिको समस्या समाधान गर्नको लागि एल्गोरिदम देखाउन दिनुहोस्:
- यहाँ, तपाईंलाई एल्गोरिदम सजिलैसँग बुझ्नको लागि, म सम्पूर्ण कुरालाई दुई सन्दर्भ कक्षहरूद्वारा व्याख्या गर्नुहोस्: कक्षहरू C11 र C17 । कक्षहरूमा C11 र C17 , मानहरू क्रमशः 10 र 20 छन् (छविको माथि)। यदि तपाइँ एक्सेल सूत्रहरूमा अभ्यस्त हुनुहुन्छ भने, तपाइँ OFFSET प्रकार्यको गन्ध गर्न सक्नुहुन्छ, किनकि OFFSET प्रकार्यले सन्दर्भ बिन्दुहरूसँग काम गर्दछ।
- अब, कल्पना गर्नुहोस् कि म मानहरू लिइरहेको छु। सेल दायराहरू C8:C11 & C11:C14 , र C14:C17 & C17: C20 छेउछाउ [तलको छवि]। सन्दर्भ कक्षहरू C11 र C17 हुन् र म सन्दर्भ कक्षको वरिपरि कुल 7 कक्षहरू लिइरहेको छु। तपाईंले निम्न जस्तै काल्पनिक तस्वीर पाउनुहुनेछ। पहिलो भागबाट, तपाईंले छविबाट ढाँचा फेला पार्न सक्नुहुन्छ। C9–C12=3 , C10-C13=3 , त्यहाँ एउटा ढाँचा छ। तर दोस्रो भागको लागि, त्यहाँ त्यस्तो कुनै ढाँचा छैन।
- त्यसोभए, माथिको ढाँचालाई दिमागमा राखेर एल्गोरिदम निर्माण गरौं। साझा सूत्र निर्माण गर्नु अघि, म देखाउँछु कि सूत्रहरू के हुन्कक्षहरू C11 र C17 र त्यसपछि यसलाई सबैका लागि सामान्य बनाउन सूत्र परिमार्जन गर्नेछ। सन्दर्भ बिन्दुको लागि (जस्तै C11 वा C17 ), म यसको वरिपरि कुल 7 कक्षहरू लिनेछु (सन्दर्भ बिन्दु सहित) र तिनीहरूलाई छेउमा राख्छु। एरेहरू सिर्जना गर्ने सूत्रमा पक्ष। त्यसोभए म arrays को भिन्नता पत्ता लगाउनेछु यदि कुनै पनि भिन्नताहरू 3 बराबर छ भने सन्दर्भ कक्ष TRUE मूल्यवान हुनेछ।
- यहाँ, म सक्छु। OFFSET प्रकार्यको रूपमा OFFSET प्रकार्य प्रयोग गरेर सजिलैसँग गर्नुहोस्। सेल सन्दर्भको लागि भन्नुहोस् C11 , म यस प्रकारको सूत्र लेख्न सक्छु: =OR(OFFSET(C11, 0, 0, 4, 1)-OFFSET(C11, -3, 0, 4, १)=३) । यो सूत्र के फर्काउँछ? सूत्रको पहिलो अफसेट प्रकार्यले एरे फर्काउनेछ: {10; ११; १२; 15} , दोस्रो अफसेट प्रकार्यले एरे {5; ८; ९; 10 । र तपाईलाई थाहा छ {10; ११; १२; १५} - {५; ८; ९; १०} = {१०-५; ११-८; १२-९; १५-१०} = {५; ३; ३; ५ <२>। जब यो एरे तार्किक रूपमा =3 सँग परीक्षण गरिन्छ तब एक्सेलले आन्तरिक रूपमा यसरी गणना गर्छ: {5=3; ३=३; ३=३; ५=३} = {False; सत्य; सत्य; गलत । जब OR प्रकार्य यस array मा लागू हुन्छ: OR({False; True; False; True} , तपाईले TRUE पाउनुहुनेछ। त्यसैले सेल C11 फिर्ताको रूपमा साँचो मानहरू प्राप्त गर्दछ।
- त्यसोभए, मलाई लाग्छ कि तपाईंले यो एल्गोरिदमले कसरी काम गर्ने छ भन्ने सम्पूर्ण अवधारणा प्राप्त गर्नुभएको छ। अब त्यहाँ समस्या छ। यो सूत्रले काम गर्न सक्छ।कक्ष C8 , कक्ष C8 माथि, त्यहाँ 3 कक्षहरू छन्। तर कक्षहरू C5, C6, र C7 को लागि यो सूत्रले काम गर्न सक्दैन। त्यसैले यी कक्षहरूको लागि सूत्र परिमार्जन गर्नुपर्छ।
- अब, कक्षहरू C5 बाट C7 को लागि, हामी सूत्रले माथिल्लो<1 लाई ध्यानमा राख्दैन भन्ने चाहन्छौं।> 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)- अफसेट(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)
- अब, माथिको परिमार्जन बुझ्न प्रयास गर्नुहोस्। यी बुझ्न त्यति गाह्रो छैन। यी सबै चार परिमार्जनहरू एक्सेल VBA को FOR LOOP को रूपमा काम गरिरहेका छन् तर मैले तिनीहरूलाई एक्सेल सूत्रहरू बनाएको छु।
- त्यसैले, तपाईंले सामान्य सूत्र कसरी गर्ने तरिकाहरू पाउनुभयो। C5:C34 बाट कक्षहरूको लागि काम गर्दछ।
त्यसैले म एक्सेल स्प्रेडसिटहरूमा लुपिङको बारेमा कुरा गरिरहेको थिएँ। त्यसोभए, यो एक्सेलमा लुपिङको एक उत्तम उदाहरण हो। यहाँ, प्रत्येक पटक सूत्रले 7 कक्षहरू लिन्छ र एक विशिष्ट मान पत्ता लगाउन कक्षहरूमा काम गर्दछ।
2. IF & वा एक्सेलमा लूपका लागि सिर्जना गर्ने कार्यहरू
यस उदाहरणमा, मान्नुहोस् कि तपाइँ कक्षहरूमा कुनै मानहरू छन् वा छैनन् भनेर जाँच गर्न चाहनुहुन्छ। यसबाहेक, एक्सेल VBA फोर लूप, को साथ तपाईले यो सजिलै गर्न सक्नुहुन्छ तर यहाँ, म एक्सेल सूत्र प्रयोग गरेर गर्नेछु।
अब, तपाइँ प्रयोग गर्न सक्नुहुन्छ। द IF , र OR ले फोर लूप सिर्जना गर्न एक्सेल सूत्रको रूपमा कार्य गर्दछ। यसबाहेक, तपाईं आफ्नो प्राथमिकता अनुसार यो सूत्र परिमार्जन गर्न सक्नुहुन्छ। चरणहरू तल दिइएको छ।
चरणहरू:
- पहिले, तपाईंले एउटा फरक सेल चयन गर्नुपर्छ E5 जहाँ तपाईं हेर्न चाहनुहुन्छ स्थिति ।
- दोस्रो, तपाईंले E5 कक्षमा सम्बन्धित सूत्र प्रयोग गर्नुपर्छ।
=IF(OR(B5="",C5="",D5=""),"Info Missing","Done")
- पछि, नतिजा प्राप्त गर्न ENTER थिच्नुहोस्। 14>
- पहिले, B5=”” 1st तर्क हो, जसले सेल B5 मा कुनै पनि समावेश छ कि छैन भनेर जाँच गर्नेछ। मान वा होइन।
- दोस्रो, C5=”” 2nd तर्क हो, जसले सेल C5 मा कुनै मान छ वा छैन भनी जाँच गर्नेछ। होइन।
- तेस्रो, D5=”” 3rd तर्क हो। त्यसै गरी, जसले सेल D5 मा कुनै मान समावेश छ वा छैन भनेर जाँच गर्नेछ।
- जब OR प्रकार्यले TRUE दिन्छ तब तपाईंले स्थिति को रूपमा " जानकारी छुटेको " पाउनुहुनेछ। । अन्यथा, तपाईंले स्थिति को रूपमा " Done " प्राप्त गर्नुहुनेछ।
- त्यसपछि, तपाईंले फिल ह्यान्डल<तान्नु पर्छ। 2> आइकन स्वतः भर्नुहोस् बाँकी डेटामा सम्बन्धित डेटाकक्षहरू E6:E13 । 17 .
<7
सूत्र ब्रेकडाउन
यहाँ, OR प्रकार्यले TRUE फर्काउँछ यदि दिइएको तर्क मध्ये कुनै पनि TRUE ।
अब, IF प्रकार्यले परिणाम फर्काउँछ जसले दिइएको सर्त पूरा गर्नेछ।
3. एक्सेलमा फर लूप सिर्जना गर्न SUMIFS प्रकार्य नियोजित गर्दै
मान्नुहोस्, तपाइँ एक निश्चित व्यक्तिको लागि कुल बिल बनाउन चाहनुहुन्छ। त्यस अवस्थामा, तपाईंले एक्सेल सूत्र प्रयोग गरेर फोर लूप प्रयोग गर्न सक्नुहुन्छ। यहाँ, म एक्सेलमा फर लूप सिर्जना गर्न SUMIFS प्रकार्य प्रयोग गर्नेछु। चरणहरू तल दिइएको छ।
चरणहरू:
- सबैभन्दा पहिले, तपाईंले एउटा फरक सेल चयन गर्नुपर्छ F7 जहाँ तपाईं हेर्न चाहनुहुन्छ स्थिति ।
- दोस्रो, तपाईंले F7 कक्षमा सम्बन्धित सूत्र प्रयोग गर्नुपर्छ।
=SUMIFS($C$5:$C$13,$B$5:$B$13,E7)
- पछि, नतिजा प्राप्त गर्न ENTER थिच्नुहोस्। 14>
- यहाँ, $C$5:$C$13 डेटा दायरा हो जसबाट SUMIFS प्रकार्यले योगफल गर्नेछ।
- त्यसपछि, $B$5:$B$13 डाटा दायरा हो जहाँबाट SUMIFS प्रकार्यले दिइएको मापदण्ड जाँच गर्नेछ
- अन्तमा, E7 मापदण्ड हो।
- त्यसोभए, SUMIFS प्रकार्यले E7 सेल मानको लागि भुक्तानीहरू थप्नेछ।
- त्यसपछि, तपाईंले Fill Handle आइकन तान्नु पर्छ बाँकी कक्षहरूमा सम्बन्धित डाटा स्वत: भर्न F8:F10 ।
सूत्र ब्रेकडाउन
अन्तमा, तपाईंले परिणाम प्राप्त गर्नुहुनेछ।
निष्कर्ष
हामी आशा गर्दछौं कि तपाईंयो लेख उपयोगी लाग्यो। यहाँ, हामीले एक्सेलमा सूत्रहरू प्रयोग गरेर 3 उपयुक्त उदाहरणहरू व्याख्या गरेका छौं। तपाईं हाम्रो वेबसाइट Exceldemy मा एक्सेल सम्बन्धित सामग्री जान्न सक्नुहुन्छ। कृपया तलको टिप्पणी खण्डमा टिप्पणी, सुझाव, वा प्रश्नहरू छोड्नुहोस्।