एक्सेल: एक साथ कई मान खोजें और बदलें

  • इसे साझा करें
Michael Brown

इस ट्यूटोरियल में, हम कई शब्दों, स्ट्रिंग्स, या अलग-अलग वर्णों को खोजने और बदलने के कई तरीके देखेंगे, ताकि आप वह चुन सकें जो आपकी आवश्यकताओं के अनुरूप हो।

लोग आमतौर पर एक्सेल में कैसे सर्च करते हैं? अधिकतर, Find & रिप्लेस फीचर, जो सिंगल वैल्यू के लिए ठीक काम करता है। लेकिन क्या होगा यदि आपके पास बदलने के लिए दसियों या सैकड़ों आइटम हों? निश्चित रूप से, कोई भी उन सभी प्रतिस्थापनों को मैन्युअल रूप से एक-एक करके नहीं करना चाहेगा, और फिर डेटा बदलने पर इसे फिर से करें। सौभाग्य से, एक्सेल में मास रिप्लेस करने के लिए कुछ और प्रभावी तरीके हैं, और हम उनमें से प्रत्येक की विस्तार से जांच करने जा रहे हैं।

एक्सेल में एकाधिक प्रविष्टियों को खोजने और बदलने का सबसे आसान तरीका सबस्टिट्यूट फ़ंक्शन का उपयोग करना है।

सूत्र का तर्क बहुत सरल है: आप पुराने मान को नए के साथ बदलने के लिए कुछ अलग-अलग फ़ंक्शन लिखते हैं . और फिर, आप उन कार्यों को एक दूसरे में नेस्ट करते हैं, ताकि प्रत्येक अनुवर्ती सबस्टिट्यूट अगले मूल्य की तलाश के लिए पिछले सबस्टिट्यूट के आउटपुट का उपयोग करे। Old_text1 , new_text1 ), old_text2 , new_text2 ), old_text3 , new_text3 )

A2:A10 में स्थानों की सूची में, मान लें कि आप संक्षिप्त देश के नाम (जैसे FR , UK और USA ) को पूर्ण से बदलना चाहते हैं MassReplace फ़ंक्शन केवल उस कार्यपुस्तिका में कार्य करेगा जिसमें आपने कोड डाला है। यदि आप सुनिश्चित नहीं हैं कि इसे सही तरीके से कैसे किया जाए, तो कृपया एक्सेल में वीबीए कोड कैसे सम्मिलित करें में वर्णित चरणों का पालन करें।

एक बार आपकी कार्यपुस्तिका में कोड जुड़ जाने के बाद, फ़ंक्शन सूत्र इंटेलिजेंस में दिखाई देगा - केवल फ़ंक्शन का नाम, तर्क नहीं! हालांकि, मेरा मानना ​​है कि सिंटैक्स को याद रखना कोई बड़ी बात नहीं है:

MassReplace(input_range, find_range, replace_range)

कहां:

  • Input_range - स्रोत श्रेणी जहां आप मानों को बदलना चाहते हैं।
  • Find_range - खोजने के लिए वर्ण, तार या शब्द।
  • Replace_range - वर्ण, तार, या शब्दों से बदलने के लिए।

Excel 365 में, डायनेमिक सरणियों के समर्थन के कारण, यह एक सामान्य सूत्र के रूप में काम करता है, जिसे केवल शीर्ष सेल (B2) में दर्ज करने की आवश्यकता होती है:

=MassReplace(A2:A10, D2:D4, E2:E4)

पूर्व-गतिशील एक्सेल में, यह एक पुरानी शैली के CSE सरणी सूत्र के रूप में कार्य करता है: आप संपूर्ण स्रोत श्रेणी (B2:B10) का चयन करते हैं, टाइप करें सूत्र, और इसे पूरा करने के लिए Ctrl + Shift + Enter कुंजियों को एक साथ दबाएं।

लाभ : Excel 2019 में कस्टम LAMBDA फ़ंक्शन का एक अच्छा विकल्प , एक्सेल 2016 और पिछले संस्करण

