कोर्स
SUMIF() और SUMIFS() जैसे फंक्शनों के आने से पहले, सशर्त लॉजिक संभालने के लिए SUMPRODUCT() Excel के प्रमुख टूल्स में से एक था। विश्लेषकों ने समर्पित सशर्त फंक्शन्स आने से बहुत पहले डेटा को फिल्टर करने, एकाधिक मानदंड लागू करने, और वेटेड परिणामों की गणना करने के लिए इसका उपयोग किया।
आज भी, SUMPRODUCT() ऐसे परिदृश्यों को संभालता है जिनमें नए फंक्शन्स संघर्ष करते हैं, खासकर जब कई शर्तें, एरेज़, या गणनाएँ एक साथ मूल्यांकित करनी हों।
इसके बावजूद, इसे या तो अनदेखा किया जाता है या गलत समझा जाता है। कई उपयोगकर्ताओं को इसका अस्तित्व पता है, लेकिन वे बुनियादी उदाहरणों से आगे नहीं बढ़ते।
इस लेख में, आप सीखेंगे कि सशर्त और वेटेड गणनाओं के लिए SUMPRODUCT() का उपयोग कैसे करें, और आम त्रुटियों से कैसे बचें ताकि आप वास्तविक Excel मॉडलों में इसे आत्मविश्वास से उपयोग कर सकें।
SUMPRODUCT() को समझना
SUMPRODUCT() एक Excel फ़ंक्शन है जो एरेज़ में स्थित संबंधित मानों का गुणा करता है और फिर परिणामों को जोड़ देता है, ताकि आप एक ही फ़ॉर्मूला में जटिल गणनाएँ कर सकें। हालांकि इसे अक्सर उन्नत विश्लेषण से जोड़ा जाता है, इसका मूल उद्देश्य कहीं अधिक व्यावहारिक था।
मौलिक अवधारणाएँ और मूल सिंटैक्स
Excel में SUMPRODUCT() फ़ंक्शन दो या अधिक रेंज लेता है, उनके संबंधित मानों का गुणा करता है, और परिणामों को जोड़कर एक अंतिम मान देता है। इसका मुख्य उद्देश्य गणना और समेकन को एक ही फ़ॉर्मूला में संयोजित करना और अतिरिक्त हेल्पर कॉलम्स की आवश्यकता को समाप्त करना है।
इसका मतलब है कि आप कितने भी एरेज़ शामिल करें, SUMPRODUCT() हमेशा एक संख्यात्मक परिणाम देता है।
SUMPRODUCT() का सिंटैक्स है:
SUMPRODUCT(array1, [array2], …)
इस सिंटैक्स का विश्लेषण इस प्रकार है:
|
एलिमेंट |
विवरण |
टिप्पणियाँ |
|
|
गणना में उपयोग की जाने वाली पहली रेंज या एरे |
आवश्यक |
|
|
|
वैकल्पिक |
|
|
आप एक ही फ़ॉर्मूला में कई एरे शामिल कर सकते हैं |
सभी एरे एक-दूसरे के अनुरूप होने चाहिए |
जब आप SUMPRODUCT() का उपयोग करते हैं, तो निम्न बातों पर विचार करें:
-
प्रत्येक एरे में पंक्तियों और स्तंभों की संख्या समान होनी चाहिए क्योंकि
SUMPRODUCT()आइटमों को स्थिति के आधार पर संरेखित करता है। -
यदि कोई एरे लंबा है या उसका आकार अलग है, तो फ़ंक्शन मानों का सही मिलान नहीं कर पाएगा और
#VALUE!त्रुटि दे सकता है। -
खाली सेल्स को शून्य माना जाता है।
-
पाठ को गणनाओं में नज़रअंदाज़ किया जाता है, जब तक कि उसे किसी लॉजिकल अभिव्यक्ति में उपयोग न किया गया हो।
डिफॉल्ट व्यवहार: गुणा और जोड़
डिफॉल्ट रूप से, SUMPRODUCT() कई एरेज़ के संबंधित मानों का गुणा करता है और फिर परिणामों को जोड़ता है। यह तत्व-दर-तत्व गुणा और उसके बाद जोड़ना ही फ़ंक्शन का कार्य-तरीका है।
उदाहरण के लिए, यदि हमारे पास मात्रा और मूल्य वाला एक सरल डेटासेट है। यदि Quantity कॉलम में मात्राएँ और Price कॉलम में मूल्य हैं, तो निम्न फ़ॉर्मूला कुल राजस्व की गणना करता है:
=SUMPRODUCT(A2:A4, B2:B4)

