एक्सेल में गणना (एक विशिष्ट तारीख) पर (एक बार) होने के लिए और जब तारीख बीत गई है तब रहने के लिए परिणाम?


0

मैं एक परिणाम प्राप्त करना चाहूंगा, 31 जनवरी को सेल बी 1 में ए 1 - ए 10 के कुल, 31 जनवरी के अंत तक कहूंगा। यह काफी आसान है, IF = 31/1/17 आदि लेकिन मुझे इस परिणाम पर जमे रहने की आवश्यकता है और A1 के रूप में नहीं - A10 मूल्य में परिवर्तन या जब आज उस तिथि से परे है।

क्या यह संभव है, क्योंकि मुझे १२ महीने की अवधि के १० स्तंभों पर इसकी आवश्यकता होगी?


2
वर्कशीट चेंज इवेंट में सबसे अच्छा तरीका vba है।
Scott Craner

क्या आप एक्सेल २०१० और २००el दोनों का उपयोग कर रहे हैं?
PeterH

जवाबों:


-1

@Rob, मान लें कि आपके पास A1 से A10 तक का डेटा है, और आप कुल गणना स्वचालित रूप से करना चाहते हैं, जब वर्तमान तिथि 31/01/2017 होगी और उदाहरण के लिए आपने यह फॉर्मूला 15/01/2017 को लिखा है।

किसी भी जगह जहां रिक्त सेल में लिखें जैसे कि डी 1 में गणना तिथि मान जो 31/01/2017 है। और A11 में नीचे लिखे सूत्र में से कोई भी लिखें।

= IF (TODAY () = D1, SUM (A1: A10), "आउट ऑफ डेट")

= SUMPRODUCT (- (डी 1 = आज ()) * A1: A10)

जैसे ही वर्तमान तिथि गणना तिथि से मेल खाएगी एक्सेल A11 में सम उत्पन्न करेगा।

अब अगला कदम , जैसा कि आपने लिखा है कि आप चाहते हैं कि परिणाम सेल में रहे, यहां तक ​​कि तिथि समाप्त हो जाए या यदि आप डेटा रेंज A1 से A10 में मानों को बदल दें।

इसके लिए सबसे सरल मुश्किल उपाय है सेल A11 की प्रतिलिपि बनाएँ , A11 में ही पॉइंटर लगाएं Paste Special पर क्लिक करें तथा विकल्प मान मारा । आपको A11 में समान मान मिलेगा या आपका उत्तर किसी भी स्थिति में समान रहेगा।

इसके पीछे कारण, जब आप कॉपी करते हैं और; वैल्यू को पेस्ट करें, एक्सेल सेल A11 से फॉर्मूला को हटा देगा।

आशा है कि आपको मदद मिलेगी, किसी भी प्रकार के VBA कोड के लिए सोचने की आवश्यकता नहीं है।


आपके उत्तर के लिए धन्यवाद। हालाँकि, आपके सुझाव के दूसरे भाग के लिए एक मैनुअल हस्तक्षेप की आवश्यकता है, लेकिन मुझे स्वचालित होने की आवश्यकता है। धन्यवाद रॉब
Rob

-1

@Rob , जानबूझकर मैंने स्वचालित विधि पोस्ट नहीं की है, लेकिन जब से आप इतने असमान हैं, तो यहां मैं सरल VBA कोड लाया हूं यदि डेटा रेंज सम हो जाएगा कुंजी सेल (D1) वर्तमान तिथि है।

साथ ही यह कोड सेल को वैल्यू के लिए कन्वर्ट कर देगा क्योंकि आपने मांग की थी कि आखिरकार रिजल्ट अपरिवर्तित रहना चाहिए।

ध्यान दें: आप इस कोड का उपयोग कमांड बटन क्लिक इवेंट या वर्कशीट चेंज इवेंट के रूप में कर सकते हैं। उदाहरण के लिए मैंने कमांड बटन का उपयोग किया है। आशा है कि यह आपकी सहायता करेगा & amp; इस बार आप मेरे उत्तर के लिए सकारात्मक वोट करें।

Private Sub CommandButton1_Click()


 Range("A11").Value = "=IF(ISBLANK(D1),0,IF(D1=TODAY(),SUM(A1:A10)))"


  Range("A11").Copy

  Range("A11").PasteSpecial xlPasteValues

  Application.CutCopyMode = False


End Sub

मैं वास्तव में यह समझने में असमर्थ हूं कि उपरोक्त VBA कोड में क्या गलत है और कुछ निकाय ने नकारात्मक मतदान किया है, !!! अगर आप इस टिप्पणी को पढ़ते हैं तो आदमी जवाब देता है।
Rajesh S

हाय राजेश - मैंने नकारात्मक प्रतिक्रिया नहीं छोड़ी, लेकिन यह हो सकता है क्योंकि यह अभी भी एक मैनुअल प्रक्रिया है मुझे डेटा बदलने से पहले दिन पर कमांड बटन दबाने की आवश्यकता के बिना इसे पूरी तरह से स्वचालित होना चाहिए।
Rob

@ रोब, आप गलत हैं, जो मैंने आपको VBA कोड के माध्यम से दिखाया है वह दोनों कर रहा है ,,,, फॉर्मूला लिखना और सेल को साफ़ करना और याद रखना यह आपके द्वारा पोस्ट की गई क्वेरी थी, !!
Rajesh S
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.