कमियां : कार्यपुस्तिका को मैक्रो-सक्षम .xlsm फ़ाइल के रूप में सहेजा जाना चाहिए

एक्सेल में वीबीए मैक्रो के साथ थोक प्रतिस्थापन

अगर आपको ऑटो पसंद है मैक्रोज़ के साथ सामान्य कार्यों को जोड़ना, फिर आपएक श्रेणी में एकाधिक मानों को खोजने और बदलने के लिए निम्न VBA कोड का उपयोग कर सकते हैं। " , "बल्क रिप्लेस" , एप्लिकेशन.सिलेक्शन.एड्रेस, टाइप:=8) एर्र.क्लियर इफ नॉट सोर्सआरएनजी इज़ नथिंग तो सेट रिप्लेसआरएनजी = एप्लीकेशन.इनपुटबॉक्स ("रिप्लेस रेंज:", "बल्क रिप्लेस", टाइप:=8) Err.Clear अगर ReplaceRng नहीं है तो कुछ भी नहीं है। Application.ScreenUpdating = False forप्रत्येक Rng in ReplaceRng.Columns(1).Cells SourceRng.Replace what:=Rng.Value, replace:=Rng.Offset(0, 1).Value Next Application.ScreenUpdating = ट्रू एंड इफ एंड इफ एंड सब

तुरंत मैक्रो का उपयोग करने के लिए, आप कोड वाली हमारी नमूना कार्यपुस्तिका डाउनलोड कर सकते हैं। या आप अपनी स्वयं की कार्यपुस्तिका में कोड सम्मिलित कर सकते हैं।

मैक्रो का उपयोग कैसे करें

मैक्रो चलाने से पहले, पुराने और नए मानों को दो सन्निकट स्तंभों में टाइप करें जैसा कि नीचे चित्र में दिखाया गया है ( C2:D4).

और फिर, अपने स्रोत डेटा का चयन करें, Alt + F8 दबाएं, BulkReplace मैक्रो चुनें, और चलाएं क्लिक करें।

<0

चूंकि स्रोत रेज पूर्वचयनित है, बस संदर्भ सत्यापित करें, और ठीक क्लिक करें:

उसके बाद, रिप्लेस रेंज चुनें, और ओके पर क्लिक करें:

हो गया!

लाभ : एक बार सेटअप, किसी भी समय पुन: उपयोग

कमियां : प्रत्येक डेटा के साथ मैक्रो को चलाने की आवश्यकता होती हैबदलें

सबस्ट्रिंग टूल के साथ एक्सेल में एक से अधिक खोजें और बदलें

पहले ही उदाहरण में, मैंने उल्लेख किया है कि नेस्टेड सबस्टिट्यूट एक्सेल में कई मानों को बदलने का सबसे आसान तरीका है। मैं मानता हूं कि मैं गलत था। हमारा अल्टीमेट सूट चीजों को और भी आसान बना देता है!

अपने वर्कशीट में मास रिप्लेस करने के लिए, एबलबिट्स डेटा टैब पर जाएं और सबस्ट्रिंग टूल्स > पर क्लिक करें सबस्ट्रिंग बदलें

सबस्ट्रिंग बदलें संवाद बॉक्स दिखाई देगा जो आपसे स्रोत श्रेणी और <1 परिभाषित करने के लिए कहेगा>सबस्ट्रिंग्स रेंज।

चयनित दो श्रेणियों के साथ, बदलें बटन पर क्लिक करें और परिणाम को दाईं ओर डाले गए एक नए कॉलम में खोजें मूल डेटा का। हां, यह इतना आसान है!