Excel में SUMPRODUCT(). चित्र: लेखक द्वारा।
परिणाम के पीछे, Excel प्रत्येक पंक्ति का अलग-अलग मूल्यांकन करता है और फिर परिणाम जोड़ता है:
- पंक्ति 1: 2 × 50 = 100
- पंक्ति 2: 3 × 30 = 90
- पंक्ति 3: 1 × 20 = 20
फिर Excel इन मानों को जोड़ता है: 100 + 90 + 20 = 210
यह उन हेल्पर कॉलम्स की आवश्यकता को समाप्त करता है जो जोड़ने से पहले पंक्ति-स्तरीय कुलों की मैन्युअल गणना करते हैं। SUMPRODUCT() पूरी गणना को एक ही फ़ॉर्मूला में रखता है, जिससे फ़ॉर्मूलों का फैलाव कम होता है और रेफरेंसिंग त्रुटियों का जोखिम घटता है।
यह डिफॉल्ट गुणा-फिर-जोड़ व्यवहार बाद में और उन्नत उपयोगों को सक्षम करता है, जिनमें सशर्त लॉजिक और वेटेड गणनाएँ शामिल हैं।
बुनियाद से आगे SUMPRODUCT() का विस्तार
अब जब आपको इसका काम समझ आ गया है, तो देखें कि SUMPRODUCT() कौन-कौन से उन्नत ऑपरेशन कर सकता है:
उन्नत अंकगणित और ऑपरेटर का उपयोग
SUMPRODUCT() पूरे अंकगणितीय अभिव्यक्तियों का मूल्यांकन कर सकता है, जिनमें जोड़, घटाव और भाग शामिल हैं, और यह सब पंक्ति-दर-पंक्ति आधार पर जोड़ने से पहले।
जब आप किसी अभिव्यक्ति में अंकगणितीय ऑपरेटर (*, +, -, /) का उपयोग करते हैं, तो Excel पहले प्रत्येक पंक्ति के लिए पूरी गणना का मूल्यांकन करता है। उदाहरण के लिए, यह फ़ॉर्मूला कुल राजस्व में से डिस्काउंट घटाता है:
=SUMPRODUCT((B2:B6*C2:C6)-E2:E6)
यह प्रत्येक पंक्ति के लिए Quantity × Price का गुणा करता है और Discount मान घटाता है, और फिर सभी परिणामों को जोड़कर एक एकल कुल देता है।

SUMPRODUCT() में अंकगणितीय अभिव्यक्तियाँ और ऑपरेटर का उपयोग करें। चित्र: लेखक द्वारा।
हालाँकि, कॉमा अलग तरह से काम करते हैं। जब आप एरेज़ को कॉमा से अलग करते हैं, तो प्रत्येक एरे को स्वतंत्र इनपुट माना जाता है, और SUMPRODUCT() जोड़ने से पहले उन एरेज़ के पार संबंधित तत्वों का गुणा करता है।
लॉजिकल शर्तों का उपयोग करने के लिए, SUMPRODUCT() डबल यूनरी ऑपरेटर -- पर निर्भर करता है। A2:A6>100 जैसी लॉजिकल अभिव्यक्तियाँ TRUE या FALSE मान लौटाती हैं, जिन्हें अंकगणित में भाग लेने से पहले 1 और 0 में परिवर्तित करना आवश्यक है।
डबल यूनरी वही परिवर्तन करता है:
=SUMPRODUCT(--(A2:A6>100), B2:B6)
इस उदाहरण में, केवल वे पंक्तियाँ जो शर्त को TRUE के रूप में संतुष्ट करती हैं, कुल में योगदान देती हैं।
यही ऑपरेटर लचीलापन—अंकगणितीय अभिव्यक्तियों, लॉजिकल परीक्षणों और एरे पेयरिंग का संयोजन—SUMPRODUCT() को मॉडलिंग, रिपोर्टिंग, और उन परिदृश्यों में अमूल्य बनाता है जहाँ अन्यथा हेल्पर कॉलम्स की आवश्यकता होती।
सशर्त गणनाएँ और लॉजिकल मानदंड
SUMPRODUCT() फ़ॉर्मूला के भीतर सीधे लॉजिकल शर्तों का मूल्यांकन कर सकता है। ये शर्तें TRUE और FALSE मानों के एरे बनाती हैं, जिन्हें गणनाओं में भाग लेने से पहले संख्याओं में बदलना होता है।
मान लीजिए हम Fruit श्रेणी के उत्पादों के लिए Quantity का योग करना चाहते हैं। इस स्थिति में, यदि आप यह फ़ॉर्मूला आज़माते हैं =SUMPRODUCT((D2:D6="Fruit"), B2:B6), तो परिणाम 0 होगा।
क्यों? क्योंकि इस तरह का लॉजिकल परीक्षण: D2:D6="Fruit" {TRUE, TRUE, FALSE, TRUE, FALSE} देता है।
ये लॉजिकल मान हैं, संख्याएँ नहीं। और क्योंकि SUMPRODUCT() संख्यात्मक गणित करता है, इन लॉजिकल मानों को 1 और 0 में बदलना आवश्यक है। डबल यूनरी ऑपरेटर -- यह परिवर्तन करता है:
--(D2:D6="Fruit")
यह लॉजिकल मानों को इस तरह संख्याओं में बदलता है:
{1, 1, 0, 1, 0}
यहाँ, TRUE 1 बन जाता है और FALSE 0। अब SUMPRODUCT() सही गुणा कर सकता है।
=SUMPRODUCT(--(D2:D6="Fruit"), B2:B6)
यह इस तरह गणना करता है:
(1×5) + (1×3) + (0×4) + (1×2) + (0×6) = 10
केवल वे पंक्तियाँ जो 1 से चिह्नित हैं, गणना में शामिल होती हैं। परिणाम 10 है, जो Fruit उत्पादों की कुल मात्रा है।

