फॉर्मूला चुनौती - अंतिम प्रविष्टि से अंतर - पहेली

विषय - सूची

प्रसंग

कुछ हफ़्ते पहले, मैंने एक साधारण तालिका में वजन बढ़ाने या नुकसान पर नज़र रखने के बारे में एक पाठक से एक दिलचस्प सवाल किया था।

विचार प्रत्येक दिन एक नया वजन दर्ज करना है, और पिछले दिन से अंतर की गणना करना है। जब हर दिन एक प्रविष्टि होती है, तो सूत्र सीधा होता है:

अंतर की गणना इस तरह से सूत्र के साथ की जाती है, D6 में दर्ज की जाती है, और तालिका की प्रतिलिपि बनाई जाती है:

=IF(C6"",C6-C5,"")

हालांकि, जब एक या अधिक दिन छूट जाते हैं, तो चीजें गड़बड़ा जाती हैं, और परिकलित परिणाम का कोई मतलब नहीं होता है:

नहीं, आपने एक दिन में 157 पाउंड हासिल नहीं किए

समस्या यह है कि सूत्र गणना में रिक्त सेल का उपयोग करता है, जो शून्य का मूल्यांकन करता है। कॉलम सी में दर्ज अंतिम भार का पता लगाने और उपयोग करने के लिए हमें जो कुछ चाहिए वह है।

चुनौती

क्या सूत्र अंतिम प्रविष्टि से अंतर की गणना करेगा, यहां तक ​​कि जब दिन छोड़ दिया गया है?

वांछित परिणाम - अंतिम पिछली प्रविष्टि का उपयोग कर अंतर

मान्यताओं

  1. एक एकल सूत्र D6 में दर्ज किया गया है और कॉपी किया गया है (अर्थात सभी कक्षों में समान सूत्र)
  2. सूत्र को एक या कई पिछली रिक्त प्रविष्टियों को संभालना होगा
  3. रिक्त प्रविष्टियों (पंक्तियों) को हटाने की अनुमति नहीं है
  4. किसी भी सहायक कॉलम की अनुमति नहीं है

नोट: एक स्पष्ट रास्ता एक नेस्टेड IF सूत्र का उपयोग करना है। मैं इसे हतोत्साहित करूंगा, क्योंकि यह अज्ञात संख्या में लगातार रिक्त प्रविष्टियों को संभालने के लिए अच्छी तरह से पैमाने पर नहीं होगा।

हल मिल गया? नीचे अपने प्रस्तावित सूत्र के साथ एक टिप्पणी छोड़ें।

मैंने स्वयं एक सूत्र को एक साथ हैक कर लिया है, और कुछ समय के स्मार्ट पाठकों को अपने स्वयं के सूत्र प्रस्तुत करने के बाद मैं अपना समाधान साझा करूँगा।

अतिरिक्त श्रेय

अधिक चुनौती के लिए खोज रहे हैं? यहां एक ही परिणाम है, एक कस्टम संख्या प्रारूप लागू किया गया है। संख्या स्वरूप क्या है? संकेत: मैंने अपने बेकन बिट्स ब्लॉग पर माइक अलेक्जेंडर से यह स्वाइप किया था।

उत्तर (विस्तार के लिए क्लिक करें)

पनगीओटीस स्टैथोपोलोस द्वारा एक बहुत ही कॉम्पैक्ट और सुरुचिपूर्ण समाधान सहित, नीचे वास्तव में अच्छे प्रस्तावित समाधान हैं। रिकॉर्ड के लिए, मैं एक LOOKUP और एक विस्तृत श्रृंखला के साथ गया:

=IF(C6"",C6-LOOKUP(2,1/($C$5:C5""),$C$5:C5),"")

इस तरह की समस्या के लिए LOOKUP के यांत्रिकी को इस उदाहरण में समझाया गया है।

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