युक्ति। बदलें क्लिक करने से पहले, आपके लिए एक महत्वपूर्ण बात पर विचार करना है - केस-संवेदी बॉक्स। यदि आप अपरकेस और लोअरकेस अक्षरों को अलग-अलग वर्णों के रूप में संभालना चाहते हैं तो इसे चुनना सुनिश्चित करें। इस उदाहरण में, हम इस विकल्प पर टिक करते हैं क्योंकि हम केवल बड़े अक्षरों वाली स्ट्रिंग्स को बदलना चाहते हैं और "fr", "uk", या "ak" जैसे सबस्ट्रिंग को दूसरे शब्दों में बरकरार रखना चाहते हैं।

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

ऐसे खोजें और बदलेंएक्सेल में एक साथ कई शब्द और वर्ण। मैं आपको पढ़ने के लिए धन्यवाद देता हूं और आशा करता हूं कि अगले सप्ताह हमारे ब्लॉग पर आपसे मुलाकात होगी!

उपलब्ध डाउनलोड

एक्सेल में एकाधिक खोजें और बदलें (.xlsm फ़ाइल)

अल्टीमेट सूट 14 -दिन पूरी तरह कार्यात्मक संस्करण (.exe फ़ाइल)

नाम।

ऐसा करने के लिए, D2:D4 में पुराने मान दर्ज करें और E2:E4 में नए मान दर्ज करें जैसा कि नीचे स्क्रीनशॉट में दिखाया गया है। और फिर, नीचे दिए गए फॉर्मूले को B2 में डालें और एंटर दबाएं:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2:A10, D2, E2), D3, E3), D4, E4)

…और आपके पास एक ही बार में सभी प्रतिस्थापन हो जाएंगे:

कृपया ध्यान दें, उपरोक्त दृष्टिकोण केवल Excel 365 में काम करता है जो गतिशील सरणियों का समर्थन करता है।

Excel 2019, Excel 2016 और इससे पहले के पूर्व-गतिशील संस्करणों में, सूत्र को होना चाहिए सबसे ऊपरी सेल (B2) के लिए लिखा जाता है, और फिर नीचे के सेल में कॉपी किया जाता है:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2, $D$2, $E$2), $D$3, $E$3), $D$4, $E$4)

कृपया ध्यान दें कि, इस मामले में, हम पूर्ण सेल संदर्भों के साथ प्रतिस्थापन मानों को लॉक कर देते हैं, इसलिए सूत्र को नीचे कॉपी करने पर वे शिफ्ट नहीं होंगे।

ध्यान दें। सबस्टिट्यूट फ़ंक्शन केस-संवेदी है, जिसका अर्थ है कि आपको पुराने मान ( old_text ) उसी अक्षर केस में टाइप करने चाहिए जैसे वे मूल डेटा में दिखाई देते हैं।

जितना आसान हो सकता है, इस पद्धति में एक महत्वपूर्ण दोष है - जब आपके पास बदलने के लिए दर्जनों आइटम हों, तो नेस्टेड फ़ंक्शन को प्रबंधित करना काफी कठिन हो जाता है।

लाभ : आसान -लागू करने के लिए; एक्सेल के सभी संस्करणों में समर्थित

कमियां : मूल्यों को खोजने/बदलने की सीमित संख्या के लिए उपयोग करने के लिए सबसे अच्छा

XLOOKUP के साथ कई प्रविष्टियां खोजें और बदलें

उस स्थिति में जब आप संपूर्ण सेल सामग्री को बदलना चाह रहे हों, उसके भाग को नहीं, तो XLOOKUP फ़ंक्शन काम आता है।

आइएमान लें कि आपके पास कॉलम ए में देशों की एक सूची है और सभी संक्षेपों को संबंधित पूर्ण नामों से बदलने का लक्ष्य है। पिछले उदाहरण की तरह, आप अलग-अलग कॉलम (क्रमशः डी और ई) में "खोजें" और "बदलें" आइटम इनपुट करने के साथ शुरू करते हैं, और फिर इस सूत्र को बी 2 में दर्ज करें:

=XLOOKUP(A2, $D$2:$D$4, $E$2:$E$4, A2)

एक्सेल भाषा से मानव भाषा में अनुवादित, सूत्र यह करता है:

D2:D4 (lookup_array) में A2 मान (लुकअप_वैल्यू) खोजें और E2:E4 (रिटर्न_एरे) से एक मैच लौटाएं। यदि नहीं मिला, तो A2 से मूल मान निकालें।

नीचे दिए गए कक्षों में सूत्र की प्रतिलिपि बनाने के लिए भरण हैंडल पर डबल-क्लिक करें, और परिणाम आपको प्रतीक्षा नहीं करवाएगा:

चूंकि XLOOKUP फ़ंक्शन केवल Excel 365 में उपलब्ध है, उपरोक्त सूत्र पिछले संस्करणों में काम नहीं करेगा। हालाँकि, आप IFERROR या IFNA और VLOOKUP के संयोजन से इस व्यवहार की नकल आसानी से कर सकते हैं:

=IFNA(VLOOKUP(A2, $D$2:$E$4, 2, FALSE), A2)

ध्यान दें। स्थानापन्न के विपरीत, XLOOKUP और VLOOKUP फ़ंक्शन केस-संवेदी नहीं हैं , जिसका अर्थ है कि वे अक्षर केस को अनदेखा करते हुए लुकअप मानों की खोज करते हैं। उदाहरण के लिए, हमारा फ़ॉर्मूला FR और fr दोनों को फ़्रांस से बदल देगा.

लाभ : सामान्य कार्यों का असामान्य उपयोग; सभी एक्सेल संस्करणों में काम करता है

कमियां : सेल स्तर पर काम करता है, सेल सामग्री के हिस्से को प्रतिस्थापित नहीं कर सकता

पुनरावर्ती LAMBDA फ़ंक्शन का उपयोग करके एकाधिक प्रतिस्थापन

माइक्रोसॉफ्ट के लिए365 सदस्य, एक्सेल एक विशेष फ़ंक्शन प्रदान करता है जो पारंपरिक सूत्र भाषा का उपयोग करके कस्टम फ़ंक्शन बनाने की अनुमति देता है। हाँ, मैं लैम्ब्डा के बारे में बात कर रहा हूँ। इस पद्धति की सुंदरता यह है कि यह एक बहुत लंबे और जटिल सूत्र को बहुत ही संक्षिप्त और सरल सूत्र में बदल सकती है। इसके अलावा, यह आपको अपने स्वयं के कार्य बनाने देता है जो एक्सेल में मौजूद नहीं है, कुछ ऐसा जो पहले केवल VBA के साथ संभव था।

कस्टम LAMBDA कार्यों को बनाने और उपयोग करने के बारे में विस्तृत जानकारी के लिए, कृपया इस ट्यूटोरियल को देखें: कैसे एक्सेल में LAMBDA फ़ंक्शन लिखने के लिए। यहां, हम कुछ व्यावहारिक उदाहरणों पर चर्चा करेंगे।

फायदे : परिणाम उपयोग करने के लिए एक सुंदर और आश्चर्यजनक रूप से सरल है, प्रतिस्थापन जोड़े की संख्या से कोई फर्क नहीं पड़ता

कमियां : केवल एक्सेल 365 में उपलब्ध; कार्यपुस्तिका-विशिष्ट और विभिन्न कार्यपुस्तिकाओं में पुन: उपयोग नहीं किया जा सकता है

उदाहरण 1. एक साथ कई शब्द / तार खोजें और बदलें

एक बार में कई शब्द या पाठ बदलने के लिए, हमने एक कस्टम बनाया है LAMBDA फ़ंक्शन, जिसका नाम MultiReplace है, जो इनमें से कोई एक रूप ले सकता है:

=LAMBDA(text, old, new, IF(old"", MultiReplace(SUBSTITUTE(text, old, new), OFFSET(old, 1, 0), OFFSET(new, 1, 0)), text))

या

=LAMBDA(text, old, new, IF(old="", text, MultiReplace(SUBSTITUTE(text, old, new), OFFSET(old, 1, 0), OFFSET(new, 1, 0))))