Excel में SUMPRODUCT() में डबल यूनरी का उपयोग करें। चित्र: लेखक द्वारा।
एकाधिक मानदंड संभालना (AND/OR लॉजिक)
SUMPRODUCT() AND और OR लॉजिक का उपयोग करके कई शर्तों को संभालता है। देखें कैसे:
AND लॉजिक: सभी शर्तें पूरी होनी चाहिए
AND लॉजिक लागू करने के लिए, शर्तों का गुणा * से किया जाता है। क्योंकि केवल 1 × 1 ही 1 होता है, कोई पंक्ति तभी शामिल होती है जब हर शर्त TRUE हो:
=SUMPRODUCT(--(A2:A10>50)* --(B2:B10<100)* C2:C10)
आप एरेज़ को कॉमा से अलग भी कर सकते हैं। डिफॉल्ट रूप से, SUMPRODUCT() कॉमा-सेपरेटेड एरेज़ का गुणा करता है। लेकिन * AND लॉजिक को देखना आसान बनाता है।
=SUMPRODUCT(--(A2:A10>50), --(B2:B10<100), C2:C10)
इस उदाहरण में, कॉलम C के मान तभी जोड़े जाते हैं जब:
- कॉलम A 50 से अधिक हो
- कॉलम B 100 से कम हो
यदि कोई भी शर्त विफल होती है, तो पंक्ति 0 में मूल्यांकित होती है और बाहर कर दी जाती है।
OR लॉजिक: कोई भी शर्त पूरी हो सकती है
OR लॉजिक शर्तों को + से जोड़कर बनाया जाता है। यदि कोई भी शर्त TRUE होती है, तो पंक्ति कुल में योगदान देती है:
=SUMPRODUCT(--((A2:A10>50)+(B2:B10<100)), C2:C10)
यहाँ, पंक्तियाँ शामिल होती हैं जब कोई भी शर्त TRUE हो। जोड़ से 1 से बड़े मान आ सकते हैं, लेकिन डबल यूनरी -- किसी भी नॉन-जीरो परिणाम को 1 में बदल देता है, जिससे प्रत्येक पंक्ति एक बार ही गिनी जाए।

SUMPRODUCT() का उपयोग करके AND और OR लॉजिक लागू करें। चित्र: लेखक द्वारा।
क्यों SUMPRODUCT() अक्सर SUMIFS() पर प्राथमिकता पाता है
जहाँ SUMIFS() कई AND शर्तों को अच्छी तरह संभालता है, वहाँ यह OR लॉजिक या अधिक जटिल पैटर्न का स्वाभाविक रूप से मूल्यांकन नहीं कर पाता, खासकर जब शर्तें कई कॉलम्स में फैली हों या संख्यात्मक और पाठ्य मानदंड मिश्रित हों।
SUMPRODUCT() निम्न स्थितियों में उत्कृष्ट है:
- कॉलम्स में OR लॉजिक लागू करना
- संख्यात्मक थ्रेशहोल्ड्स को पाठ्य शर्तों के साथ संयोजित करना
- हेल्पर कॉलम्स के बिना मल्टी-कॉलम फिल्टर्स बनाना
यह लचीलापन SUMPRODUCT() को उन्नत फिल्टरिंग, मॉडलिंग, और रिपोर्टिंग परिदृश्यों में एक भरोसेमंद विकल्प बनाता है जहाँ सशर्त लॉजिक मानक SUMIFS() नियमों से आगे जाता है।
SUMPRODUCT() के साथ अनुप्रयुक्त विश्लेषणात्मक तकनीकें
SUMPRODUCT() सिर्फ सरल गणनाओं के लिए नहीं है; यह जटिल विश्लेषण को भी संभाल सकता है।
पंक्ति और स्तंभ मानदंडों के अनुप्रयोग
SUMPRODUCT() एक ही समय में पंक्तियों और स्तंभों के पार शर्तें लागू कर सकता है। इसलिए मैट्रिक्स-शैली या क्रॉस-टैब्युलेटेड डेटा के साथ काम करना आसान हो जाता है।
INDEX/MATCH की तरह एक एकल मान लौटाने के बजाय, यह एक साथ कई इंटरसेक्शन्स का मूल्यांकन कर सकता है और संयुक्त कुल लौटा सकता है।
यह SUMPRODUCT() को बिना हेल्पर कॉलम्स या अलग लुकअप फ़ॉर्मूलों के एक डायनेमिक टू-वे लुकअप की तरह कार्य करने देता है।
मान लीजिए आपके पास उत्पाद (पंक्तियाँ) और क्षेत्र (स्तंभ) के अनुसार सेल्स मैट्रिक्स है, और आप North और East क्षेत्रों में Apple और Banana की कुल बिक्री निकालना चाहते हैं।
इसके लिए आप निम्न फ़ॉर्मूला उपयोग करेंगे:
=SUMPRODUCT(
B2:E4 *
((A2:A4="Apple")+(A2:A4="Banana")) *
((B1:E1="North")+(B1:E1="East"))
)

