एक्सेल - हर 10 पंक्तियों और चिह्न पंक्ति का अधिकतम मान ज्ञात करें

मुद्दा

मुझे उच्चतम और निम्नतम मानों की पहचान करने के लिए एक्सेल में एक सूत्र बनाने में मदद की आवश्यकता है हर 10 पंक्तियाँ उन दो पंक्तियों को पहचानें, जिनमें किसी पाठ या संख्या को रिक्त कॉलम में उच्चतम और निम्नतम मानों के साथ रखा जाता है। उदाहरण के लिए, मैं प्रत्येक 10 पंक्ति अंतरण के लिए केवल उच्चतम और सबसे कम व्यापार मूल्य के लिए कॉलम A3 में शब्द वापस रखना चाहता हूं। इस तरह मैं डेटा को डेटा की अन्य 8 पंक्तियों को रख और हटा सकता हूं। इस तरह मैं अपनी अधिकांश डेटा अखंडता को बनाए रख सकता हूं और फ़ाइल के आकार को बहुत कम कर सकता हूं।

मैं एक्सेल 2007 का उपयोग कर रहा हूं और मेरे पास डेटा की 160, 000 पंक्तियां हैं। सूत्र का उद्देश्य इस डेटा को 80% तक कम करना है

नीचे दी गई स्प्रेडशीट एक सरल उदाहरण देती है।

 ट्रेड टाइम प्राइस C, फॉर्मूला आउट पुट के लिए एक खाली कॉलम है ___________A____________B_____________C पंक्ति 1 19:30:25 121.81 पंक्ति 2 19:30:26 121.80 रखें पंक्ति 3 19:30:29 121.83 पंक्ति 4 19:30:31 121.86 पंक्ति 5 19 रखें : 39: 35 121.84 

किसी भी तरह की सहायता का स्वागत किया जाएगा।

उपाय

3 मैक्रो "टेस्ट", "टेस्ट 1" और "पूर्ववत" हैं। Test1 "परीक्षण" में अंतर्निहित है, इसलिए यदि आप केवल मैक्रो "परीक्षण" चलाते हैं तो यह पर्याप्त है।

सभी तीन मैक्रोज़ मॉड्यूल में होने चाहिए। मैक्रो "पूर्ववत करें" मैक्रो परिणामों को पूर्ववत् करता है।

अपने डेटा को 31 पंक्तियों के बारे में निकालें और मैक्रो की जाँच करें। यदि परिणाम ठीक हैं, तो आप अपनी मूल फ़ाइल पर मैक्रोज़ का उपयोग कर सकते हैं

इस वास्तविक फ़ाइल को सुरक्षित रखें, जो इसे फिर से बनाया जा सकता है।

मैक्रो 1:

 डिम आर अस रेंज, आर 1 अस रेंज, एक्स अस डबल, वाई अस डबल डिम जे अस इंटेगर, के अस इंटेगर डिम आर 2 अस रेंज, एम अस इंटेगर सब टेस्ट () वर्कशीट ("शीट 1")। एक्टिवेट रेंज ("1")। = "सिग्नल" सेट आर 2 = रेंज (रेंज ("बी 1"), रेंज ("बी 1")। अंत (xlDown)) जे = 1 मीटर = 1 करो सेट आर = सेल्स (जे * एम + 1, "बी") MsgBox r.Address सेट r1 = रेंज (r, r.Offset (9, 0)) MsgBox r1। पता करें यदि r.Offset (9, 0) = "" तो फिर से बाहर निकलें x = WorksheetFunction.in (r1) y = WorksheetFunction .Max (r1) MsgBox x MsgBox yk = WorksheetFunction.Match (x, r2, 0) कक्ष (k, "c") = "रखें" k = WorksheetFunction.Match (y, r2, 0) कक्ष (k, "c) ") =" रखना "m = m + 10 MsgBox m Loop test1 End Sub 

मैक्रो 2:

 सब टेस्ट 1 () वर्कशीट ("शीट 1")। सेट आर = रेंज (रेंज ("ए 1"), रेंज ("ए 1") को सक्रिय करें। अंत (xlDown)। ऑफ़सेट (0, 3)) r.Auto.ililter फ़ील्ड: = 3, Criteria1: = "Keep" r.Cells.SpecialCells (xlCellTypeVouble) .Copy Worksheets ("sheet2")। रेंज ("A2") ActiveSheet.AutoFilterterode = गलत अंतिम उप। 

मैक्रो 3:

 सब पूर्ववत करें () वर्कशीट ("शीट 1")। रेंज ("सी 1")। EntireColumn.Delete Worksheets ("sheet2")। Cells.Clear End Sub। 

ध्यान दें

मंच पर इस टिप के लिए venkat1926 का धन्यवाद।

पिछला लेख अगला लेख

शीर्ष युक्तियाँ