विषयसूची
पिछले कुछ लेखों में, हमने अलग-अलग टेक्स्ट फ़ंक्शंस पर चर्चा की है - जिनका उपयोग टेक्स्ट स्ट्रिंग्स में हेरफेर करने के लिए किया जाता है। आज हमारा ध्यान राइट फंक्शन पर है, जिसे एक स्ट्रिंग के सबसे दाहिने हिस्से से निर्दिष्ट वर्णों की संख्या वापस करने के लिए डिज़ाइन किया गया है। अन्य एक्सेल टेक्स्ट फ़ंक्शंस की तरह, राइट बहुत सरल और सीधा है, फिर भी इसके कुछ स्पष्ट उपयोग हैं जो आपके काम में सहायक साबित हो सकते हैं।
एक्सेल राइट फ़ंक्शन सिंटैक्स
एक्सेल में राइट फ़ंक्शन टेक्स्ट स्ट्रिंग के अंत से वर्णों की निर्दिष्ट संख्या लौटाता है।
राइट फ़ंक्शन का सिंटैक्स निम्नानुसार है:
राइट (टेक्स्ट, [num_chars])जहां :
- टेक्स्ट (आवश्यक) - वह टेक्स्ट स्ट्रिंग जिससे आप वर्ण निकालना चाहते हैं।
- Num_chars (वैकल्पिक) - निकालने के लिए वर्णों की संख्या, सबसे दाहिने वर्ण से प्रारंभ करते हुए।
- यदि num_chars को छोड़ दिया जाता है, तो स्ट्रिंग का 1 अंतिम वर्ण वापस आ जाता है (डिफ़ॉल्ट)।
- यदि num_chars की कुल संख्या से अधिक है स्ट्रिंग में वर्ण, सभी वर्ण लौटाए जाते हैं।
- यदि num_chars एक ऋणात्मक संख्या है, तो एक सही सूत्र #VALUE लौटाता है! त्रुटि।
उदाहरण के लिए, सेल A2 में स्ट्रिंग से अंतिम 3 वर्ण निकालने के लिए, इस सूत्र का उपयोग करें:
=RIGHT(A2, 3)
परिणाम कुछ ऐसा दिखाई दे सकता है:
महत्वपूर्ण नोट! एक्सेल राइट फ़ंक्शन हमेशा एक टेक्स्ट लौटाता हैस्ट्रिंग , भले ही मूल मान एक संख्या हो। एक सही सूत्र को किसी संख्या को आउटपुट करने के लिए बाध्य करने के लिए, इसे इस उदाहरण में प्रदर्शित VALUE फ़ंक्शन के संयोजन में उपयोग करें।
एक्सेल में राइट फ़ंक्शन का उपयोग कैसे करें - सूत्र उदाहरण
वास्तविक जीवन में कार्यपत्रकों, एक्सेल राइट फ़ंक्शन का उपयोग शायद ही कभी किया जाता है। ज्यादातर मामलों में, आप इसे अन्य एक्सेल कार्यों के साथ अधिक जटिल सूत्रों के हिस्से के रूप में उपयोग करेंगे। एक सबस्ट्रिंग जो एक विशिष्ट वर्ण का अनुसरण करता है, उस वर्ण की स्थिति निर्धारित करने के लिए या तो SEARCH या FIND फ़ंक्शन का उपयोग करें, LEN फ़ंक्शन द्वारा लौटाई गई कुल स्ट्रिंग लंबाई से स्थिति घटाएं, और मूल स्ट्रिंग के दाईं ओर से उतने वर्ण खींचें।
RIGHT( string , LEN( string ) - SEARCH( character , string ))मान लीजिए, सेल A2 में पहला और अंतिम नाम एक स्थान से अलग किया गया है, और आप अंतिम नाम को दूसरे सेल में खींचने का लक्ष्य रखते हैं। बस ऊपर दिए गए सामान्य सूत्र को लें और आप स्ट्रिंग के स्थान पर A2 और वर्ण की गति में " " (स्पेस) डाल दें:
=RIGHT(A2,LEN(A2)-SEARCH(" ",A2))
सूत्र निम्नलिखित परिणाम देगा:
इसी तरह, आप एक सबस्ट्रिंग प्राप्त कर सकते हैं जो किसी अन्य वर्ण का अनुसरण करता है, उदा। एक अल्पविराम, अर्धविराम, हाइफ़न, आदि। उदाहरण के लिए, एक सबस्ट्रिंग निकालने के लिए जो एक हाइफ़न के बाद आता है,इस सूत्र का उपयोग करें:
=RIGHT(A2,LEN(A2)-SEARCH("-",A2))
परिणाम इस तरह दिखाई देगा:
सीमांकक की अंतिम घटना के बाद सबस्ट्रिंग कैसे निकालें
कब एक ही सीमांकक की कई घटनाओं वाले जटिल तारों से निपटने के लिए, आपको अक्सर अंतिम सीमांकक घटना के दाईं ओर पाठ को पुनः प्राप्त करने की आवश्यकता हो सकती है। चीजों को समझने में आसान बनाने के लिए, निम्न स्रोत डेटा और वांछित परिणाम पर एक नज़र डालें:
जैसा कि आप ऊपर स्क्रीनशॉट में देख सकते हैं, कॉलम ए में त्रुटियों की एक सूची है। आपका लक्ष्य प्रत्येक स्ट्रिंग में अंतिम कॉलन के बाद आने वाले त्रुटि विवरण को निकालना है। एक अतिरिक्त जटिलता यह है कि मूल स्ट्रिंग्स में अलग-अलग संख्या में सीमांकक उदाहरण हो सकते हैं, उदा। A3 में 3 कोलन होते हैं जबकि A5 में केवल एक।
समाधान खोजने की कुंजी स्रोत स्ट्रिंग में अंतिम सीमांकक की स्थिति निर्धारित करती है (इस उदाहरण में एक कोलन की अंतिम घटना)। ऐसा करने के लिए, आपको कुछ विभिन्न कार्यों का उपयोग करने की आवश्यकता होगी:
- मूल स्ट्रिंग में सीमांकक की संख्या प्राप्त करें। यह एक आसान हिस्सा है:
- सबसे पहले, आप LEN फ़ंक्शन का उपयोग करके स्ट्रिंग की कुल लंबाई की गणना करते हैं: LEN(A2)
- दूसरी बात, आप बिना सीमांकक के स्ट्रिंग की लंबाई की गणना करते हैं सबस्टिट्यूट फ़ंक्शन जो कोलन की सभी घटनाओं को कुछ भी नहीं के साथ बदलता है: LEN(SUBSTITUTE(A2,":",""))
- अंत में, आप मूल स्ट्रिंग की लंबाई घटाते हैंकुल स्ट्रिंग लंबाई से सीमांकक के बिना: LEN(A2)-LEN(SUBSTITUTE(A2,":",""))
यह सुनिश्चित करने के लिए कि सूत्र सही काम करता है, आप इसे एक में दर्ज कर सकते हैं अलग सेल, और परिणाम 2 होगा, जो सेल A2 में कोलन की संख्या है।
- अंतिम सीमांकक को कुछ अद्वितीय वर्ण से बदलें। स्ट्रिंग में अंतिम डिलीमीटर के बाद आने वाले पाठ को निकालने के लिए, हमें किसी तरह से डिलीमीटर की अंतिम घटना को "चिह्नित" करने की आवश्यकता है। इसके लिए, आइए एक कोलन की अंतिम घटना को एक ऐसे वर्ण से बदलें जो मूल स्ट्रिंग्स में कहीं भी प्रकट नहीं होता है, उदाहरण के लिए पाउंड चिह्न (#) के साथ।
यदि आप एक्सेल सबस्टिट्यूट फ़ंक्शन के सिंटैक्स से परिचित हैं, तो आपको याद होगा कि इसमें चौथा वैकल्पिक तर्क (instance_num) है जो निर्दिष्ट वर्ण की केवल एक विशिष्ट घटना को बदलने की अनुमति देता है। और चूंकि हमने पहले ही स्ट्रिंग में सीमांककों की संख्या की गणना कर ली है, बस उपरोक्त फ़ंक्शन को किसी अन्य स्थानापन्न फ़ंक्शन के चौथे तर्क में प्रदान करें:
=SUBSTITUTE(A2,":","#",LEN(A2)-LEN(SUBSTITUTE(A2,":","")))
यदि आप इस सूत्र को एक अलग सेल में रखते हैं , यह इस स्ट्रिंग को लौटाएगा: ERROR:432#Connection टाइम आउट हो गया
- स्ट्रिंग में अंतिम सीमांकक की स्थिति प्राप्त करें। आपने अंतिम सीमांकक को किस वर्ण से प्रतिस्थापित किया है, इस पर निर्भर करते हुए, स्ट्रिंग में उस वर्ण की स्थिति निर्धारित करने के लिए या तो केस-संवेदी खोज या केस-संवेदी FIND का उपयोग करें। हमने आखिरी कोलन को बदल दिया# चिह्न के साथ, इसलिए हम इसकी स्थिति का पता लगाने के लिए निम्न सूत्र का उपयोग करते हैं:
=SEARCH("#", SUBSTITUTE(A2,":","#",LEN(A2)-LEN(SUBSTITUTE(A2,":",""))))
इस उदाहरण में, सूत्र 10 लौटाता है, जो प्रतिस्थापित स्ट्रिंग में # की स्थिति है।
- अंतिम सीमांकक के दाईं ओर सबस्ट्रिंग लौटाएं। अब जब आप एक स्ट्रिंग में अंतिम सीमांकक की स्थिति जानते हैं, तो आपको केवल उस संख्या को स्ट्रिंग की कुल लंबाई से घटाना है, और मूल स्ट्रिंग के अंत से उतने वर्ण वापस करने के लिए राइट फ़ंक्शन प्राप्त करना है:
=RIGHT(A2,LEN(A2)-SEARCH("$",SUBSTITUTE(A2,":","$",LEN(A2)-LEN(SUBSTITUTE(A2,":","")))))
जैसा कि नीचे दिए गए स्क्रीनशॉट में दिखाया गया है, सूत्र पूरी तरह से काम करता है:
यदि आप एक बड़े डेटासेट के साथ काम कर रहे हैं जहां अलग-अलग सेल में अलग-अलग सीमांकक हो सकते हैं, तो आप चाहें संभावित त्रुटियों को रोकने के लिए IFERROR फ़ंक्शन में उपरोक्त सूत्र को संलग्न करने के लिए:
=IFERROR(RIGHT(A2,LEN(A2)-SEARCH("$",SUBSTITUTE(A2,":","$",LEN(A2)-LEN(SUBSTITUTE(A2,":",""))))), A2)
यदि किसी निश्चित स्ट्रिंग में निर्दिष्ट सीमांकक की एक भी घटना नहीं होती है, तो मूल स्ट्रिंग वापस आ जाएगी, नीचे दिए गए स्क्रीनशॉट में पंक्ति 6 की तरह:
स्ट्रिंग से पहले एन वर्णों को कैसे हटाएं
स्ट्रिंग के अंत से एक सबस्ट्रिंग निकालने के अलावा, एक्सेल राइट फ़ंक्शन काम में आता है स्थितियों में जब आप स्ट्रिंग की शुरुआत से कुछ निश्चित वर्णों को हटाना चाहते हैं।
प्रचलित डेटासेट में उदाहरण के लिए, हो सकता है कि आप प्रत्येक स्ट्रिंग के प्रारंभ में दिखाई देने वाले "ERROR" शब्द को हटाना चाहें और केवल त्रुटि संख्या और विवरण को छोड़ दें। इसे पाने के लिएकिया, कुल स्ट्रिंग लंबाई से हटाए जाने वाले वर्णों की संख्या घटाएं, और उस नंबर को एक्सेल राइट फ़ंक्शन के num_chars तर्क में आपूर्ति करें:
राइट( स्ट्रिंग , LEN ( string )- number_of_chars_to_remove )इस उदाहरण में, हम A2 में टेक्स्ट स्ट्रिंग से पहले 6 अक्षर (5 अक्षर और एक कोलन) हटाते हैं, इसलिए हमारा सूत्र इस प्रकार है अनुसरण करता है:
=RIGHT(A2, LEN(A2)-6)
क्या एक्सेल राइट फ़ंक्शन एक संख्या लौटा सकता है?
जैसा कि इस ट्यूटोरियल की शुरुआत में उल्लेख किया गया है, एक्सेल में राइट फ़ंक्शन हमेशा एक टेक्स्ट स्ट्रिंग भी लौटाता है यदि मूल मान एक संख्या है। लेकिन क्या होगा यदि आप एक संख्यात्मक डेटासेट के साथ काम करते हैं और चाहते हैं कि आउटपुट भी संख्यात्मक हो? VALUE फ़ंक्शन में एक सही सूत्र नेस्ट करना एक आसान समाधान है, जिसे विशेष रूप से एक संख्या का प्रतिनिधित्व करने वाली स्ट्रिंग को संख्या में बदलने के लिए डिज़ाइन किया गया है।
उदाहरण के लिए, स्ट्रिंग से अंतिम 5 वर्ण (ज़िप कोड) निकालने के लिए A2 में और निकाले गए वर्णों को एक संख्या में परिवर्तित करें, इस सूत्र का उपयोग करें:
=VALUE(RIGHT(A2, 5))
नीचे दिया गया स्क्रीनशॉट परिणाम दिखाता है - कृपया कॉलम B में संख्याओं को दाईं ओर संरेखित करें, जैसा कि बाईं ओर है कॉलम ए में संरेखित टेक्स्ट स्ट्रिंग:
राइट फ़ंक्शन दिनांक के साथ काम क्यों नहीं करता है? आंतरिक एक्सेल सिस्टम, राइट फॉर्मूला किसी व्यक्ति को पुनः प्राप्त करने में असमर्थ हैकिसी तारीख का हिस्सा जैसे दिन, महीना या साल। यदि आप ऐसा करने का प्रयास करते हैं, तो आपको दिनांक का प्रतिनिधित्व करने वाली संख्या के कुछ अंतिम अंक प्राप्त होंगे।
मान लीजिए, आपके पास कक्ष A1 में दिनांक 18-जनवरी-2017 है। यदि आप राइट (A1,4) सूत्र के साथ वर्ष निकालने का प्रयास करते हैं, तो परिणाम 2753 होगा, जो संख्या 42753 के अंतिम 4 अंक हैं जो एक्सेल सिस्टम में 18 जनवरी, 2017 का प्रतिनिधित्व करते हैं।
"तो, मैं किसी तारीख का एक निश्चित भाग कैसे प्राप्त करूं?", आप मुझसे पूछ सकते हैं। निम्नलिखित कार्यों में से एक का उपयोग करके:
- एक दिन निकालने के लिए DAY फ़ंक्शन: = DAY (A1)
- एक महीना प्राप्त करने के लिए MONTH फ़ंक्शन: = MONTH (A1)
- एक वर्ष निकालने के लिए YEAR फ़ंक्शन: =YEAR(A1)
निम्नलिखित स्क्रीनशॉट परिणाम दिखाता है:
यदि आपकी तारीखों को टेक्स्ट स्ट्रिंग्स द्वारा प्रदर्शित किया जाता है , जो अक्सर होता है जब आप किसी बाहरी स्रोत से डेटा निर्यात करते हैं, तो कुछ भी आपको स्ट्रिंग में अंतिम कुछ वर्णों को खींचने के लिए राइट फ़ंक्शन का उपयोग करने से रोकता है जो दिनांक के एक निश्चित भाग का प्रतिनिधित्व करता है:
एक्सेल राइट फ़ंक्शन काम नहीं कर रहा - कारण और समाधान
यदि कोई सही फ़ॉर्मूला आपकी वर्कशीट में ठीक से काम नहीं करता है, तो संभवतः यह निम्न कारणों में से किसी एक के कारण हो सकता है:
- एक या अधिक कारण हैं मूल डेटा में अनुगामी स्थान । सेल में अतिरिक्त रिक्त स्थान को जल्दी से हटाने के लिए, एक्सेल टीआरआईएम फ़ंक्शन या सेल क्लीनर ऐड-इन का उपयोग करें।
- num_chars तर्क शून्य से कम है। कानिश्चित रूप से, आप शायद ही किसी उद्देश्य से अपने सूत्र में ऋणात्मक संख्या डालना चाहेंगे, लेकिन यदि num_chars तर्क की गणना किसी अन्य एक्सेल फ़ंक्शन या विभिन्न कार्यों के संयोजन द्वारा की जाती है और आपका सही सूत्र #VALUE! त्रुटि, त्रुटियों के लिए नेस्टेड फ़ंक्शन की जांच करना सुनिश्चित करें।
- मूल मान एक तारीख है। यदि आपने इस ट्यूटोरियल का बारीकी से पालन किया है, तो आप पहले से ही जानते हैं कि राइट फ़ंक्शन दिनांकों के साथ काम क्यों नहीं कर सकता है। यदि किसी ने पिछले अनुभाग को छोड़ दिया है, तो आप पूर्ण विवरण पा सकते हैं कि एक्सेल राइट फ़ंक्शन तिथियों के साथ काम क्यों नहीं करता है।
इस तरह आप एक्सेल में राइट फ़ंक्शन का उपयोग करते हैं। इस ट्यूटोरियल में चर्चा किए गए सूत्रों को करीब से देखने के लिए, नीचे हमारी नमूना कार्यपुस्तिका डाउनलोड करने के लिए आपका स्वागत है। पढ़ने के लिए मैं आपको धन्यवाद देता हूं और आशा करता हूं कि अगले सप्ताह हमारे ब्लॉग पर आपसे मुलाकात होगी।
उपलब्ध डाउनलोड
एक्सेल राइट फंक्शन - उदाहरण (.xlsx फ़ाइल)