SUMPRODUCT() मैट्रिक्स गुणन संभालता है। चित्र: लेखक द्वारा।
इस फ़ॉर्मूला में:
-
B2:E4में बिक्री के मान हैं -
(A2:A4="Apple") + (A2:A4="Banana")एक ऊर्ध्वाधर पंक्ति फिल्टर बनाता है -
(B1:E1="North") + (B1:E1="East")एक क्षैतिज स्तंभ फिल्टर बनाता है
जो पंक्तियाँ और स्तंभ मानदंडों को पूरा करते हैं वे 1 में मूल्यांकित होते हैं। अन्य सभी 0 में। सेल्स मैट्रिक्स का प्रत्येक मान अपनी पंक्ति और स्तंभ शर्तों से गुणा होता है।
केवल वे सेल्स जो दोनों शर्तें पूरी करते हैं, नॉन-जीरो रहते हैं।
इस उदाहरण में:
- Apple (North + East): 120 + 110
- Banana (North + East): 70 + 85
कुल: 385
यह पैटर्न किसी भी द्वि-आयामी डेटासेट पर काम करता है जहाँ एक साथ कई पंक्ति और स्तंभ शर्तें लागू करनी हों, जैसे:
- उत्पाद × क्षेत्र
- वर्ष × श्रेणी
- विभाग × लागत प्रकार
इन परिदृश्यों में, SUMPRODUCT() पारंपरिक लुकअप फंक्शनों की तुलना में अधिक लचीलापन देता है और नेस्टेड फ़ॉर्मूलों की जटिलता से बचाता है।
वेटेड एवरेज गणनाएँ
वेटेड एवरेज SUMPRODUCT() के लिए स्वाभाविक रूप से उपयुक्त हैं क्योंकि गणना स्वयं फ़ंक्शन के डिफॉल्ट व्यवहार का अनुसरण करती है: मानों को वेट्स से गुणा करें, फिर परिणाम जोड़ें।
मानक वेटेड एवरेज फ़ॉर्मूला इस प्रकार दिखता है:
(Sum of Score × Weight) ÷ (Sum of Weights)
लेकिन SUMPRODUCT() इसे एक ही चरण में गुणा और जोड़ संभालकर सरल बना देता है। हेल्पर कॉलम बनाने के बजाय, आप वेटेड टोटल सीधे निकाल सकते हैं और वेट्स के योग से भाग दे सकते हैं:
=SUMPRODUCT(values, weights) / SUM(weights)
उदाहरण के लिए, किसी छात्र का वेटेड कोर्स औसत निकालने के लिए आप यह फ़ॉर्मूला उपयोग कर सकते हैं:
=SUMPRODUCT(B2:B4, C2:C4) / SUM(C2:C4)
Excel प्रत्येक घटक का इस प्रकार मूल्यांकन करता है:
- Math: 85 × 0.40 = 34
- Science: 90 × 0.35 = 31.5
- English: 78 × 0.25 = 19.5
वेटेड कुल 85 है, जो अंतिम औसत बनता है।

SUMPRODUCT का उपयोग करके वेटेड एवरेज की गणना। चित्र: लेखक द्वारा।
मानदंडों के साथ वेट्स को फिल्टर या समायोजित करना
जहाँ SUMPRODUCT() और अधिक सहायक बनता है, वह तब है जब वेट्स को डायनेमिक रूप से समायोजित करना हो।
उदाहरण के लिए, आप कुछ कोर्स को बाहर कर सकते हैं या गणना पर शर्तें लागू कर सकते हैं:
=SUMPRODUCT(B2:B6, C2:C6, --(D2:D6<>"Optional")) /
SUMPRODUCT(C2:C6, --(D2:D6<>"Optional"))
यह फ़ॉर्मूला वेटेड कुल (अंश) को कुल वेट (हर) से भाग देता है।

SUMPRODUCT का उपयोग करके वेटेड एवरेज की गणना। चित्र: लेखक द्वारा।
इस फ़ॉर्मूला में:
-
(D2:D6<>"Optional"){TRUE, TRUE, FALSE, TRUE, FALSE}देता है -
--(D2:D6<>"Optional")इसे{1, 1, 0, 1, 0}में बदलता है -
अंश:
(85×0.25×1) + (90×0.25×1) + (78×0.20×0) + (88×0.20×1) + (92×0.10×0) = 21.25 + 22.50 + 0 + 17.60 + 0 = 61.35 -
हर:
(0.25×1) + (0.25×1) + (0.20×0) + (0.20×1) + (0.10×0) = 0.70
इस पैटर्न में, केवल वही पंक्तियाँ जो शर्त पूरी करती हैं, वेटेड कुल और कुल वेट, दोनों में योगदान देती हैं। इससे डेटा को पुनर्संरचित किए बिना या हेल्पर कॉलम जोड़े बिना गणना सटीक रहती है।
क्योंकि वेटेड एवरेज जोड़ने से पहले पंक्ति-दर-पंक्ति गुणा पर निर्भर करता है, SUMPRODUCT() अक्सर ग्रेडिंग मॉडल्स, पोर्टफोलियो वेटिंग, और परफॉर्मेंस स्कोरिंग के लिए सबसे प्रत्यक्ष और लचीला टूल होता है।
उन्नत अनुप्रयोग और जटिल परिदृश्य
SUMPRODUCT() की सबसे बड़ी ताकतों में से एक है इसका अन्य Excel फंक्शनों के साथ आसानी से संयोजन। क्योंकि यह पंक्ति-दर-पंक्ति गणनाओं का मूल्यांकन करता है, यह पाठ्य फंक्शनों, लुकअप परिणामों, और लॉजिकल परीक्षणों को लचीले विश्लेषण के लिए संख्यात्मक इनपुट में बदल सकता है।
देखते हैं कैसे।
SEARCH() के साथ SUMPRODUCT() का उपयोग करके आंशिक टेक्स्ट मैच
ऐसे टेक्स्ट का मिलान करने के लिए जिसमें कोई शब्द या वाक्यांश शामिल हो, SUMPRODUCT() को SEARCH() और ISNUMBER() के साथ पेयर करें:
=SUMPRODUCT(--ISNUMBER(SEARCH("Apple", A2:A5)), B2:B5)
इस फ़ॉर्मूला में:
-
SEARCH()मैच मिलने पर एक संख्या लौटाता है -
ISNUMBER()मैचों कोTRUE/FALSEमें बदलता है -
--उन मानों को1और0में बदल देता है
केवल वे पंक्तियाँ जो “Apple” शामिल करती हैं, कुल में योगदान देती हैं।

