TOP
कार्य के घंटे
विवरण
इस लेख में, हम इस बात पर विचार करेंगे कि दो तिथियों के बीच कार्य घंटों की गणना कैसे करें। इस जानकारी की आवश्यकता कर्मचारियों के कार्य की दक्षता के विश्लेषण और टुकड़े-टुकड़े भुगतान प्रणाली के मामले में खर्च किए गए उपयोगी समय की गणना दोनों के लिए हो सकती है।
तो, आइए काम के घंटे गिनने में मदद के लिए अपना स्वयं का फ़ंक्शन लिखें और इसे WORKHOURS कहें।
मेनू खोलें सेवा - मैक्रो - संपादक Visual Basic , नया मॉड्यूल डालें (मेन्यू Insert - Module) और इस फ़ंक्शन के टेक्स्ट को वहां कॉपी करें:
- Function WORKHOURS(StartDate As Variant, EndDate As Variant)
- Application.Volatile
- StartDate = StartDate.Address
- EndDate = EndDate.Address
-
-
- WORKHOURS1 = Evaluate("IF(AND(DAY(" & StartDate & ")=DAY(" & _
- EndDate & "),MONTH(" & StartDate & ")=MONTH(" & EndDate & "))," & EndDate & _
- "-" & StartDate & "-IF(AND(HOUR(" & StartDate & ")<=13,HOUR(" & EndDate & _
- ")>=14),1/24,0),18/24-MOD(" & StartDate & ",1)-IF(HOUR(" & StartDate & _
- ")<=13,1/24,0))")
-
-
- WORKHOURS2 = Evaluate("MAX((IF(AND((WEEKDAY(" & EndDate & ",2))"&"<"&"(WEEKDAY(" & StartDate & _
- ",2)),((WEEKDAY(" & StartDate & ",2))-(WEEKDAY(" & EndDate & ",2)))>1),(((DATEDIF(" & StartDate & _
- "," & EndDate & "," & """D""" & ")+1))-(FLOOR((DATEDIF(" & StartDate & "," & EndDate & _
- "," & """D""" & ")+1)/7,1)*2)-2),(((DATEDIF(" & StartDate & "," & EndDate & "," & """D""" & ")+1))-(FLOOR((DATEDIF(" & _
- StartDate & "," & EndDate & "," & """D""" & ")+1)/7,1)*2)))-2),0)*8/24")
-
-
- WORKHOURS3 = Evaluate("IF(AND(DAY(" & StartDate & _
- ")=DAY(" & EndDate & "),MONTH(" & StartDate & ")=MONTH(" & EndDate & ")),0,MOD(" & EndDate & _
- ",1)-9/24-IF(HOUR(" & EndDate & ")>=14,1/24,0))")
-
- WORKHOURS = WORKHOURS1 + WORKHOURS2 + WORKHOURS3
- End Function
Function WORKHOURS(StartDate As Variant, EndDate As Variant)
Application.Volatile
StartDate = StartDate.Address
EndDate = EndDate.Address
' पहले दिन के कामकाजी घंटे
WORKHOURS1 = Evaluate("IF(AND(DAY(" & StartDate & ")=DAY(" & _
EndDate & "),MONTH(" & StartDate & ")=MONTH(" & EndDate & "))," & EndDate & _
"-" & StartDate & "-IF(AND(HOUR(" & StartDate & ")<=13,HOUR(" & EndDate & _
")>=14),1/24,0),18/24-MOD(" & StartDate & ",1)-IF(HOUR(" & StartDate & _
")<=13,1/24,0))")
' मध्यवर्ती दिनों के कार्य घंटे
WORKHOURS2 = Evaluate("MAX((IF(AND((WEEKDAY(" & EndDate & ",2))"&"<"&"(WEEKDAY(" & StartDate & _
",2)),((WEEKDAY(" & StartDate & ",2))-(WEEKDAY(" & EndDate & ",2)))>1),(((DATEDIF(" & StartDate & _
"," & EndDate & "," & """D""" & ")+1))-(FLOOR((DATEDIF(" & StartDate & "," & EndDate & _
"," & """D""" & ")+1)/7,1)*2)-2),(((DATEDIF(" & StartDate & "," & EndDate & "," & """D""" & ")+1))-(FLOOR((DATEDIF(" & _
StartDate & "," & EndDate & "," & """D""" & ")+1)/7,1)*2)))-2),0)*8/24")
' अंतिम दिन के कार्य घंटे
WORKHOURS3 = Evaluate("IF(AND(DAY(" & StartDate & _
")=DAY(" & EndDate & "),MONTH(" & StartDate & ")=MONTH(" & EndDate & ")),0,MOD(" & EndDate & _
",1)-9/24-IF(HOUR(" & EndDate & ")>=14,1/24,0))")
WORKHOURS = WORKHOURS1 + WORKHOURS2 + WORKHOURS3
End Function
Visual Basic संपादक को बंद करें और Excel पर वापस लौटें।
अभी इसमें फंक्शन मास्टर्स श्रेणी में उपयोगकर्ता परिभाषित आप हमारा WORKHOURS फ़ंक्शन ढूंढ सकते हैं और उसका उपयोग कर सकते हैं। फ़ंक्शन सिंटैक्स
अगले:
=WORKHOURS(प्रारंभ_दिनांक; समाप्ति_दिनांक)