
सामान्य सूत्र
=IF(A1>=start,(MOD(DATEDIF(start,A1,"m")+n,n)=0)*value,0)
सारांश
हर 3 महीने में एक निश्चित मूल्य को दोहराने के लिए, आप DatedIF और MOD फ़ंक्शन के आधार पर एक सूत्र का उपयोग कर सकते हैं। दिखाए गए उदाहरण में, C4 का फॉर्मूला, नीचे कॉपी किया गया है:
=IF(B4>=start,(MOD(DATEDIF(start,B4,"m")+n,n)=0)*value,0)
जहाँ "start" नाम की श्रेणी F6 है, "n" F4 है, और "मान" F5 है।
स्पष्टीकरण
पहली बात यह है कि सूत्र फॉर्म बी में प्रारंभ तिथि के खिलाफ तारीख की जांच करता है:
=IF(B4>=start
यदि तिथि प्रारंभ तिथि से अधिक नहीं है, तो सूत्र शून्य हो जाता है। यदि दिनांक प्रारंभ दिनांक से अधिक या बराबर है, तो IF फ़ंक्शन इस स्निपेट को चलाता है:
(MOD(DATEDIF(start,B4,"m")+n,n)=0)*value
MOD के अंदर, DatedIF फ़ंक्शन का उपयोग बी 4 में प्रारंभ तिथि और तारीख के बीच महीनों की संख्या प्राप्त करने के लिए किया जाता है। जब बी 4 में तारीख शुरू होने की तारीख के बराबर होती है, तो डेटेडिफ शून्य हो जाता है। अगले महीने पर, DatedIF 1 लौटाता है, और इसी तरह।
इस परिणाम के लिए, हम नामित श्रेणी "एन" के लिए मूल्य जोड़ते हैं, जो उदाहरण में 3 है। यह प्रभावी रूप से शून्य के बजाय 3 पर नंबरिंग पैटर्न को शुरू करता है।
MOD फ़ंक्शन का उपयोग प्रत्येक मान को जांचने के लिए किया जाता है, एन के साथ भाजक के रूप में:
MOD(DATEDIF(start,B4,"m")+n,n)=0
यदि शेष शून्य है, तो हम एक महीने के साथ काम कर रहे हैं जिसके लिए एक मूल्य की आवश्यकता होती है। किसी अन्य IF फ़ंक्शन को नेस्ट करने के बजाय, हम बूलियन लॉजिक का उपयोग "मान" से ऊपर की अभिव्यक्ति के परिणाम को गुणा करने के लिए करते हैं।
उन महीनों में जहां मान होना चाहिए, MOD शून्य देता है, अभिव्यक्ति TRUE है, और मान लौटाया जाता है। अन्य महीनों में, MOD एक गैर-शून्य परिणाम देता है, अभिव्यक्ति FALSE है, और मूल्य शून्य करने के लिए मजबूर है।