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

अब, हम इन टेक्स्ट को कॉलम B में कई कॉलम में बिना ओवरराइट किए कई तरीकों से बदलेंगे। यहां, ओवरराइटिंग का मतलब है, कार्य करते समय मुख्य टेक्स्ट बरकरार रहता है। तो, आइए उन्हें एक-एक करके खोजें।
यहां, हमने माइक्रोसॉफ्ट एक्सेल 365 संस्करण का उपयोग किया है, आप अपनी सुविधा के अनुसार किसी अन्य संस्करण का उपयोग कर सकते हैं।
1. LEN, MID, REPT, SUBSTITUTE और TRIM फ़ंक्शन लागू करना
जो लोग फ़ॉर्मूला के साथ खेलना पसंद करते हैं, यह विधि उनके लिए है। इस विधि में, हम अपना फ़ॉर्मूला काम करने के लिए कुछ फ़ंक्शन को मिलाएंगे। तो, आइए, इसे कार्यान्वित होते देखें।
📌 चरण:
- सबसे शुरू में, कॉलम C और D के तहत नाम और आयु शीर्षक के साथ 2 अलग-अलग कॉलम बनाएं।
- सेल C5 और D5 में, क्रमशः 1 और 2 लिखें। ये इन नए कॉलम की संख्या हैं। आप आगामी चरणों में इन 2 सेल के कार्य को समझेंगे।

- फिर, सेल C6 चुनें और निम्न सूत्र दर्ज करें।
=TRIM(MID(SUBSTITUTE($B6,",",REPT(””,LEN($B6))),(C$5-1)*LEN($B6)+1,LEN($B6)))
यहां, B6 और C5 सेल पहले नाम, आयु और संख्या 1 को संदर्भित करते हैं।
सूत्र व्याख्या:- LEN($B6) → LEN फ़ंक्शन टेक्स्ट की स्ट्रिंग में वर्णों की संख्या लौटाता है। यहां, B6 सेल टेक्स्ट तर्क है जो मान 11 देता है।
- आउटपुट → 11
- REPT(” “,LEN($B6)) → बन जाता है
- REPT(” “,11) → REPT फ़ंक्शन टेक्स्ट को दी गई संख्या में दोहराता है। यहां, " " टेक्स्ट तर्क है जो रिक्त स्थान को संदर्भित करता है जबकि 11 संख्या_बार तर्क है जो फ़ंक्शन को 11 रिक्त स्थान बार-बार डालने का निर्देश देता है।
- आउटपुट → “ ”
- SUBSTITUTE($B6,“ ”,REPT(“ ”,LEN($B6))) → SUBSTITUTE फ़ंक्शन टेक्स्ट स्ट्रिंग में मौजूदा टेक्स्ट को नए टेक्स्ट से बदलता है। यहां, B6 टेक्स्ट तर्क को संदर्भित करता है जबकि अगला, “,” पुराना_टेक्स्ट तर्क को दर्शाता है, और REPT(“ ”,LEN($B6)) नया_टेक्स्ट तर्क की ओर इशारा करता है जो कॉमा को रिक्त स्थान से बदलता है।
- आउटपुट → जॉन 18 वर्ष
- MID(SUBSTITUTE($B6,”,”,REPT(“”,LEN($B6))),(C$5-1)*LEN($B6)+1,LEN($B6)) → MID फ़ंक्शन प्रारंभिक स्थिति और लंबाई दिए जाने पर टेक्स्ट स्ट्रिंग के मध्य से वर्ण लौटाता है। यहां, SUBSTITUTE($B6,”,”,REPT(” “,LEN($B6))) सेल टेक्स्ट तर्क है, (C$5-1)*LEN($B6)+1 प्रारंभ_संख्या तर्क है, और LEN($B6) संख्या_वर्ण तर्क है जैसे कि फ़ंक्शन बाईं ओर से पहला वर्ण लौटाता है।
- आउटपुट → जॉन
- TRIM(MID(SUBSTITUTE($B6,”,”,REPT(“”,LEN($B6))),(C$5-1)*LEN($B6)+1,LEN($B6))) → बन जाता है
- TRIM(जॉन ) → TRIM फ़ंक्शन टेक्स्ट से एकल स्थान को छोड़कर सभी स्थान हटा देता है। यहां, जॉन सेल टेक्स्ट तर्क है, और फ़ंक्शन टेक्स्ट के बाद अतिरिक्त स्थान से छुटकारा दिलाता है।
- आउटपुट → जॉन
- उसके बाद, ENTER दबाएं।

- दूसरे, पंक्ति में सूत्र कॉपी करने के लिए फिल हैंडल टूल को खींचें।

इसलिए, हम सेल D6 में टेक्स्ट का दायां भाग देख सकते हैं, जो आयु है।

- इस समय, दो सेल C6 और D6 को एक साथ चुनें। सेल D6 के नीचे-दाएं कोने पर कर्सर रखें। आप फिर से फिल हैंडल टूल देख सकते हैं।
- फिर, नीचे की सेल पर सूत्र लागू करने के लिए इस पर डबल-क्लिक करें।

यहां वह परिणाम है जो हमारे सामने आता है।