SEARCH() के साथ SUMPRODUCT() को संयोजित करना। चित्र: लेखक द्वारा।
EXACT() के साथ SUMPRODUCT() का उपयोग करके केस-सेंसिटिव मिलान
डिफॉल्ट रूप से, Excel के टेक्स्ट तुलनाएँ केस-सेंसिटिव नहीं होतीं। जब केस मायने रखे, तो आप EXACT() को SUMPRODUCT() के अंदर इस तरह उपयोग कर सकते हैं:
=SUMPRODUCT(--EXACT(A2:A5,"Apple"), B2:B5)
यह सुनिश्चित करता है कि केवल वही टेक्स्ट शामिल हो जो अक्षर केस सहित बिल्कुल मेल खाता हो।

EXACT() के साथ SUMPRODUCT() को संयोजित करना। चित्र: लेखक द्वारा।
VLOOKUP() के साथ SUMPRODUCT() का उपयोग
SUMPRODUCT() अपने लॉजिक के हिस्से के रूप में लुकअप परिणामों का भी मूल्यांकन कर सकता है। जब इसे VLOOKUP() के साथ जोड़ा जाता है, तो यह किसी अलग टेबल में संग्रहीत मानों के आधार पर सशर्त गणनाएँ करने देता है:
=SUMPRODUCT(
(VLOOKUP(A2:A5, D2:E5, 2, FALSE)="Fruit") *
B2:B5
)
यहाँ, VLOOKUP() प्रत्येक उत्पाद के लिए श्रेणी प्राप्त करता है, और SUMPRODUCT() केवल वे पंक्तियाँ शामिल करता है जो निर्दिष्ट शर्त से मेल खाती हैं। यह तरीका हेल्पर कॉलम्स से बचाता है और पारंपरिक SUMIF() फ़ॉर्मूलों की तुलना में अधिक लचीला लुकअप-आधारित फिल्टरिंग समर्थन देता है।

VLOOKUP() के साथ SUMPRODUCT() को संयोजित करना। चित्र: लेखक द्वारा।
COUNTIF() के साथ SUMPRODUCT() का उपयोग करके यूनिक मानों की गिनती
आप COUNTIF() के साथ SUMPRODUCT() का उपयोग करके यूनिक मानों की गिनती इस तरह कर सकते हैं:
=SUMPRODUCT(1/COUNTIF(A2:A6, A2:A6))

