Excel सूत्र: अंतिम 3 संख्यात्मक मान -

सामान्य सूत्र

(=AVERAGE(LOOKUP(LARGE(IF(ISNUMBER(data),ROW(data)),(1,2,3)),ROW(data), data)))

सारांश

किसी श्रेणी में अंतिम 3 संख्यात्मक मानों को औसत करने के लिए, आप एवरेज फ़ंक्शन में अंतिम एन संख्यात्मक मानों को खिलाने के लिए फ़ंक्शन के संयोजन के आधार पर एक सरणी सूत्र का उपयोग कर सकते हैं। दिखाए गए उदाहरण में, D6 में सूत्र है:

(=AVERAGE(LOOKUP(LARGE(IF(ISNUMBER(data),ROW(data)),(1,2,3)), ROW(data), data)))

जहां "डेटा" नाम B5: B13 है।

नोट: यह एक सरणी सूत्र है, और इसे नियंत्रण + शिफ्ट + दर्ज के साथ दर्ज किया जाना चाहिए।

स्पष्टीकरण

AVERAGE फ़ंक्शन किसी सरणी में प्रस्तुत औसत संख्या की गणना करेगा, इसलिए इस सूत्र में लगभग सभी काम एक सीमा में अंतिम 3 संख्यात्मक मानों की एक सरणी उत्पन्न करना है। अंदर के बाहर से कार्य करना, IF फ़ंक्शन का उपयोग संख्यात्मक मानों को "फ़िल्टर" करने के लिए किया जाता है:

IF(ISNUMBER(data),ROW(data))

ISNUMBER फ़ंक्शन संख्यात्मक मानों के लिए TRUE लौटाता है, और अन्य मानों के लिए FALSE (रिक्त स्थान सहित), और ROW फ़ंक्शन पंक्ति संख्याएँ लौटाता है, इसलिए इस ऑपरेशन का परिणाम एक सरणी पंक्ति संख्याएँ होती हैं जो संख्यात्मक प्रविष्टियों के अनुरूप होती हैं:

(5;6;FALSE;8;9;10;FALSE;12;13)

यह सरणी k के लिए सरणी स्थिरांक (1,2,3) के साथ LARGE फ़ंक्शन में जाती है। LARGE स्वचालित रूप से FALSE मूल्यों की अनदेखी करता है और सबसे बड़ी 3 संख्याओं के साथ एक सरणी देता है, जो संख्यात्मक अंकों के साथ अंतिम 3 पंक्तियों के अनुरूप है:

(13,12,10)

यह सरणी लुकअप मान के रूप में LOOKUP फ़ंक्शन में जाती है। लुकअप सरणी ROW फ़ंक्शन द्वारा प्रदान की जाती है, और परिणाम सरणी का नाम "डेटा" श्रेणी है:

LOOKUP((13,12,10), ROW(data), data))

LOOKUP फिर एक सरणी देता है जिसमें "डेटा" में संबंधित मान होते हैं, जिसे AVERAGE में खिलाया जाता है:

=AVERAGE((100,92,90))

कम मूल्यों को संभालना

यदि संख्यात्मक मानों की संख्या 3 से कम हो जाती है, तो यह सूत्र #NUM त्रुटि लौटाएगा क्योंकि LARGE अनुरोध के अनुसार 3 मान वापस नहीं कर पाएगा। इसे हैंडल करने का एक तरीका यह है कि हार्ड-कोडेड ऐरे कंटिन्यू (1,2,3) को डायनेमिक ऐरे के साथ बनाकर इसे इंडिरेक्ट की तरह प्रयोग किया जाए:

ROW(INDIRECT("1:"&MIN(3,COUNT(data))))

यहां, MIN का उपयोग सरणी की ऊपरी सीमा को 3 या संख्यात्मक मानों की वास्तविक संख्या को सेट करने के लिए किया जाता है, जो भी छोटा हो।

नोट: मैं chandoo.org पर इस चतुर दृष्टिकोण में भाग गया, साजन द्वारा एक समान प्रश्न के उत्तर में।

दिलचस्प लेख...