अधिक पढ़ें: फॉर्मूला के साथ एक्सेल में टेक्स्ट टू कॉलम को स्वचालित रूप से कैसे विभाजित करें
2. LEFT, LEN, RIGHT और SEARCH फ़ंक्शन डालना
क्या आप जटिल अभिव्यक्ति लिखने और फ़ंक्शन संयोजित करने को लेकर चिंतित हैं? तो हमारी दूसरी विधि आपकी प्रार्थना का उत्तर है! इस विधि में, हम फ़ॉर्मूला का भी उपयोग करेंगे, लेकिन इस बार इसे समझना आसान होगा। तो, बिना किसी देरी के, आइए देखें कि हम इसे कैसे करते हैं।
📌 चरण:
- सबसे पहले, सेल C5 पर जाएं और निम्न सूत्र डालें।
=LEFT(B5,SEARCH(", ",B5,1)-1)
यहां, B5 पहले नाम, आयु के रूप में कार्य करता है।
सूत्र व्याख्या:- SEARCH(“,”,B5) → SEARCH फ़ंक्शन किसी अन्य टेक्स्ट स्ट्रिंग के भीतर एक टेक्स्ट स्ट्रिंग की प्रारंभिक स्थिति लौटाता है। यहां, “,” ढूंढें_टेक्स्ट तर्क है जबकि B5 अंदर_टेक्स्ट तर्क है। विशेष रूप से, SEARCH फ़ंक्शन टेक्स्ट स्ट्रिंग में कॉमा(,) वर्ण की स्थिति लौटाता है।
- आउटपुट → 5
- LEFT(B5,SEARCH(“;”,B5)-1) → बन जाता है
- LEFT(B5,5) → LEFT फ़ंक्शन एक स्ट्रिंग की शुरुआत से निर्दिष्ट संख्या में वर्ण लौटाता है। यहां, B5 सेल टेक्स्ट तर्क है जबकि 5 संख्या_वर्ण तर्क है जैसे कि फ़ंक्शन बाईं ओर से 5 वर्ण लौटाता है।
- आउटपुट → जॉन
- दूसरे, ENTER कुंजी दबाएं।

अब, हम सेल D5 में परिणाम खोजने के लिए एक और समान सूत्र का उपयोग करेंगे। पिछले सूत्र में, हमने टेक्स्ट स्ट्रिंग का पहला भाग प्राप्त करने के लिए LEFT फ़ंक्शन का उपयोग किया था। यहां, हम स्ट्रिंग का दूसरा भाग लाएंगे।
- वर्तमान में, सेल D5 पर जाएं और निम्न सूत्र डालें।
=RIGHT(B5,LEN(B5)-SEARCH(",",B5))
सूत्र व्याख्या:
- LEN(B5)-SEARCH(“,”,B5) → LEN फ़ंक्शन B5 सेल में स्ट्रिंग की लंबाई लौटाता है, इसके विपरीत, SEARCH फ़ंक्शन कॉमा (,) वर्ण की स्थिति लौटाता है।
- आउटपुट → 11 – 5 → 6
- RIGHT(B5,LEN(B5)-SEARCH(“,”,B5)) → बन जाता है
- RIGHT(B5,6) → RIGHT फ़ंक्शन एक स्ट्रिंग के अंत से निर्दिष्ट संख्या में वर्ण लौटाता है। यहां, B5 सेल टेक्स्ट तर्क है जबकि 6 संख्या_वर्ण तर्क है जैसे कि फ़ंक्शन दाईं ओर से 6 वर्ण लौटाता है।
- आउटपुट → 18 वर्ष
- इसके बाद, ENTER दबाएं।

3. टेक्स्ट टू कॉलम फीचर का उपयोग करना
इस विधि में, हम एक्सेल के टेक्स्ट टू कॉलम फीचर के साथ कार्य करेंगे, जो ओवरराइटिंग के बिना टेक्स्ट टू कॉलम बदलने के लिए एक उपयोगी टूल है। इसलिए, आइए नीचे दिखाए गए चरणों में प्रक्रिया का निरीक्षण और सीखें।
📌 चरण:
- सबसे पहले, B5:B14 रेंज में सेल चुनें।
- फिर, डेटा टैब पर जाएं।
- उसके बाद, डेटा उपकरण ड्रॉप-डाउन आइकन पर क्लिक करें।
- ड्रॉप-डाउन सूची से, टेक्स्ट टू कॉलम फीचर चुनें।

तुरंत, यह टेक्स्ट टू कॉलम बदलें डायलॉग बॉक्स खोलता है।
- चरण 1 में, अपने डेटा का सर्वोत्तम वर्णन करने वाले फ़ाइल प्रकार को चुनें अनुभाग के तहत विभाजित चुनें।
- फिर, अगला बटन पर क्लिक करें।

- चरण 2 में, डिलीमीटर अनुभाग में कॉमा चुनें।
- उसके बाद, अगला पर क्लिक करें।

- तीसरे और अंतिम चरण में, गंतव्य सेल को C5 के रूप में सेट करें।
- अंत में, समाप्त बटन पर क्लिक करें।

