
सामान्य सूत्र
=SUMPRODUCT(--(WEEKDAY(dates)=day_num))
सारांश
कार्यदिवस (यानी सोमवार, मंगलवार, बुधवार इत्यादि) की तारीखें गिनने के लिए, आप WEEKDAY फ़ंक्शन के साथ SUMPRODUCT फ़ंक्शन का उपयोग कर सकते हैं। दिखाए गए उदाहरण में, F4 में सूत्र है:
=SUMPRODUCT(--(WEEKDAY(dates,2)=E4))
नोट: "दिनांक" नाम सीमा B4: B15 है।
स्पष्टीकरण
आपको आश्चर्य हो सकता है कि हम COUNTIF या COUNTIFs का उपयोग क्यों नहीं कर रहे हैं? ये कार्य स्पष्ट समाधान की तरह प्रतीत होते हैं। हालांकि, एक हेल्पर कॉलम को जोड़े बिना जिसमें एक कार्यदिवस मूल्य होता है, कई दिनों की तारीखों को गिनने के लिए COUNTIF के मानदंड बनाने का कोई तरीका नहीं है।
इसके बजाय, हम बहुमुखी SUMPRODUCT फ़ंक्शन का उपयोग करते हैं, जो कंट्रोल + शिफ्ट + एंटर का उपयोग करने की आवश्यकता के बिना शानदार ढंग से सरणियों को संभालता है।
हम केवल एक तर्क के साथ SUMPRODUCT का उपयोग कर रहे हैं, जिसमें इस अभिव्यक्ति शामिल हैं:
--(WEEKDAY(dates,2)=E4)
अंदर से बाहर काम करते हुए, WEEKDAY फ़ंक्शन को वैकल्पिक तर्क 2 के साथ कॉन्फ़िगर किया गया है, जो क्रमशः सोमवार-रविवार, दिनों के लिए 1-7 की संख्या वापस करने का कारण बनता है। यह क्रम में कॉलम E में संख्याओं के साथ दिनों को सूचीबद्ध करना आसान बनाता है।
WEEKDAY फिर नामित तिथि "तिथियों" में प्रत्येक तिथि का मूल्यांकन करता है और एक नंबर देता है। परिणाम इस तरह एक सरणी है:
(1;3;7;1;5;2;7;1;7;5;4;7)
WEEKDAY द्वारा दिए गए नंबर E4 में मूल्य की तुलना में हैं, जो 1 है:
(1;3;7;1;5;2;7;1;7;5;4;7)=1
परिणाम TRUE / FALSE मानों की एक सरणी है।
(TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE)
SUMPRODUCT केवल संख्याओं के साथ काम करता है (पाठ या बूलियन नहीं) इसलिए हम दोहरे नकारात्मक का उपयोग किसी के लिए TRUE / FALSE मानों के साथ करने के लिए करते हैं:
(1;0;0;1;0;0;0;1;0;0;0;0)
प्रक्रिया के लिए एक एकल सरणी के साथ, SUMPRODUCT आइटमों को सम्मिलित करता है और परिणाम देता है, 3।
खाली तारीखों से निपटना
यदि आपके पास तारीखों की सूची में रिक्त सेल हैं, तो आपको गलत परिणाम मिलेंगे, क्योंकि WEEKDAY फ़ंक्शन परिणाम तब भी लौटाएगा जब कोई तारीख नहीं होगी। खाली कोशिकाओं को संभालने के लिए, आप सूत्र को निम्नानुसार समायोजित कर सकते हैं:
=SUMPRODUCT((WEEKDAY(dates,2)=E4)*(dates""))
अभिव्यक्ति द्वारा गुणा (दिनांक "") खाली कोशिकाओं को रद्द करने का एक तरीका है।