कोर्स
Excel डेटा से सुव्यवस्थित टेक्स्ट बनाना अक्सर ज़रूरी होता है, पर मानों को जोड़ते-जोड़ते स्ट्रिंग गड़बड़ा सकती है। Excel का TEXTJOIN() फ़ंक्शन एक सीधा समाधान देता है—यह आपको डिलीमीटर के साथ टेक्स्ट रेंज को जोड़ने और खाली सेल्स को स्किप करने तक की सुविधा देता है।
इस लेख में मैं TEXTJOIN() की बुनियादी बातें समझाऊँगा, इसे CONCAT() और CONCATENATE() जैसे समान फ़ंक्शंस से तुलना करूँगा, और उन व्यावहारिक परिस्थितियों में चलकर दिखाऊँगा जहाँ यह बेहतरीन काम करता है। जैसे-जैसे हम आगे बढ़ेंगे, मैं TEXTJOIN() के पक्ष में तर्क दूँगा, क्योंकि मेरा मानना है कि अब यह टेक्स्ट जोड़ने का बेहतर टूल है—और लेख के अंत तक आप भी सहमत होंगे।
Excel TEXTJOIN() कैसे काम करता है
सबसे पहले साफ़ समझ लें कि TEXTJOIN() करता क्या है और इसकी सिंटैक्स पहले के तरीकों से कहीं ज़्यादा लचीली क्यों है।
मूल रूप से, TEXTJOIN() कई सेल्स के टेक्स्ट मानों को जोड़ता है और उनके बीच एक डिलीमीटर (जैसे कॉमा, स्पेस, या सेमिकोलन) डाल देता है। पुराने तरीकों से अलग, यह एक बार में पूरी रेंज को प्रोसेस कर सकता है, और आप तय कर सकते हैं कि खाली सेल्स को नज़रअंदाज़ करना है या नहीं।
सिंटैक्स इस प्रकार है:
=TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...)
-
delimiter: हर टेक्स्ट हिस्से के बीच डालने वाला कैरेक्टर/स्ट्रिंग (अक्सर कॉमा, स्पेस, आदि) -
ignore_empty: खाली सेल्स को स्किप करने के लिए TRUE, उन्हें शामिल करने के लिए FALSE -
text1, [text2], …: वे सेल्स, रेंज, या मान जिन्हें आप जोड़ना चाहते हैं
मान लीजिए A1, A2 और A3 में वैल्यू हैं। आप उन्हें कॉमा से अलग करते हुए जोड़ना चाहते हैं, और खाली सेल्स को स्किप करना चाहते हैं:
=TEXTJOIN(",", TRUE, A1:C1)

यदि A2 खाली है, तो आपको केवल A1 और A3 के मान मिलेंगे, कॉमा से अलग किए हुए।
यह क्यों मायने रखता है? अन्य फ़ंक्शंस (जैसे CONCATENATE()) में हर सेल को अलग-अलग लिखना पड़ता है और वे खाली सेल्स को स्किप नहीं करते। TEXTJOIN() टाइप करने में छोटा और बनाए रखने में बहुत आसान है।
TEXTJOIN() बनाम CONCATENATE() बनाम CONCAT()
अब जब हमने TEXTJOIN() की बुनियाद देख ली है, तो इसे पुराने Excel टेक्स्ट फ़ंक्शंस से सीधे तुलना करना ठीक रहेगा। यदि आपने CONCATENATE() या CONCAT() इस्तेमाल किया है, तो आप सोच रहे होंगे कि बदलाव क्यों करें।
-
TEXTJOIN(): डिलीमीटर तय करने देता है और खाली सेल्स को आसानी से स्किप करता है। रेंज स्वीकार करता है। -
CONCAT(): रेंज या अलग-अलग टेक्स्ट सेल्स जोड़ता है, पर डिलीमीटर तय नहीं कर सकते। खाली सेल्स को स्किप नहीं करता। -
CONCATENATE(): सबसे पुराना विकल्प। हर सेल को एक-एक करके लिखना पड़ता है। न डिलीमीटर फ़ील्ड, न रेंज सपोर्ट।
उदाहरण के लिए, चलिए B1, B2 और B3 के मानों को सेमिकोलन से अलग करते हुए जोड़ते हैं। अलग-अलग फ़ंक्शंस ऐसे दिखेंगे:
=TEXTJOIN(";", TRUE, A1:C1)

=CONCAT(B1:D1)

=CONCATENATE(B1, C1, D1)

ध्यान दें कि TEXTJOIN() ही एकमात्र ऐसा फ़ंक्शन है जो बिना अतिरिक्त झंझट के डिलीमीटर चुनने देता है। CONCAT() या CONCATENATE() के साथ यदि आपको डिलीमीटर चाहिए, तो उन्हें मैन्युअली जोड़ना पड़ेगा:
=B1 & ";" & C1 & ";" & D1