चरण पूरा करने के बाद, एक्सेल एक चेतावनी के साथ MsgBox दिखाएगा। चिंता न करें।
- बस यहां ओके पर क्लिक करें।

आश्चर्यजनक रूप से, एक्सेल में बिना ओवरराइट किए टेक्स्ट टू कॉलम पूरा हो गया है।

अधिक पढ़ें: एक्सेल में कैरिज रिटर्न के साथ टेक्स्ट टू कॉलम फीचर का उपयोग कैसे करें
4. फ्लैश फिल फीचर लागू करना
यदि जटिल फ़ॉर्मूला का उपयोग करना आपको सूट नहीं करता है, तो हमारी अगली विधि वह उत्तर हो सकती है जिसे आप ढूंढ रहे हैं। यहां, हम एक्सेल के फ्लैश फिल फीचर को लागू करके बिना ओवरराइट किए टेक्स्ट टू कॉलम बदलेंगे।
📌 चरण:
- प्रारंभ में, सेल C5 में जॉन लिखें। यह इस सेल में वांछित परिणाम है। लेकिन पहली बार, हमें इसे मैन्युअली करना होगा।
- फिर, होम टैब पर जाएं।
- उसके बाद, संपादन समूह पर भरें ड्रॉप-डाउन आइकन पर क्लिक करें।
- इसके बाद, फ्लैश फिल फीचर चुनें।

जादुई रूप से, एक्सेल बाकी सेल को ऑटोफिल कर देगा।

इसी तरह, कॉलम D के तहत आयु कॉलम के लिए भी वही करें।

अधिक पढ़ें: एक्सेल टेक्स्ट टू कॉलम में लाइन ब्रेक को डिलीमीटर के रूप में कैसे उपयोग करें
5. VBA कोड लागू करना
हालांकि डेटा संपादित करने के लिए फ़ॉर्मूला का उपयोग करना एक त्वरित तरीका है, लेकिन इसकी व्याख्या करना मुश्किल हो सकता है। इसके अलावा, यदि आपको इसे अक्सर स्वचालित रूप से करने की आवश्यकता होती है, तो आप नीचे दिए गए VBA कोड पर विचार कर सकते हैं।
📌 चरण:
- मुख्य रूप से, डेवलपर टैब पर जाएं।
- दूसरे, कोड समूह पर विजुअल बेसिक चुनें।
- वैकल्पिक रूप से, कार्य को दोहराने के लिए कीबोर्ड शॉर्टकट ALT + F11 का उपयोग करें।

अचानक, एप्लीकेशन के लिए माइक्रोसॉफ्ट विजुअल बेसिक विंडो दिखाई देती है।
- यहां, प्रोजेक्ट एक्सप्लोरर अनुभाग में शीट6(VBA) पर डबल-क्लिक करें।

तुरंत, दाईं ओर एक कोड मॉड्यूल खुलता है।
- इस उदाहरण में, निम्न कोड कॉपी करें और उन्हें मॉड्यूल में पेस्ट करें।
Sub Text_to_Columns_without_Overwriting() Dim Arr() As String, cnt As Long, j As Variant For k = 5 To 14 Arr = Split(Cells(k, 2), ",") cnt = 3 For Each j In Arr Cells(k, cnt) = j cnt = cnt + 1 Next j Next k End Sub

यहां, हम ओवरराइटिंग के बिना टेक्स्ट टू कॉलम बदलने के लिए उपयोग किए गए VBA कोड की व्याख्या करेंगे। इस मामले में, कोड 2 चरणों में विभाजित है।
- पहले भाग में, सब-रूटीन को एक नाम दिया गया है, यहां यह Text_to_Columns_without_Overwriting() है।
- अगला, वेरिएबल Arr, cnt, और j को स्ट्रिंग, लॉन्ग, और वेरिएंट के रूप में परिभाषित करें।
- दूसरे भाग में, प्रत्येक सेल के माध्यम से फॉर लूप का उपयोग करें और कॉमा द्वारा विभाजित टेक्स्ट को विभाजित करें।
- अब, कोड में, स्टेटमेंट For k = 5 To 14 डेटा की प्रारंभिक और अंतिम पंक्ति संख्या को दर्शाता है, यहां यह 5 से 14 है।
- फिर, Arr = Split(Cells(k, 2), “;”) में “,” डिलीमीटर है जिसे आप चाहें तो सेमीकॉलन, पाइप, आदि में बदल सकते हैं।
- अंत में, cnt = 3 तीसरे कॉलम संख्या (कॉलम C) को इंगित करता है।
- अब, रिबन पर हरे रंग के प्ले बटन पर क्लिक करें। वास्तव में, यह रन बटन है। साथ ही, आप वही करने के लिए कीबोर्ड पर F5 दबा सकते हैं।

अंततः, परिणाम नीचे दिए गए स्क्रीनशॉट में दिखाई देने चाहिए।

अभ्यास अनुभाग
स्वयं अभ्यास करने के लिए हमने नीचे दिए गए जैसा एक अभ्यास अनुभाग प्रत्येक शीट के दाईं ओर प्रदान किया है। कृपया इसे स्वयं करें।

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