सेल में टेक्स्ट को बदलें - एक्सेल टिप्स

विषय - सूची

जीन ने इस हफ्ते का एक्सेल सवाल पूछा:

मैं एक्सेल में एक सप्लायर प्राइस बुक को अपने यूपीसी कोड को हमारे यूपीसी कोड सिस्टम से मिलान करने की कोशिश कर रहा हूं। उनकी मूल्य पुस्तक में Excel में संख्याओं की एक श्रृंखला के साथ एक स्तंभ है जैसे। 000004560007 या cel000612004 मुझे जो करना है वह दो गुना है। मुझे सेल में किसी अन्य 0 को हटाने के बिना पहले तीन शून्य बाहर निकालने की आवश्यकता है। आगे, मुझे सेल में पहले संख्यात्मक अंक से पहले एक 3 अंकों का कोड "upc" जोड़ना होगा। यह एक निरंतर आवश्यकता होगी। मुझे एक्सेल सिस्टम का उपयोग करने के लिए कई लोगों को प्रशिक्षित करना होगा।

ऐसा लगता है कि जीन को पहले से ही तीन शून्य से छुटकारा पाने के लिए एडिट-रिप्ले का उपयोग करने पर विचार किया गया है। यह काम नहीं करेगा क्योंकि "000004560007" पर एक एडिट रिप्लेस करने से 000 की दोनों घटनाएँ गायब हो जाएँगी।

पहले मैं सुझाव देना चाहता हूं कि जीन वर्तमान मूल्य कोड के बगल में एक अस्थायी कॉलम डालें, रूपांतरण करने के लिए एक सूत्र लिखें, फिर मूल मूल्य कोड पर सूत्र को कॉपी करने के लिए Edit-Copy, Edit-PasteSpecial-Values ​​का उपयोग करें।

खराब प्रलेखित REPLACE () फ़ंक्शन इस मामले में चाल करेगा। मैं REPLACE () के कार्यान्वयन से निराश था। मैंने सोचा होगा कि यह एक विशिष्ट पाठ को बदलने के लिए कहेगा, लेकिन इसके बजाय यह उपयोगकर्ता से चरित्र पदों को बदलने के लिए पता लगाने के लिए कहता है। REPLACE टेक्स्ट स्ट्रिंग के भाग को एक नए स्ट्रिंग के साथ बदल देगा। आप फ़ंक्शन में जाने वाले चार तर्क पुराने पाठ वाले सेल हैं, पुराने पाठ में वर्ण की स्थिति जिसे आप बदलना चाहते हैं, वर्णों की संख्या को प्रतिस्थापित करना चाहते हैं, और उपयोग करने के लिए नया पाठ।

मेरी सरल धारणा यह है कि तीन शून्य स्ट्रिंग में UPC कोड की शुरुआत का प्रतिनिधित्व करते हैं। इस प्रकार, सेल में पहले संख्यात्मक चरित्र की खोज करने की आवश्यकता नहीं है। एक बार सूत्र तीन शून्य को पाता है, यह उन तीन शून्य को स्ट्रिंग "अपक" से बदल सकता है।

पाठ में "000" की पहली घटना का स्थान जानने के लिए, आप इस सूत्र का उपयोग करेंगे:

=FIND(A2,"000")

जीन को सेल बी 2 में प्रवेश करने के लिए सूत्र की आवश्यकता होगी:

=REPLACE(A2,FIND("000",A2),3,"upc")

मेरा विचार है कि मूल्य निर्धारण करने वाले विश्लेषकों ने कई कोशिकाओं को उजागर किया और फिर इस मैक्रो का आह्वान किया। मैक्रो शुरुआत में "चयन में प्रत्येक सेल के लिए" के साथ एक लूप का उपयोग करेगा। इस लूप के साथ, "सेल" एक विशेष रेंज चर बन जाता है। लूप में वर्तमान सेल के पते, मूल्य या पंक्ति को खोजने के लिए आप cell.address या cell.value या cell.row का उपयोग कर सकते हैं। यहाँ मैक्रो है:

Public Sub Jean() ' This macro will replace the first occurrence of "000" ' in each selected cell with the string "upc" ' copyright 1999 www.MrExcel.com For Each cell In Selection cell.Value = Replace(cell.Value, "000", "upc", 1, 1, vbTextCompare) Next cell End Sub

ध्यान दें कि यह एक विनाशकारी प्रकार का मैक्रो है। जब उपयोगकर्ता कोशिकाओं की एक श्रृंखला को उजागर करता है और मैक्रो चलाता है, तो उन कोशिकाओं को बदल दिया जाएगा। यह कहे बिना जाता है कि आप अपने मैक्रो का परीक्षण डेटा पर पूरी तरह से परीक्षण करना चाहते हैं इससे पहले कि आप इसे वास्तविक उत्पादन डेटा पर ढीला कर दें। जब आपके पास जीन जैसी स्थिति होती है, जहां आपको एक जटिल सूत्र का उपयोग करके कॉलम को बदलने की आवश्यकता होगी, तो यहां एक सचित्र की तरह एक सरल मैक्रो लिखना एक प्रभावी और समय बचाने वाला उपकरण हो सकता है।

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