और, उतना ही महत्वपूर्ण, आपके डेटा की संरचना पर निर्भर करते हुए, यदि कोई सेल खाली है, तो TEXTJOIN() उसे आपके लिए स्किप कर सकता है। CONCATENATE() और CONCAT() खाली को भी शामिल कर देंगे।
डिलीमीटर और खाली सेल्स को संभालना
इन दो आम मुश्किलों पर थोड़ा और बात कर लें: एकसमान डिलीमीटर जोड़ना और खाली सेल्स को नज़रअंदाज़ करना।
कस्टम डिलीमीटर
अलग-अलग मामलों में आप अलग डिलीमीटर चाहेंगे। आप कॉमा, पाइप, नई पंक्ति, या अन्य प्रकार के कैरेक्टर्स को सेपरेटर के रूप में चाह सकते हैं।
वर्टिकल बार से जोड़ने के लिए यह इस्तेमाल करें:
=TEXTJOIN("|", TRUE, D1:G1)

आप और भी विशिष्ट चीज़ें कर सकते हैं। यहाँ मैं सेपरेटर के रूप में स्पेस-डैश-स्पेस का उपयोग कर रहा हूँ:
=TEXTJOIN(" - ", TRUE, D1:G1)

आप लाइन ब्रेक के लिए CHAR(10) भी उपयोग कर सकते हैं, हालांकि प्रभाव देखने के लिए सेल फ़ॉर्मेटिंग में Wrap Text चालू करना होगा।
खाली सेल्स को स्किप करना
डेटा असेंबली में सबसे झुंझलाहट भरी चीज़ों में से एक है खाली सेल्स को संभालना। TEXTJOIN() आपको नियंत्रण देता है। ignore_empty आर्ग्युमेंट को TRUE करें, और खाली सेल्स पूरी तरह छोड़ दिए जाएँगे।
=TEXTJOIN(", ", TRUE, E1:G1)

परिणाम: “Red, Blue”. खाली सेल (F2) को नज़रअंदाज़ किया जाता है, इसलिए अतिरिक्त कॉमा नहीं आता।
यदि आप ignore_empty को FALSE कर दें:
=TEXTJOIN(", ", FALSE, E1:G1)

अब परिणाम है: “Red, , Blue”. वह अतिरिक्त कॉमा साफ़ दिखता है (और आमतौर पर आप यही नहीं चाहेंगे)। मेरे अनुभव में, TRUE ज़्यादातर बेहतर रहता है।
यह सब मामूली फर्क लग सकता है, पर इस फ़ंक्शन का थोड़ा अभ्यास समय बचाता है और बाद की सफ़ाई कम करता है।
डायनेमिक लिस्ट्स और लेबल बनाना
अब जब आपने बुनियाद देख ली है, तो देखें कि TEXTJOIN() किन समस्याओं को सुलझा सकता है। मैं दो परिदृश्यों पर ध्यान दूँगा: डायनेमिक सारांश बनाना और बदलती हुई डेटा से लेबल तैयार करना।
उपयोगकर्ता इनपुट से सारांश बनाना
मान लें कि आप एक सर्वे में वैकल्पिक प्रश्नों पर उपयोगकर्ताओं से Yes/No उत्तर इकट्ठा कर रहे हैं। केवल कुछ ही उत्तर देंगे, इसलिए परिणाम F1 से J1 तक बिखरे रहेंगे।
यदि आप केवल वही प्रश्न सूचीबद्ध करना चाहते हैं जिनका उत्तर “Yes” है, तो आप TEXTJOIN() को IF() और FILTER() के साथ (नई Excel वर्ज़न में डायनेमिक एरेज़ के साथ) उपयोग कर सकते हैं।
मान लें G1:G5 में प्रश्न टेक्स्ट है, F1:F5 में संबंधित Yes/No:
=TEXTJOIN(", ", TRUE, FILTER(F2:J2, F1:J1="Yes"))

अब आपका आउटपुट सेल केवल वही प्रश्न सूचीबद्ध करेगा जिनका उत्तर उपयोगकर्ता ने “Yes” दिया है, कॉमा से अलग किए हुए।
यदि आपके पास डायनेमिक एरेज़ नहीं हैं, तो आप एक हेल्पर कॉलम बना सकते हैं जो उत्तर Yes होने पर ही प्रश्न टेक्स्ट निकाले, फिर उस हेल्पर रेंज को TEXTJOIN() से जोड़ें।
बदलती हुई डेटा से कस्टम लेबल बनाना
मान लीजिए आप एक टेबल से शिपिंग लेबल तैयार कर रहे हैं जहाँ कुछ फ़ील्ड (जैसे “Apartment” या “Suite”) कभी-कभी खाली रहते हैं। आप एड्रेस के हिस्सों को एक पंक्ति में जोड़ना चाहते हैं।
यदि आपका पता H1 (“123 Main St”), H2 (“Apt 4B” या खाली), H3 (“Springfield”), H4 (“IL”), H5 (“62704”) में है, तो आप उपयोग करेंगे:
=TEXTJOIN(", ", TRUE, H1:L1)

