सामग्री तालिका
ट्युटोरियलले सूत्रहरू र एक्स्ट्र्याक्ट उपकरण प्रयोग गरेर एक्सेलमा विभिन्न पाठ स्ट्रिङहरूबाट सङ्ख्या कसरी निकाल्ने भनेर देखाउँछ।
यो दिइएको लम्बाइको पाठ स्ट्रिङको अंश निकाल्ने कुरा आउँछ। एक्सेलले कार्यलाई द्रुत रूपमा ह्यान्डल गर्न तीनवटा सबस्ट्रिङ प्रकार्यहरू (बायाँ, दायाँ र मध्य) प्रदान गर्दछ। जब अल्फान्यूमेरिक स्ट्रिङबाट नम्बरहरू निकाल्ने कुरा आउँछ, माइक्रोसफ्ट एक्सेलले… केही पनि उपलब्ध गराउँदैन।
एक्सेलमा स्ट्रिङबाट नम्बर प्राप्त गर्न, यसले अलिकति सरलता, अलिकति धैर्यता र विभिन्न प्रकार्यहरूको गुच्छा चाहिन्छ। एक अर्कामा गाँसिएको। वा, तपाइँ एक्स्ट्र्याक्ट उपकरण चलाउन सक्नुहुन्छ र माउस क्लिकको साथ काम गर्न सक्नुहुन्छ। तल तपाईले दुबै विधिहरूमा पूर्ण विवरण पाउनुहुनेछ।
पाठ स्ट्रिङको अन्त्यबाट नम्बर कसरी निकाल्ने
जब तपाईंसँग अल्फान्यूमेरिक स्ट्रिङको स्तम्भ हुन्छ जहाँ नम्बर पछि आउँछ पाठ, तपाईंले यसलाई प्राप्त गर्न निम्न सूत्र प्रयोग गर्न सक्नुहुन्छ।
RIGHT( cell, LEN( cell) - MAX(IF(ISNUMBER(MID( cell)>, ROW(अप्रत्यक्ष("1:"&LEN( cell))), 1) *1)=FALSE, ROW(अप्रत्यक्ष("1:"&LEN( cell<) 2>))), 0)))हामी केहि समय पछि सूत्रको तर्कमा ध्यान दिनेछौं। अहिलेको लागि, केवल सेल लाई मूल स्ट्रिङ (हाम्रो अवस्थामा A2) भएको कक्षको सन्दर्भसँग बदल्नुहोस्, र एउटै पङ्क्तिमा रहेको कुनै पनि खाली कक्षमा सूत्र प्रविष्ट गर्नुहोस्, B2 मा भन्नुहोस्:
=RIGHT(A2, LEN(A2) - MAX(IF(ISNUMBER(MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1) *1)=FALSE, ROW(INDIRECT("1:"&LEN(A2))), 0)))
यो सूत्रले अन्त्यबाट मात्र नम्बर प्राप्त गर्छ। यदि एक स्ट्रिङमा सुरु वा बीचमा संख्याहरू छन् भने, तिनीहरू हुन्बेवास्ता गरिएको:
निकासी RIGHT प्रकार्यको साथ गरिन्छ जुन पाठ प्रकार्यहरूको कोटीसँग सम्बन्धित छ। यस प्रकार्यको आउटपुट सधैं पाठ हुन्छ। हाम्रो अवस्थामा, नतिजा संख्यात्मक सबस्ट्रिङ हो, जुन एक्सेलको सर्तमा पाठ पनि हो, नम्बर होइन।
यदि तपाईंलाई नतिजा नम्बर हुन आवश्यक छ भने (तपाईले थप गणनामा प्रयोग गर्न सक्नुहुन्छ), त्यसपछि सूत्रलाई VALUE प्रकार्यमा बेर्नुहोस् वा परिणाम परिवर्तन नगर्ने अंकगणितीय अपरेशन गर्नुहोस्, भन्नुहोस्, 1 ले गुणन गर्नुहोस् वा ० थप्नुहोस्। स्ट्रिङहरूमा त्रुटिहरू समात्न जसमा a समावेश छैन। एकल नम्बर, IFERROR प्रकार्य प्रयोग गर्नुहोस्। उदाहरणका लागि:
=IFERROR(VALUE(RIGHT(A2, LEN(A2) - MAX(IF(ISNUMBER(MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1)*1)=FALSE, ROW(INDIRECT("1:"&LEN(A2))), 0)))), "")
वा
=IFERROR(RIGHT(A2, LEN(A2) - MAX(IF(ISNUMBER(MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1) *1)=FALSE, ROW(INDIRECT("1:"&LEN(A2))), 0))) +0, "")
11>
नोट। Dynamic Array Excel (Office 365 र 2021) मा, तपाईंले इन्टर कुञ्जीसँग सामान्य तरिकामा सूत्र प्रविष्ट गर्नुहुन्छ। Excel 2019 र अघिल्लो मा, यसले एरे सूत्रको रूपमा मात्र काम गर्दछ, त्यसैले यसलाई पूरा गर्न Ctrl + Shift + Enter थिच्न नबिर्सनुहोस्।
यस सूत्रले कसरी काम गर्छ:
एउटा अल्फान्यूमेरिक स्ट्रिङबाट नम्बर निकाल्नको लागि, तपाईंले जान्न आवश्यक पहिलो कुरा भनेको निकासी कहाँ सुरु गर्ने हो। स्ट्रिङमा अन्तिम गैर-संख्यात्मक क्यारेक्टरको स्थिति यो कठिन सूत्रको मद्दतले निर्धारण गरिन्छ:
MAX(IF(ISNUMBER(MID(A2, ROW(INDIRECT("1:"&LEN( A2))), 1)*1)=FALSE, ROW(INDIRECT("1:"&LEN(A2))), 0))
तर्क बुझ्नको लागि, भित्रबाट छानबिन गरौं। :
द ROW(INDIRECT("1:"&LEN(A2))) संयोजनस्रोत स्ट्रिङ (A2) मा रहेका अक्षरहरूको कुलसँग मिल्दोजुल्दो संख्याहरूको अनुक्रम सिर्जना गर्दछ, र हामी यी क्रमिक सङ्ख्याहरूलाई MID मा प्रारम्भिक सङ्ख्याहरूको रूपमा सेवा गर्छौं:
MID(A2, {1;2;3;4) ;5;6;7;8}, 1)
MID प्रकार्यले प्रत्येक व्यक्तिगत क्यारेक्टरलाई A2 बाट तान्छ र तिनीहरूलाई एरेको रूपमा फर्काउँछ:
{"0";"5";" -";"E";"C";"-";"0";"1"}
MID पाठ प्रकार्य भएको हुनाले, यसको आउटपुट सधैं पाठ हुन्छ (तपाईले ध्यान दिन सक्नुहुन्छ, सबै वर्णहरू उद्धरण चिन्हहरूमा संलग्न छन्)। संख्यात्मकहरूलाई संख्यामा परिणत गर्न, हामी एरेलाई 1 ले गुणन गर्छौं (दोहोरो नकारात्मकता --MID() ले समान प्रभाव पार्नेछ)। यस कार्यको नतिजा संख्या र #VALUE को एरे हो! गैर-संख्यात्मक वर्णहरू प्रतिनिधित्व गर्ने त्रुटिहरू:
ISNUMBER({0;5;#VALUE!;#VALUE!;#VALUE!;#VALUE!;0;1})
ISNUMBER प्रकार्य एरेको प्रत्येक तत्वको मूल्याङ्कन गर्दछ र बुलियन मानहरूको रूपमा आफ्नो निर्णय दिन्छ - संख्याहरूको लागि TRUE, अरू कुनै कुराको लागि FALSE:
{TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE;TRUE}
यो एरे IF प्रकार्यको तार्किक परीक्षणमा जान्छ, जहाँ एरेको प्रत्येक तत्वलाई FALSE सँग तुलना गरिन्छ:
IF({TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE ;TRUE}=FALSE, ROW(INDIRECT("1:"&LEN(A2))), 0)
प्रत्येक FALSE (गैर-संख्यात्मक मान) को लागि, अर्को ROW(INDIRECT()) प्रकार्य फर्काउँछ स्ट्रिङमा यसको सापेक्ष स्थिति। प्रत्येक TRUE (संख्यात्मक मान) को लागि, शून्य फर्काइन्छ। नतिजा सरणी जस्तो देखिन्छनिम्नानुसार:
{0;0;3;4;5;6;0;0}
बाँकी सजिलो छ। MAX प्रकार्यले माथिको एरेमा उच्चतम संख्या फेला पार्छ, जुन स्ट्रिङको अन्तिम गैर-संख्यात्मक मानको स्थिति हो (हाम्रो अवस्थामा 6)। साधारणतया, LEN द्वारा फर्काइएको स्ट्रिङको कुल लम्बाइबाट त्यो स्थिति घटाउनुहोस्, र स्ट्रिङको दायाँ छेउबाट कति क्यारेक्टरहरू निकाल्ने भनेर थाहा दिन नतिजालाई RIGHT मा पास गर्नुहोस्:
RIGHT(A2, LEN) (A2) - 6)
सम्पन्न!
टेक्स्ट स्ट्रिङको सुरुबाट नम्बर कसरी निकाल्ने
यदि तपाईं रेकर्डहरूसँग काम गर्दै हुनुहुन्छ जहाँ पाठ नम्बर पछि देखा पर्दछ, तपाईं सक्नुहुन्छ यो जेनेरिक सूत्र प्रयोग गरेर स्ट्रिङको सुरुबाट नम्बर निकाल्नुहोस्:
LEFT( cell , MATCH(FALSE, ISNUMBER(MID( cell , ROW(INDIRECT("1:)) "&LEN( cell )+1)), 1) *1), 0) -1)A2 मा मूल स्ट्रिङको साथ, नम्बर प्राप्त गर्न निम्न सूत्र प्रयोग गर्नुहोस्:
=LEFT(A2, MATCH(FALSE, ISNUMBER(MID(A2, ROW(INDIRECT("1:"&LEN(A2)+1)), 1) *1), 0) -1)
बिचमा वा अन्त्यमा जतिसुकै अङ्कहरू भए पनि सुरुवाती सङ्ख्या मात्र निकालिन्छ:
नोट। एक्सेल 365 र एक्सेल 2021 मा, डायनामिक एरेहरूको लागि समर्थनको कारण, नियमित सूत्रले राम्रो काम गर्दछ। एक्सेल 2019 र अघिल्लो मा, तपाईंले यसलाई स्पष्ट रूपमा एरे सूत्र बनाउन Ctrl + Shift + Enter थिच्नु पर्छ।
यस सूत्रले कसरी काम गर्दछ:
यहाँ, हामी फेरि स्रोत स्ट्रिङ प्लस १ (त्यसको भूमिकाअतिरिक्त क्यारेक्टर अलि पछि स्पष्ट हुनेछ।
ROW(INDIRECT("1:"&LEN(A2)+1))
MID र ISNUMBER ले उही काम गर्दछ अघिल्लो उदाहरण - MID ले व्यक्तिगत क्यारेक्टरहरू तान्दछ र ISNUMBER ले तिनीहरूलाई तार्किक मानहरूमा रूपान्तरण गर्दछ। TRUE's र FALSE's को नतिजा एरे लुकअप एरेको रूपमा MATCH प्रकार्यमा जान्छ:
MATCH(FALSE, {TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE;TRUE;FALSE}, 0)
MATCH ले पहिलो FALSE को सापेक्षिक स्थिति गणना गर्छ, हामीलाई स्ट्रिङमा (A2 मा 3) पहिलो गैर-संख्यात्मक क्यारेक्टरको स्थिति दिन्छ। अघिल्लो संख्याहरू निकाल्नको लागि, हामी पहिलो पाठ क्यारेक्टरको स्थितिबाट १ घटाउँछौं र भिन्नतालाई num_chars LEFT प्रकार्यको तर्कमा सेवा गर्छौं:
LEFT(A2, 3-1)
अब, ROW(INDIRECT()+1)) द्वारा सिर्जना गरिएको अनुक्रममा "अतिरिक्त" क्यारेक्टरमा फर्कनुहोस्। तपाईलाई पहिले नै थाहा छ, यो अनुक्रम MID प्रकार्यको लागि सुरूवात बिन्दुहरू प्रदान गर्दछ। +1 बिना, MID ले मूल स्ट्रिङमा जति धेरै वर्णहरू निकाल्छ। यदि स्ट्रिङले संख्याहरू मात्र समावेश गर्दछ भने, ISNUMBER ले TRUE को मात्र फर्काउनेछ जबकि MATCH लाई कम्तिमा एउटा FALSE चाहिन्छ। यो सुनिश्चित गर्नको लागि, हामीले स्ट्रिङको कुल लम्बाइमा एउटा थप क्यारेक्टर थप्छौं, जसलाई MID प्रकार्यले खाली स्ट्रिङमा रूपान्तरण गर्नेछ। उदाहरणका लागि, B7 मा, MID ले यो array फर्काउँछ:
{"1";"2";"3";"4";""
नोट। RIGHT प्रकार्यको मामलामा, LEFT ले संख्यात्मक पनि फर्काउँछsubstring , जुन प्राविधिक रूपमा पाठ हो, नम्बर होइन। संख्यात्मक स्ट्रिङको सट्टा संख्याको रूपमा नतिजा प्राप्त गर्न, VALUE प्रकार्यमा सूत्रलाई नेस्ट गर्नुहोस् वा पहिलो उदाहरणमा देखाइए अनुसार नतिजालाई 1 ले गुणन गर्नुहोस्।
स्ट्रिङको कुनै पनि स्थितिबाट कसरी सङ्ख्या प्राप्त गर्ने
यदि तपाइँको कार्यले स्ट्रिङमा कहिँबाट पनि नम्बर निकाल्ने संकेत गर्दछ भने, तपाइँ MrExcel फोरममा प्रकाशित निम्न दिमाग-चोकाउने सूत्र प्रयोग गर्न सक्नुहुन्छ:
=SUMPRODUCT(MID(0&A2, LARGE(INDEX(ISNUMBER(--MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1)) * ROW(INDIRECT("1:"&LEN(A2))), 0), ROW(INDIRECT("1:"&LEN(A2))))+1, 1) * 10^ROW(INDIRECT("1:"&LEN(A2)))/10)
जहाँ A2 हो। मूल पाठ स्ट्रिङ।
यस सूत्रलाई तोड्न छुट्टै लेखको आवश्यकता पर्दछ, त्यसैले यसले वास्तवमै काम गर्छ भनी सुनिश्चित गर्नका लागि यसलाई आफ्नो कार्यपत्रमा प्रतिलिपि गर्न सक्नुहुन्छ :)
नतिजाहरू जाँच गर्दा, तथापि, तपाईंले एउटा महत्त्वपूर्ण कमी देख्न सक्नुहुन्छ - यदि स्रोत स्ट्रिङमा संख्या समावेश छैन भने, माथिको स्क्रिनसटमा पङ्क्ति 6 मा जस्तै, सूत्रले शून्य फर्काउँछ। यसलाई ठीक गर्नको लागि, तपाईंले सूत्रलाई IF कथनमा र्याप गर्न सक्नुहुन्छ, जसको तार्किक परीक्षणले स्रोत स्ट्रिङमा कुनै संख्या समावेश छ कि छैन भनी जाँच गर्छ। यदि यसले गर्छ भने, सूत्रले नम्बर निकाल्छ, अन्यथा खाली स्ट्रिङ फर्काउँछ:
=IF(SUM(LEN(A2)-LEN(SUBSTITUTE(A2, {"0","1","2","3","4","5","6","7","8","9"}, "")))>0, SUMPRODUCT(MID(0&A2, LARGE(INDEX(ISNUMBER(--MID(A2,ROW(INDIRECT("$1:$"&LEN(A2))),1))* ROW(INDIRECT("$1:$"&LEN(A2))),0), ROW(INDIRECT("$1:$"&LEN(A2))))+1,1) * 10^ROW(INDIRECT("$1:$"&LEN(A2)))/10),"")
तलको स्क्रिनसटमा देखाइए अनुसार, सुधारिएको सूत्रले राम्रोसँग काम गर्छ (एलेक्सलाई धन्यवाद, हाम्रो एक्सेल गुरु, यस सुधारको लागि):
पहिलेका सबै उदाहरणहरूमा विपरीत, यो सूत्रको परिणाम संख्या हो। यो सुनिश्चित गर्न, केवल स्तम्भ B मा दायाँ-पङ्क्तिबद्ध मानहरू ध्यान दिनुहोस् र अग्रगामी शून्यहरू काट्नुहोस्।
टिप। Excel 365 मा -एक्सेल 2019, त्यहाँ TEXTJOIN प्रकार्यको मद्दतले धेरै सरल समाधान छ। कृपया कसरी पाठ हटाउने र नम्बरहरू राख्ने हेर्नुहोस्।
अल्टीमेट सुइटको साथ पाठ स्ट्रिङबाट नम्बर निकाल्नुहोस्
तपाईले भर्खरै देख्नुभएको छ, पाठ स्ट्रिङबाट नम्बर तान्न कुनै मामूली एक्सेल सूत्र छैन। यदि तपाइँलाई तपाइँको डेटा सेटहरूको लागि सूत्रहरू बुझ्न वा तिनीहरूलाई ट्वीक गर्न कठिनाइहरू छन् भने, तपाइँलाई Excel मा स्ट्रिङबाट नम्बर प्राप्त गर्न यो सरल तरिका मनपर्छ।
हाम्रो अल्टिमेट सुइट तपाइँको एक्सेल रिबनमा थपिएको छ, तपाइँ यसरी कुनै पनि अल्फान्यूमेरिक स्ट्रिङबाट द्रुत रूपमा नम्बर पुन: प्राप्त गर्न सक्नुहुन्छ:
- Ablebits Data ट्याब > Text समूहमा जानुहोस्, र Extract मा क्लिक गर्नुहोस्। :
- स्रोत स्ट्रिङहरू भएका सबै कक्षहरू चयन गर्नुहोस्।
- Extract उपकरणको फलकमा, Extract numbers रेडियो बटन चयन गर्नुहोस्।
- तपाईँ नतिजाहरू सूत्र वा मानहरू हुन चाहनुहुन्छ भन्नेमा निर्भर गर्दै, सूत्रको रूपमा घुसाउनुहोस् बाकस चयन गर्नुहोस् वा यसलाई अचयनित छोड्नुहोस् (पूर्वनिर्धारित)।
मेरो सल्लाह यो बाकस चयन गर्न हो यदि तपाईं स्रोत तारहरूमा कुनै पनि परिवर्तन गरेपछि निकालिएका नम्बरहरू स्वचालित रूपमा अद्यावधिक गर्न चाहनुहुन्छ भने। यदि तपाइँ परिणामहरू मूल स्ट्रिङहरूमा स्वतन्त्र हुन चाहनुहुन्छ भने (उदाहरणका लागि यदि तपाइँ पछिको बिन्दुमा स्रोत डेटा हटाउने योजना बनाउनुहुन्छ), त्यसपछि यो बाकस चयन नगर्नुहोस्।
- Insert Results बटनमा क्लिक गर्नुहोस्। सकियो!
अघिल्लो उदाहरणमा जस्तै, परिणामहरूनिकासी भनेको संख्याहरू हो, जसको अर्थ तपाईं तिनीहरूसँग गणना, योगफल, औसत, वा अन्य कुनै पनि गणना गर्न स्वतन्त्र हुनुहुन्छ।
यस उदाहरणमा, हामीले परिणामहरूलाई <9 को रूपमा घुसाउन रोजेका छौं।>values , र add-in ले सोही अनुसार गरे:
यदि सूत्रको रूपमा घुसाउनुहोस् चेकबक्स चयन गरिएको थियो भने, तपाईँले d सूत्र पट्टीमा सूत्र अवलोकन गर्नुहोस्। कुन जान्न उत्सुक हुनुहुन्छ? केवल अल्टिमेट सुइटको ट्रायल डाउनलोड गर्नुहोस् र आफैलाई हेर्नुहोस् :)
उपलब्ध डाउनलोडहरू
एक्सेल एक्स्ट्र्याक्ट नम्बर - नमूना कार्यपुस्तिका (.xlsx फाइल)
अल्टीमेट सुइट - परीक्षण संस्करण (.exe) फाइल)