सामान्य सूत्र
=SUM(firstcell:INDEX(data,rows,cols))
सारांश
किसी अन्य सेल में एक मूल्य के आधार पर सीमा को परिभाषित करने के लिए, आप INDEX फ़ंक्शन का उपयोग कर सकते हैं। दिखाए गए उदाहरण में, J7 का सूत्र है:
=SUM(C5:INDEX(data,J5,J6))
जहाँ "डेटा" नाम सीमा B5: G9 है।
स्पष्टीकरण
यह सूत्र INDEX के एक विशिष्ट व्यवहार पर निर्भर करता है - हालांकि ऐसा लगता है कि INDEX एक विशेष स्थान पर मूल्य लौटाता है, यह वास्तव में स्थान के संदर्भ को वापस करता है। अधिकांश फ़ार्मुलों में, आपको अंतर नज़र नहीं आएगा - एक्सेल केवल संदर्भ का मूल्यांकन करता है और मान लौटाता है। यह सूत्र कार्यपत्रक इनपुट के आधार पर एक गतिशील रेंज के निर्माण के लिए इस सुविधा का उपयोग करता है।
सम फ़ंक्शन के अंदर, पहला संदर्भ बस उस रेंज की पहली सेल है जिसमें सभी संभावित सेल शामिल हैं:
=SUM(C5:
अंतिम सेल प्राप्त करने के लिए, हम INDEX का उपयोग करते हैं। यहां, हम INDEX को "डेटा" नाम दिया गया है, जो मानों की अधिकतम संभव सीमा है, और J5 (पंक्तियाँ) और J6 (कॉलम) से मान भी। INDEX एक सीमा नहीं लौटाता है, यह केवल उस स्थान पर एकल कक्ष देता है, उदाहरण में E9:
INDEX(data,J5,J6) // returns E9
मूल सूत्र निम्नानुसार है:
=SUM(C5:E9)
जो 300 लौटाता है, C5: E9 में सभी मूल्यों का योग।
J8 में सूत्र लगभग समान है, लेकिन औसत की गणना करने के लिए SUM के बजाय AVERAGE का उपयोग करता है। जब कोई उपयोगकर्ता J5 या J6 में मान बदलता है, तो सीमा को अद्यतन किया जाता है, और नए परिणाम लौटाए जाते हैं।
OFFSET के साथ वैकल्पिक
आप नीचे दिखाए गए OFFSET फ़ंक्शन के साथ एक समान सूत्र बना सकते हैं:
=SUM(OFFSET(C5,0,0,J5,J6)) // sum =AVERAGE(OFFSET(C5,0,0,J5,J6)) // average
OFFSET को एक सीमा पर लौटने के लिए डिज़ाइन किया गया है, इसलिए सूत्र शायद समझने में सरल हैं। हालाँकि, OFFSET एक अस्थिर कार्य है, और बड़े, अधिक जटिल कार्यपत्रकों में उपयोग किए जाने पर प्रदर्शन समस्याओं का कारण बन सकता है।