यदि H2 खाली है, तो भी आउटपुट साफ़ रहता है (डबल कॉमा नहीं!) क्योंकि TEXTJOIN() खाली सेल को स्किप कर देता है।
ये आम उदाहरण हैं, पर यही तर्क वहाँ भी लागू होता है जहाँ आप वैकल्पिक फ़ील्ड्स या सशर्त समावेशन के साथ डेटा मर्ज कर रहे हों।
अन्य बातों पर गौर करें
भले ही TEXTJOIN() सुविधाजनक है, कुछ छोटी बातें ध्यान देने योग्य हैं:
TEXTJOIN() के साथ एकाधिक रेंज का उपयोग
एक बात जो TEXTJOIN() के बारे में जानने लायक है, वह है कि यह कई रेंज को कैसे संभालता है। आप दे सकते हैं एक से अधिक रेंज—even यदि वे एक-दूसरे के पास न हों—बस उन्हें अलग-अलग आर्ग्युमेंट के रूप में लिखना होगा:
=TEXTJOIN(", ", TRUE, B1:D1, B2:D2)

यह ठीक से काम करता है। Excel दोनों रेंज के मानों को जोड़ देगा। बस याद रखें: आप उन्हें (A1:A3,C1:C3) जैसे एक ही एरे के रूप में नहीं लिख सकते। हर रेंज को अपना अलग आर्ग्युमेंट देना होगा।
Nested फ़ंक्शंस और डायनेमिक एरेज़
यदि आप TEXTJOIN() को किसी डायनेमिक एरे फ़ॉर्मूला (जैसे UNIQUE() या FILTER()) के हिस्से के रूप में उपयोग कर रहे हैं, तो ध्यान रखें कि आपका डिलीमीटर और ignore_empty आर्ग्युमेंट अभी भी सिंगल वैल्यू होने चाहिए। वहाँ एरे देने पर #VALUE! एरर आएगा।
डिलीमीटर और अंतिम फ़ॉर्मेटिंग
कभी-कभी, आपको कोई डिलीमीटर नहीं चाहिए (बस सारा टेक्स्ट साथ जोड़ना है)। डिलीमीटर को "" (खाली स्ट्रिंग) सेट करें:
=TEXTJOIN("", TRUE, A1:C1)

ध्यान रहे: यदि आप डिलीमीटर छोड़ देते हैं, तो आप CONCAT() पर TEXTJOIN() का मुख्य लाभ खो देते हैं।
यदि आप Excel के बाहर उपयोग (जैसे CSV अपलोड) के लिए लिस्ट बना रहे हैं, तो अतिरिक्त स्पेस, अप्रत्याशित लाइन ब्रेक, या कैरेक्टर एनकोडिंग पर ध्यान दें (खासतौर से जब आप प्रतीकों या यूनिकोड का उपयोग कर रहे हों)।
संबंधित फ़ंक्शंस और उन्नत तकनीकें
जैसे-जैसे आप TEXTJOIN() में सहज होते जाएँगे, आप सोच सकते हैं कि यह अन्य “डायनेमिक” Excel फ़ंक्शंस के साथ कैसे फिट बैठता है। अक्सर, इसे UNIQUE(), FILTER(), या SORT() के साथ जोड़कर उपयोग करना इसे और शक्तिशाली बना देता है।
उदाहरण के लिए, मान लें आप किसी सूची से सभी यूनिक प्रोडक्ट कैटेगरीज़ को जोड़ना चाहते हैं:
=TEXTJOIN(", ", TRUE, UNIQUE(TRANSPOSE(A1:E1)))

ध्यान दें: Excel में UNIQUE() डिफ़ॉल्ट रूप से कॉलम-ओरिएंटेड होता है। क्योंकि मैं पंक्ति पर काम कर रहा था, इसलिए मुझे TRANSPOSE() का भी उपयोग करना पड़ा।
या, आप केवल वे चाहते हैं जो किसी शर्त को पूरा करते हों:
=TEXTJOIN(", ", TRUE, FILTER(A1:C1, A2:C2="Active"))

दोनों उदाहरण दिखाते हैं कि TEXTJOIN() कैसे बिना हेल्पर कॉलम या मैन्युअल फ़िल्टरिंग के डेटा का सारांश या रिपोर्ट बना सकता है।
निष्कर्ष
यदि आप अभी भी CONCATENATE() इस्तेमाल कर रहे हैं या सेल्स को मैन्युअली जोड़ रहे हैं, तो TEXTJOIN() पर स्विच करना आपका समय बचाएगा। (यकीन मानिए!)
साथ ही, मैं यह भी जोड़ना चाहता हूँ कि TEXTJOIN() सीखने से आप रेंज के बारे में सोचने में सहज होते हैं। यह सोच Excel के डायनेमिक एरे फ़ंक्शंस और अन्य आधुनिक तरीकों में फ़ायदा देती है। हमारा Advanced Excel Functions कोर्स लेकर सीखना जारी रखें।

मैं एक डेटा साइंस संपादक हूँ और वैज्ञानिक पत्रिकाओं में प्रकाशित शोध लेखों में योगदान दे चुका/चुकी हूँ। मुझे विशेष रूप से रैखिक बीजगणित, सांख्यिकी, R, और इसी तरह के विषयों में रुचि है।