दोनों रिकर्सिव हैं कार्य जो खुद को बुलाते हैं। अंतर केवल यह है कि निकास बिंदु कैसे स्थापित होता है। यदि TRUE है, तो MultiReplace फ़ंक्शन कॉल किया जाता है। यदि FALSE, functionरिटर्न टेक्स्ट इसे उसका वर्तमान स्वरूप देता है और बाहर निकल जाता है।

दूसरा फॉर्मूला रिवर्स लॉजिक का उपयोग करता है: यदि पुराना खाली (पुराना="") है, तो वापस पाठ और बाहर निकलें; अन्यथा MultiReplace को कॉल करें।

सबसे पेचीदा काम पूरा हो गया है! आपके लिए जो करना बाकी है वह नाम प्रबंधक में MultiReplace फ़ंक्शन को नाम देना है जैसा कि नीचे स्क्रीनशॉट में दिखाया गया है। विस्तृत दिशा-निर्देशों के लिए, कृपया देखें कि LAMBDA फ़ंक्शन का नाम कैसे दिया जाता है।

फ़ंक्शन को एक बार नाम मिलने के बाद, आप इसे किसी अन्य इनबिल्ट फ़ंक्शन की तरह ही उपयोग कर सकते हैं।

अंतिम-उपयोगकर्ता के दृष्टिकोण से आप दो सूत्र विविधताओं में से जो भी चुनते हैं, सिंटैक्स इस तरह सरल है:

MultiReplace(text, old, new)

कहाँ:

  • टेक्स्ट - स्रोत डेटा
  • पुराना - खोजने के लिए मान
  • नया - मूल्यों के साथ बदलने के लिए

पिछले उदाहरण को थोड़ा और आगे बढ़ाते हुए, न केवल देश के संक्षिप्ताक्षर बल्कि राज्य के संक्षिप्ताक्षरों को भी बदलते हैं। इसके लिए, D2 से शुरू होने वाले कॉलम D में संक्षिप्ताक्षर ( पुराने मान) और E2 से शुरू होने वाले कॉलम E में पूरे नाम ( new मान) टाइप करें।

में B2, MultiReplace फ़ंक्शन दर्ज करें:

=MultiReplace(A2:A10, D2, E2)

Enter दबाएं और परिणामों का आनंद लें :)

यह फ़ॉर्मूला कैसे काम करता है

रिकर्सन को समझना सूत्र को समझने का सूत्र है। यह जटिल लग सकता है, लेकिन सिद्धांत काफी सरल है। प्रत्येक के साथपुनरावृत्ति, एक पुनरावर्ती कार्य एक बड़ी समस्या का एक छोटा सा उदाहरण हल करता है। हमारे मामले में, MultiReplace फ़ंक्शन पुराने और नए मानों के माध्यम से लूप करता है और प्रत्येक लूप के साथ, एक प्रतिस्थापन करता है:

MultiReplace (SUBSTITUTE(text, old, new), OFFSET(old, 1, 0), OFFSET(new, 1, 0))

जैसा कि नेस्टेड सबस्टिट्यूट फ़ंक्शंस के साथ होता है, पिछले सब्स्टिट्यूट का नतीजा अगले सब्स्टिट्यूट के लिए टेक्स्ट पैरामीटर बन जाता है। दूसरे शब्दों में, MultiReplace के प्रत्येक बाद के कॉल पर, सबस्टिट्यूट फ़ंक्शन मूल टेक्स्ट स्ट्रिंग को संसाधित नहीं करता है, बल्कि पिछली कॉल का आउटपुट होता है।

<1 पर सभी आइटम को संभालने के लिए>पुरानी सूची, हम सबसे ऊपरी सेल से शुरू करते हैं, और प्रत्येक इंटरैक्शन के साथ 1 पंक्ति को नीचे ले जाने के लिए OFFSET फ़ंक्शन का उपयोग करते हैं:

OFFSET(old, 1, 0)

ऐसा ही के लिए किया जाता है नई सूची:

OFFSET(new, 1, 0)

रिकर्सिव कॉल को हमेशा के लिए आगे बढ़ने से रोकने के लिए निकास बिंदु प्रदान करना महत्वपूर्ण है। यह IF फ़ंक्शन की मदद से किया जाता है - यदि पुराना सेल खाली है, तो फ़ंक्शन टेक्स्ट को उसका वर्तमान स्वरूप लौटा देता है और बाहर निकल जाता है:

=LAMBDA(text, old, new, IF(old="", text, MultiReplace(…)))

या

=LAMBDA(text, old, new, IF(old"", MultiReplace(…), text))

उदाहरण 2. एक्सेल में कई अक्षरों को बदलें

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

यदि आप पुराने को इनपुट करना चाहते हैंएक सेल में वर्ण और दूसरे सेल में नए वर्ण, या उन्हें सीधे सूत्र में टाइप करें, फिर आप इनमें से किसी एक सूत्र का उपयोग करके ReplaceChars नामक एक अन्य कस्टम फ़ंक्शन बना सकते हैं:

=LAMBDA(text, old_chars, new_chars, IF(old_chars"", ReplaceChars(SUBSTITUTE(text, LEFT(old_chars), LEFT(new_chars)), RIGHT(old_chars, LEN(old_chars)-1), RIGHT(new_chars, LEN(new_chars)-1)), text))

या

=LAMBDA(text, old_chars, new_chars, IF(old_chars="", text, ReplaceChars(SUBSTITUTE(text, LEFT(old_chars), LEFT(new_chars)), RIGHT(old_chars, LEN(old_chars)-1), RIGHT(new_chars, LEN(new_chars)-1))))

नाम प्रबंधक में अपने नए लैम्ब्डा फ़ंक्शन को हमेशा की तरह नाम देना याद रखें:

और आपका नया कस्टम फ़ंक्शन उपयोग के लिए तैयार है:

ReplaceChars(text, old_chars, new_chars)

कहां:

  • टेक्स्ट - मूल तार
  • पुराने - खोजे जाने वाले वर्ण
  • नए - वर्णों को

से बदलने के लिए, इसे एक फील्ड टेस्ट देने के लिए, चलिए कुछ ऐसा करते हैं जो अक्सर आयातित डेटा पर किया जाता है - स्मार्ट कोट्स और स्मार्ट एपोस्ट्रोफ्स को सीधे कोट्स और सीधे एपोस्ट्रोफ्स से बदलें। , बेहतर पठनीयता के लिए वर्णों को रिक्त स्थान से अलग करना। (जैसा कि हम दोनों सेल में एक ही सीमांकक का उपयोग करते हैं, इसका परिणाम पर कोई प्रभाव नहीं पड़ेगा - एक्सेल बस एक स्थान को एक स्थान से बदल देगा।)

उसके बाद, हम इस सूत्र को B2 में दर्ज करते हैं:

=ReplaceChars(A2:A4, D2, E2)

और ठीक वही परिणाम प्राप्त करें जिसकी हम तलाश कर रहे थे:

सूत्र में सीधे अक्षरों को टाइप करना भी संभव है। हमारे मामले में, बस इस तरह सीधे उद्धरणों को "डुप्लिकेट" करना याद रखें:

=ReplaceChars(A2:A4, "“ ” ’", """ "" '")

यह फॉर्मूला कैसे काम करता है

ReplaceChars old_chars और new_chars स्ट्रिंग्स के माध्यम से कार्य चक्र और बाईं ओर पहले वर्ण से शुरू होने पर एक समय में एक प्रतिस्थापन करता है। यह हिस्सा सबस्टिट्यूट फ़ंक्शन द्वारा किया जाता है:

SUBSTITUTE(text, LEFT(old_chars), LEFT(new_chars))

प्रत्येक पुनरावृत्ति के साथ, राइट फ़ंक्शन old_chars और दोनों के बाईं ओर से एक वर्ण को हटा देता है new_chars स्ट्रिंग्स, ताकि LEFT प्रतिस्थापन के लिए वर्णों की अगली जोड़ी ला सके:

ReplaceChars(SUBSTITUTE(text, LEFT(old_chars), LEFT(new_chars)), RIGHT(old_chars, LEN(old_chars)-1), RIGHT(new_chars, LEN(new_chars)-1))

प्रत्येक पुनरावर्ती कॉल से पहले, IF फ़ंक्शन old_chars स्ट्रिंग का मूल्यांकन करता है . यदि यह खाली नहीं है, तो फ़ंक्शन स्वयं को कॉल करता है। जैसे ही अंतिम वर्ण को बदल दिया जाता है, पुनरावृति प्रक्रिया समाप्त हो जाती है, सूत्र पाठ को उसका वर्तमान स्वरूप वापस कर देता है और बाहर निकल जाता है।

ध्यान दें। क्योंकि हमारे मूल सूत्रों में प्रयुक्त सबस्टिट्यूट फ़ंक्शन केस-संवेदी है, दोनों लैम्बडास ( MultiReplace और ReplaceChars ) अपरकेस और लोअरकेस अक्षरों को अलग-अलग वर्णों के रूप में मानते हैं।

यूडीएफ के साथ बड़े पैमाने पर खोजें और बदलें

यदि आपके एक्सेल में लैम्बडा फ़ंक्शन उपलब्ध नहीं है, तो आप वीबीए का उपयोग करके पारंपरिक तरीके से बहु-प्रतिस्थापन के लिए उपयोगकर्ता-परिभाषित फ़ंक्शन लिख सकते हैं।

UDF को LAMBDA-परिभाषित MultiReplace फ़ंक्शन से अलग करने के लिए, हम इसे अलग नाम देने जा रहे हैं, जैसे MassReplace । फ़ंक्शन का कोड इस प्रकार है:

फ़ंक्शन MassReplace(InputRng As Range, FindRng As Range, ReplaceRng As Range) As Variant () DimarRes () परिणामों को संग्रहीत करने के लिए 'सरणी के रूप में मंद arSearchReplace (), sTmp स्ट्रिंग के रूप में' सरणी जहां खोज/प्रतिस्थापन जोड़े को संग्रहीत करना है, अस्थायी स्ट्रिंग मंद iFindCurRow, cntFindRows के रूप में SearchReplace सरणी की वर्तमान पंक्ति की अनुक्रमणिका, गिनती पंक्तियों की संख्या मंद iInputCurRow, iInputCurCol, cntInputRows, cntInputCols As Long' स्रोत श्रेणी में वर्तमान पंक्ति का अनुक्रमणिका, स्रोत श्रेणी में वर्तमान स्तंभ का अनुक्रमणिका, पंक्तियों की संख्या, स्तंभों की संख्या cntInputRows = InputRng.Rows.Count cntInputCols = InputRng .Columns.Count cntFindRows = FindRng.Rows.Count ReDim ares(1 To cntInputRows, 1 To cntInputCols) ReDim arSearchReplace(1 To cntFindRows, 1 To 2) 'iFindCurRow = 1 To cntFindRows arSearchReplace( iFindCurRow, 1) = FindRng.Cells(iFindCurRow, 1).Value arSearchReplace(iFindCurRow, 2) = ReplaceRng.Cells(iFindCurRow, 1).Value Next 'खोज और iInputCurRow के लिए स्रोत श्रेणी में बदलना = 1 iInputCurCol के लिए cntInputRows के लिए = 1 सीएनटीइनपुट कॉल एसटीएम के लिए p = InputRng.Cells(iInputCurRow, iInputCurCol).Value 'प्रत्येक सेल में सभी खोज/प्रतिस्थापन जोड़े को बदलना (iInputCurRow, iInputCurCol) = sTmp Next Next MassReplace = arRes End Function

LAMBDA- परिभाषित फ़ंक्शंस की तरह, UDF वर्कबुक-वाइड हैं। इसका मतलब है

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