एक्सेल सूत्र: तारीखों के बीच सप्ताह का दिन गणना -

विषय - सूची

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

=SUMPRODUCT(--(WEEKDAY(ROW(INDIRECT(start&":"&end)))=dow))

सारांश

कार्यदिवस (सोमवार, शुक्रवार, रविवार, इत्यादि) को दो तिथियों के बीच गिनने के लिए आप एक सरणी सूत्र का उपयोग कर सकते हैं जो कई कार्यों का उपयोग करता है: SUMPRODUCT, WEEKDAY, ROW और INDIRECT। दिखाए गए उदाहरण में, सेल E6 में सूत्र है

=SUMPRODUCT(--(WEEKDAY(ROW(INDIRECT(B6&":"&C6)))=D6))

सूत्र के सामान्य संस्करण में, प्रारंभ = प्रारंभ दिनांक, अंत = समाप्ति तिथि, और सप्ताह का दिन = दहेज

स्पष्टीकरण

कोर में, यह सूत्र कई तिथियों का परीक्षण करने के लिए WEEKDAY फ़ंक्शन का उपयोग करता है, यह देखने के लिए कि वे सप्ताह के किसी दिन (डॉव) पर उतरते हैं और SUMPRODUCT फ़ंक्शन को कुल करने के लिए।

जब एक तारीख दी जाती है, तो WEEKDAY केवल 1 और 7 के बीच एक संख्या देता है जो सप्ताह के किसी विशेष दिन से मेल खाती है। डिफ़ॉल्ट सेटिंग्स के साथ, 1 = रविवार और 7 = शनिवार। तो, 2 = सोमवार, 6 = शुक्रवार, और इसी तरह।

इस सूत्र की चाल समझ रही है कि एक्सेल में तारीखें केवल सीरियल नंबर हैं जो 1 जनवरी 1900 से शुरू होते हैं। उदाहरण के लिए, 1 जनवरी 2016 को सीरियल नंबर 42370 है, और 8 जनवरी को 42377 है। एक्सेल में तिथियाँ केवल तारीखों की तरह दिखती हैं एक दिनांक संख्या प्रारूप लागू किया जाता है।

तो, सवाल बन जाता है - आप सप्ताह के संबंधित दिनों का पता लगाने के लिए WEEKDAY फ़ंक्शन में फ़ीड की एक सरणी कैसे बना सकते हैं?

इसका उत्तर यह है कि ROW का उपयोग INDIRECT फ़ंक्शंस के साथ किया जाए:

ROW(INDIRECT(date1&":"&date2))

संकेत संक्षिप्त संख्या "42370: 42377" को पंक्ति संख्या के रूप में व्याख्या करने की अनुमति देता है। फिर ROW फ़ंक्शन इस तरह एक सरणी देता है:

(42370;42371;42372;42373;42374;42375;42376;42377)

WEEKDAY फ़ंक्शन दिनांक और रिटर्न के रूप में इन संख्याओं का मूल्यांकन करता है:

(6;7;1;2;3;4;5;6)

जिसे सप्ताह के दिए गए दिन (इस मामले में, D6 से 6) के खिलाफ परीक्षण किया गया है। एक बार परीक्षण के परिणाम को डबल हाइफ़न के साथ 1s और 0s में बदल दिया जाता है, इस सरणी को SUMPRODUCL द्वारा संसाधित किया जाता है:

(1;0;0;0;0;0;0;1)

जो 2 लौटाता है।

साथ में

नए दृश्य समारोह के साथ, यह सूत्र कुछ इस तरह सरल हो सकता है:

=SUMPRODUCT(--(WEEKDAY(SEQUENCE(end-start+1,1,start,1))=dow))

इस संस्करण में, हम सीधे या राउ की कोई आवश्यकता नहीं होने के साथ तारीखों की सरणी उत्पन्न करने के लिए SEQUENCE का उपयोग करते हैं।

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