
सामान्य सूत्र
=SUMPRODUCT((WEEKDAY(dates)=day_num)*values)
सारांश
कार्यदिवस (सोमवार, मंगलवार, बुधवार इत्यादि के योग) द्वारा डेटा का योग करने के लिए, आप WEEKDAY फ़ंक्शन के साथ SUMPRODUCT फ़ंक्शन का उपयोग कर सकते हैं।
दिखाए गए उदाहरण में, H4 का सूत्र है:
=SUMPRODUCT((WEEKDAY(dates,2)=G4)*amts)
स्पष्टीकरण
आपको आश्चर्य हो सकता है कि हम SUMIF या SUMIFS फ़ंक्शन का उपयोग क्यों नहीं कर रहे हैं? ये सप्ताह के दिनों तक योग करने के लिए एक स्पष्ट तरीका है। हालांकि, एक कार्यदिवस मूल्य के साथ एक सहायक कॉलम जोड़ने के बिना, SUMIF के लिए एक मापदंड बनाने का कोई तरीका नहीं है जो कार्यदिवस को ध्यान में रखता है।
इसके बजाय, हम आसान SUMPRODUCT फ़ंक्शन का उपयोग करते हैं, जो नियंत्रण + Shift + Enter का उपयोग करने की आवश्यकता के बिना सरणियों को संभालता है।
हम केवल एक तर्क के साथ SUMPRODUCT का उपयोग कर रहे हैं, जिसमें इस अभिव्यक्ति शामिल हैं:
(WEEKDAY(dates,2)=G4)*amts
अंदर से बाहर काम करते हुए, WEEKDAY फ़ंक्शन को वैकल्पिक तर्क 2 के साथ कॉन्फ़िगर किया गया है, जो क्रमशः सोमवार-रविवार, दिनों के लिए 1-7 की संख्या वापस करने का कारण बनता है। यह आवश्यक नहीं है, लेकिन यह दिनों को क्रम में सूचीबद्ध करना और क्रम में कॉलम जी में संख्याओं को चुनना आसान बनाता है।
WEEKDAY नामित श्रेणी "दिनांक" में प्रत्येक मान का मूल्यांकन करता है और एक नंबर देता है। परिणाम इस तरह एक सरणी है:
(3; 5; 3; 1; 2; 2; 4; 2)
WEEKDAY द्वारा लौटाए गए नंबरों को G4 में मान की तुलना में, जो कि 1 है।
(3; 5; 3; 1; 2; 2; 4; 2) = 1
परिणाम TRUE / FALSE मानों की एक सरणी है।
(FALSE; FALSE; FALSE; TRUE; FALSE; FALSE; FALSE; FALSE)
इसके बाद, इस सरणी को नामित रेंज "एमटीएस" में मूल्यों से गुणा किया जाता है। SUMPRODUCT केवल संख्याओं के साथ काम करता है (पाठ या बूलियन नहीं) लेकिन गणित के संचालन स्वतः ही TRUE / FALSE मानों को किसी और के शून्य पर ले जाते हैं, इसलिए हमारे पास है:
(0; 0; 0; 1; 0; 0; 0) * (100; 250; 75; 275; 250; 100; 300; 125)।
कौन सी पैदावार:
(0; 0; 0; 275; 0; 0; 0)
प्रक्रिया करने के लिए इस एकल सरणी के साथ, SUMPRODUCT आइटमों को रकम देता है और परिणाम देता है।