COUNTIF() के साथ SUMPRODUCT() को संयोजित करना। चित्र: लेखक द्वारा।
इस फ़ॉर्मूला में, डुप्लिकेट मान अंशात्मक वेट्स साझा करते हैं जो 1 तक जोड़ते हैं, इसलिए प्रत्येक यूनिक आइटम एक बार गिना जाता है। इसी वजह से परिणाम 3 आता है।
हालाँकि नए फंक्शन्स मौजूद हैं, यह तकनीक पुराने Excel संस्करणों या जटिल एरे मॉडलों में अब भी सहायक है।
ट्रबलशूटिंग, ऑप्टिमाइज़ेशन, और सर्वोत्तम अभ्यास
अब जब आपको पता है कि SUMPRODUCT() का उपयोग कैसे और कहाँ करना है, तो यहाँ कुछ चुनौतियाँ हैं जिनसे आप दो-चार हो सकते हैं और उन्हें कैसे हल करें:
त्रुटि प्रबंधन और सामान्य चुनौतियाँ
अधिकांश SUMPRODUCT() त्रुटियाँ त्रुटिपूर्ण लॉजिक से नहीं, बल्कि मामूली संरचनात्मक समस्याओं से आती हैं। जब कोई फ़ॉर्मूला 0, अप्रत्याशित कुल, या त्रुटि लौटाता है, तो समस्या आमतौर पर आसानी से अलग की जा सकती है:
मिसमैच्ड एरे साइज़
SUMPRODUCT() में उपयोग किए गए हर एरे में समान संख्या में पंक्तियाँ और स्तंभ होने चाहिए। यदि एक रेंज दूसरी की तुलना में लंबी या चौड़ी है, तो फ़ॉर्मूला सही ढंग से मूल्यांकित नहीं कर सकता।
त्वरित जाँच: सुनिश्चित करें कि सभी संदर्भित रेंज समान पंक्तियों और स्तंभों पर शुरू और समाप्त होती हैं।
अप्रत्याशित टेक्स्ट या छिपे हुए कैरेक्टर्स
SUMPRODUCT() संख्यात्मक गणित करता है। यदि कोई रेंज संख्यात्मक दिखती है लेकिन उसमें स्पेसेज़ या टेक्स्ट है, तो गणना गलत परिणाम या शून्य दे सकती है।
त्वरित उपाय: अतिरिक्त स्पेसेज़ हटाने के लिए TRIM() का उपयोग करें, या उपयुक्त होने पर मानों को मजबूरन संख्याओं में बदलने के लिए -- लगाएँ।
गलत जगह पर कोष्ठक
कोष्ठक मूल्यांकन क्रम को नियंत्रित करते हैं। कोई छूटा हुआ या गलत जगह का कोष्ठक किसी शर्त को गलत तरीके से लागू कर सकता है या बिल्कुल नहीं।
त्वरित उपाय: प्रत्येक लॉजिकल परीक्षण को स्पष्ट रूप से समूहित करें, फिर उसे अंकगणित या अन्य शर्तों के साथ संयोजित करें।
बीच-बीच के लॉजिक का चरणबद्ध परीक्षण
किसी SUMPRODUCT() फ़ॉर्मूला को डीबग करने के सबसे तेज़ तरीकों में से एक है इसके व्यक्तिगत घटकों का मूल्यांकन करना।
ऐसे करें:
- फ़ॉर्मूला का कोई भाग हाइलाइट करें, जैसे
(A2:A10>50) - F9 दबाएँ
- आउटपुट जाँचें
एक स्वस्थ शर्त TRUE और FALSE मानों का साफ एरे लौटाती है, या यदि बदला गया हो तो 1 और 0। यदि आपको त्रुटियाँ या अप्रत्याशित परिणाम दिखें, तो वही भाग समस्या का स्रोत है।
व्यावहारिक डीबगिंग वर्कफ़्लो
जब कोई SUMPRODUCT() फ़ॉर्मूला अपेक्षित रूप से व्यवहार न करे:
- एरे साइज़ मिलान की पुष्टि करें
- पुष्टि करें कि संख्यात्मक रेंज में केवल संख्याएँ हों
- प्रत्येक शर्त को स्वतंत्र रूप से जाँचें
- फ़ॉर्मूला को क्रमिक रूप से पुनर्निर्मित करें
यह तरीका आमतौर पर पूरे फ़ॉर्मूला को फिर से लिखे बिना या हेल्पर कॉलम जोड़े बिना समस्याएँ जल्दी सुलझा देता है।
प्रदर्शन अनुकूलन
SUMPRODUCT() संदर्भित हर एरे की हर सेल का मूल्यांकन करता है, इसलिए बड़े वर्कबुक्स में फ़ॉर्मूला संरचना का प्रदर्शन पर सीधा प्रभाव पड़ता है। लेकिन कुछ विकल्प धीमेपन को रोक सकते हैं:
गणना रेंज सीमित करें
A:A जैसी पूरे-स्तंभ रेंज से बचें। इसके बजाय, फ़ॉर्मूलों को सबसे छोटी आवश्यक रेंज तक सीमित करें: A2:A500।
छोटी रेंज से SUMPRODUCT() को प्रोसेस करनी वाली सेल्स कम होती हैं और पुनर्गणना गति बेहतर होती है।
लॉजिकल अभिव्यक्तियाँ सरल करें
SUMPRODUCT() के भीतर प्रत्येक लॉजिकल परीक्षण पंक्ति-दर-पंक्ति मूल्यांकित होता है। इसलिए, जहाँ संभव हो शर्तों को संयोजित या सरल करें, क्योंकि इससे कुल ऑपरेशनों की संख्या घटती है।
यदि दो शर्तों को एक साफ नियम के रूप में व्यक्त किया जा सकता है, तो बिना परिणाम बदले प्रदर्शन बेहतर होता है।
स्ट्रक्चर्ड टेबल्स या डायनेमिक नेम्ड रेंज का उपयोग करें
Excel टेबल्स और डायनेमिक नेम्ड रेंज डेटा बढ़ने पर स्वतः समायोजित हो जाती हैं और रेंज को सीमित रखती हैं। इससे प्रदर्शन बना रहता है और डेटासेट बढ़ने पर फ़ॉर्मूलों को संपादित करने की ज़रूरत नहीं पड़ती।
बड़े एरेज़ का ध्यान रखें
हर अतिरिक्त एरे और शर्त गणना का कार्यभार बढ़ाती है। बड़े मॉडलों में, अनावश्यक मानदंडों से बचें और वे एरे हटाएँ जो परिणाम को सीधे प्रभावित नहीं करते।
Excel 365 डायनेमिक एरेज़ के साथ काम करना
Excel 365 में, SUMPRODUCT() स्पिल्ड परिणाम नहीं देता, लेकिन यह FILTER() या UNIQUE() जैसे फंक्शनों से बने स्पिल्ड एरेज़ के साथ विश्वसनीय रूप से काम करता है। इससे आप डायनेमिक एरे आउटपुट्स को SUMPRODUCT() के साथ जोड़ सकते हैं और गणनाएँ स्थिर और प्रत्याशित रहती हैं।
बड़े, स्पिल-हेवी मॉडलों में, देखें कि क्या कोई डायनेमिक एरे फ़ंक्शन लॉजिक के हिस्से को बदल सकता है। लेकिन जब पंक्ति-दर-पंक्ति गुणा और सशर्त वेटिंग आवश्यक हों, तो SUMPRODUCT() बेहतर विकल्प है।
वैकल्पिक फंक्शनों की तुलना में SUMPRODUCT()
SUMPRODUCT() कई Excel फंक्शनों से ओवरलैप करता है, लेकिन समस्याएँ अलग तरीके से हल करता है। देखें कैसे:
SUMPRODUCT() बनाम SUMIF() / SUMIFS()
SUMIF() और SUMIFS() सीधे-सादे मानदंडों के लिए तेज़ और कुशल हैं। ये सबसे अच्छा तब काम करते हैं जब:
- मानदंड सरल हों
- मैच सटीक हों
- लॉजिक सख्ती से AND-आधारित हो
SUMPRODUCT() कुछ गति के बदले लचीलापन देता है। यह तब बेहतर उपयुक्त है जब गणनाओं को आवश्यकता हो:
- आंशिक टेक्स्ट मैचेज़
- OR लॉजिक या मिश्रित शर्तें
- स्थिर रेंज के बजाय कैलकुलेटेड मानदंड
- हेल्पर कॉलम्स के बिना जटिल लॉजिक
सरल नियमों वाले बड़े डेटासेट्स के लिए, SUMIFS() आमतौर पर तेज़ है। लेकिन जब सटीकता और नियंत्रण कच्ची गति से अधिक मायने रखते हैं, तो SUMPRODUCT() बेहतर विकल्प है।
SUMPRODUCT() बनाम क्लासिक एरे फ़ॉर्मूले
पारंपरिक एरे फ़ॉर्मूले कई समान गणनाएँ करते हैं, लेकिन उन्हें Ctrl+Shift+Enter (CSE) की आवश्यकता होती है और बनाए रखना कठिन हो सकता है।
SUMPRODUCT() CSE से पूरी तरह बचता है और एक मानक Excel फ़ंक्शन की तरह व्यवहार करता है। इससे फ़ॉर्मूले पढ़ना, संपादित करना, और साझा करना आसान हो जाता है, खासकर सहयोगी या व्यावसायिक वातावरण में जहाँ उपयोगकर्ता एरे फ़ॉर्मूलों को नहीं पहचानते।
SUMPRODUCT() बनाम आधुनिक डायनेमिक एरे फंक्शन्स
FILTER(), UNIQUE(), और BYROW() जैसे नए फंक्शन्स स्पिल्ड परिणाम लौटाने, डेटा को नया आकार देने, और दृश्यमान सूचियाँ या टेबल बनाने में उत्कृष्ट हैं।
लेकिन SUMPRODUCT() तब भी मूल्यवान है जब:
- आपको एक एकल संख्यात्मक परिणाम चाहिए
- लॉजिक एक ही सेल में निहित रहना चाहिए
- गणनाएँ पंक्ति-दर-पंक्ति गुणा और वेटिंग पर निर्भर हों
- बैकवर्ड कम्पैटिबिलिटी मायने रखे
डायनेमिक एरेज़ अक्सर SUMPRODUCT() को प्रतिस्थापित करने के बजाय पूरक होते हैं, जैसे कि फिल्टर किए गए एरे उत्पन्न करना जिन्हें SUMPRODUCT() फिर मूल्यांकित करता है।
कब SUMPRODUCT() सही विकल्प है
SUMPRODUCT() का उपयोग तब करें जब आपको चाहिए:
-
जटिल लॉजिक के साथ सशर्त टोटल्स
-
ORशर्तें या कैलकुलेटेड मानदंड -
हेल्पर कॉलम्स के बिना वेटेड गणनाएँ
-
एकल, स्थिर परिणाम सेल
|
फ़ंक्शन |
सर्वश्रेष्ठ उपयोग मामला |
ताकत |
सीमाएँ |
|
|
एकल संख्या लौटाने वाली जटिल सशर्त गणनाएँ |
लचीला लॉजिक OR शर्तें वेटेड गणनाएँ हेल्पर कॉलम्स नहीं |
बहुत बड़े रेंज पर धीमा |
|
|
सरल सशर्त टोटल्स |
तेज़ कुशल आसान पठनीय |
सीमित लॉजिक OR शर्तें नहीं |
|
क्लासिक एरे फ़ॉर्मूले |
पुराने Excel मॉडलों में उन्नत गणनाएँ |
लचीला |
Ctrl+Shift+Enter आवश्यक रखरखाव कठिन |
|
|
फिल्टर की गई सूचियाँ या टेबल लौटाना |
डायनेमिक परिणाम पठनीय लॉजिक |
वेटेड गणित के लिए डिज़ाइन नहीं |
|
|
डिस्टिंक्ट मान निकालना |
सरल तेज़ |
कोई गणना लॉजिक नहीं |
|
|
पंक्ति-स्तरीय कस्टम लॉजिक |
बेहद लचीला आधुनिक पैटर्न |
सेटअप अधिक जटिल |
|
|
एकल-मूल्य लुकअप |
सटीक कुशल |
एक मान लौटाता है एग्रीगेट नहीं |
प्लेटफ़ॉर्म्स में इम्प्लीमेंटेशन
SUMPRODUCT() के पीछे का मूल लॉजिक—फिल्टर, गुणा, फिर जोड़—टूल्स में एकसमान है। जो बदलता है वह है कि प्रत्येक प्लेटफ़ॉर्म लॉजिकल मानों और एरेज़ को कैसे संभालता है।
Excel बनाम Google Sheets व्यवहार
Excel और Google Sheets दोनों SUMPRODUCT() का समर्थन करते हैं, लेकिन वे थोड़ा अलग तरीके से लॉजिकल मानों को ट्रीट करते हैं।
Excel में, लॉजिकल अभिव्यक्तियाँ TRUE और FALSE लौटाती हैं, जिन्हें डबल यूनरी -- या न्यूमेरिक कोएर्शन से स्पष्ट रूप से 1 और 0 में बदलना होता है। इस परिवर्तन के बिना, गणनाएँ अप्रत्याशित परिणाम दे सकती हैं।
Google Sheets यह परिवर्तन स्वतः संभालता है। लॉजिकल मान न्यूमेरिक माने जाते हैं (TRUE = 1, FALSE = 0), इसलिए SUMPRODUCT() फ़ॉर्मूले बिना अतिरिक्त ऑपरेटरों के भी काम कर सकते हैं।
संकल्पनात्मक रूप से, लॉजिक समान है। फर्क केवल इस बात में है कि न्यूमेरिक रूपांतरण निहित है या स्पष्ट।
SUMPRODUCT() लॉजिक को Python में रूपांतरित करना
यही पैटर्न Python-आधारित टूल्स जैसे NumPy या pandas में भी लागू होता है, भले ही सिंटैक्स अलग हो।
Python में, शर्तें पंक्ति-दर-पंक्ति मूल्यांकित होती हैं और Boolean एरेज़ (True और False) बनाती हैं। ये Boolean मान गणनाओं में पहले से ही 1 और 0 की तरह व्यवहार करते हैं, जिससे रूपांतरण चरण समाप्त हो जाता है।
संकल्पनात्मक प्रवाह वही रहता है:
- किसी शर्त का मूल्यांकन करें
- एक Boolean मास्क बनाएँ
- मानों को उस मास्क से गुणा करें
- परिणामों का योग लें
क्रॉस-प्लेटफ़ॉर्म टीमों के लिए विचार
यदि आप या आपकी टीम Excel, Google Sheets, और Python में काम करती है, तो कुछ प्रमुख व्यवहारों पर संरेखित रहें:
-
Boolean लॉजिक साझा भाषा है: सभी प्लेटफ़ॉर्म TRUE/FALSE-शैली के लॉजिक का उपयोग करते हैं जिन्हें न्यूमेरिक मास्क की तरह इस्तेमाल किया जा सकता है।
-
मास्किंग हेल्पर कॉलम्स की जगह लेती है: Excel
--(condition)का उपयोग करता है। Python सीधे Boolean मास्क का। -
टेक्स्ट-मिलान नियम अलग हैं: Excel के
SEARCH()जैसे फंक्शन डिफॉल्ट रूप से केस-इनसेंसिटिव हैं, जबकि Python में टेक्स्ट मिलान कॉन्फ़िगरेशन पर निर्भर करते हुए केस-सेंसिटिव हो सकता है। -
मिसिंग मान अलग तरह से व्यवहार करते हैं: Excel ब्लैंक्स और Python NaN मान परिणामों को प्रभावित कर सकते हैं जब तक कि उन्हें सुसंगत रूप से संभाला न जाए।
प्लेटफ़ॉर्म्स में, मुख्य विचार समान रहता है: SUMPRODUCT() एक पुन: प्रयोज्य गणना पैटर्न का प्रतिनिधित्व करता है।
अंतिम विचार
यदि आप SUMPRODUCT() में बेहतर होना चाहते हैं, तो कोई एक वास्तविक रिपोर्ट लें जिसका आप पहले से उपयोग करते हैं और बिना हेल्पर कॉलम्स के एक जटिल फ़ॉर्मूला को फिर से बनाइए। इसी तरह आप पैटर्न समझेंगे और देखेंगे कि आपके वर्कफ़्लो में SUMPRODUCT() कहाँ फिट बैठता है।
यदि आप और आगे जाना चाहते हैं, तो Data Analysis with Excel Power Tools स्किल्स ट्रैक देखें ताकि देखें कि SUMPRODUCT() जैसे फंक्शन्स व्यापक विश्लेषणात्मक वर्कफ़्लो में कैसे फिट होते हैं।
मैं एक कंटेंट स्ट्रैटेजिस्ट हूँ जिसे जटिल विषयों को सरल बनाना पसंद है। मैंने Splunk, Hackernoon, और Tiiny Host जैसी कंपनियों को अपने दर्शकों के लिए आकर्षक और सूचनात्मक सामग्री बनाने में मदद की है।
SUMPRODUCT() FAQs
संख्याओं का योग करते समय SUMPRODUCT() टेक्स्ट मानों को कैसे नज़रअंदाज़ करता है?
SUMPRODUCT() स्वतः टेक्स्ट मानों को हैंडल नहीं करता। इसलिए, गणना से पहले टेक्स्ट को शून्य में बदलना होगा। सभी नॉन-न्यूमेरिक मानों को शून्य में बदलने के लिए IFERROR() का उपयोग करें।
=SUMPRODUCT((criteria_range=criteria)*(--ISNUMBER(value_range)), value_range)
क्या SUMPRODUCT() वाइल्डकार्ड कैरेक्टर्स का समर्थन करता है?
नहीं। वाइल्डकार्ड जिसे * और ? सीधे समर्थित नहीं हैं। आपको वाइल्डकार्ड व्यवहार का अनुकरण करने के लिए LEFT(), RIGHT() या FIND() जैसे फंक्शन्स का SUMPRODUCT() के भीतर उपयोग करना होगा।
SUMPRODUCT() कॉलम्स को डायनेमिक रूप से कैसे चुन सकता है?
आप SUMPRODUCT() को डायनेमिक बना सकते हैं, जहाँ INDEX() और MATCH() का उपयोग करके इनपुट सेल्स के आधार पर प्रारंभ और अंत स्तंभ परिभाषित किए जाएँ।
