एक्सेल सेलबाट पाठ वा नम्बरहरू कसरी हटाउने

  • यो साझा गर्नुहोस्
Michael Brown

यस ट्युटोरियलले नेटिभ सूत्रहरू र अनुकूलन प्रकार्यहरू प्रयोग गरेर एक्सेलमा नम्बरहरूबाट पाठ कसरी अलग गर्ने भनेर सिकाउनेछ। तपाईंले पाठ र सङ्ख्याहरूलाई दुई छुट्टाछुट्टै स्तम्भहरूमा कसरी विभाजन गर्ने भनेर पनि सिक्नुहुनेछ।

यसको कल्पना गर्नुहोस्: तपाईंले विश्लेषणको लागि कच्चा डाटा प्राप्त गर्नुहुन्छ र पत्ता लगाउनुहोस् कि एउटा स्तम्भमा पाठसँग सङ्ख्याहरू मिसाइएको छ। धेरैजसो परिस्थितिहरूमा, नजिकको जाँचको लागि तिनीहरूलाई छुट्टै स्तम्भहरूमा राख्न पक्कै बढी सुविधाजनक हुनेछ।

यदि तपाईं समान डेटासँग काम गर्दै हुनुहुन्छ भने, तपाईंले सम्भवतः बायाँ, दायाँ, र मध्य प्रकार्यहरू प्रयोग गर्न सक्नुहुन्छ। एउटै स्थितिबाट वर्णहरूको समान संख्या। तर त्यो प्रयोगशाला परीक्षणको लागि एक आदर्श परिदृश्य हो। वास्तविक जीवनमा, तपाईले भिन्न डेटासँग व्यवहार गर्ने सम्भावना हुन्छ जहाँ संख्याहरू पाठको अगाडि, पाठ पछि वा पाठको बीचमा आउँछन्। तलका उदाहरणहरूले यस केसको लागि ठ्याक्कै समाधान प्रदान गर्दछ।

    कसरी पाठ हटाउने र Excel कक्षहरूमा नम्बरहरू राख्ने

    समाधानले Excel 365, Excel 2021 मा काम गर्दछ। , र Excel 2019

    Microsoft Excel 2019 ले केही नयाँ प्रकार्यहरू प्रस्तुत गर्‍यो जुन अघिल्लो संस्करणहरूमा उपलब्ध छैन, र हामी त्यस्ता प्रकार्यहरू मध्ये एउटा प्रयोग गर्न गइरहेका छौं, अर्थात् TEXTJOIN, एउटा सेलबाट टेक्स्ट क्यारेक्टरहरू हटाउन। संख्याहरू समावेश गर्दछ।

    सामान्य सूत्र हो:

    TEXTJOIN("", TRUE, IFERROR(MID( cell, ROW(INDIRECT( "1:"&LEN( cell))), 1) *1, ""))

    Excel 365 र 2021 मा, यसले पनि काम गर्नेछ:

    TEXTJOIN("", TRUE,IFERROR(MID( cell, SEQUENCE(LEN( cell)), 1) *1, ""))

    पहिलो नजरमा, सूत्रहरू अलि डरलाग्दो देखिन सक्छन्, तर तिनीहरूले काम गर्छन् :)

    उदाहरणका लागि, A2 मा संख्याहरूबाट पाठ हटाउनको लागि, B2 मा तलका सूत्रहरू मध्ये एउटा प्रविष्ट गर्नुहोस्, र त्यसपछि यसलाई आवश्यकता अनुसार धेरै कक्षहरूमा प्रतिलिपि गर्नुहोस्।

    Excel 365 - 2019 मा:

    =TEXTJOIN("", TRUE, IFERROR(MID(A2, ROW(INDIRECT( "1:"&LEN(A2))), 1) *1, ""))

    Excel 2019 मा, यसलाई Ctrl + Shift + Enter को साथ एरे सूत्रको रूपमा प्रविष्ट गर्नुपर्छ। डायनामिक एरे एक्सेलमा, यसले इन्टर कुञ्जीसँग पूरा भएको सामान्य सूत्रको रूपमा काम गर्दछ।

    एक्सेल 365 र 2021 मा:

    =TEXTJOIN("", TRUE, IFERROR(MID(A2, SEQUENCE(LEN(A2)), 1) *1, ""))

    परिणामको रूपमा, सबै पाठ वर्णहरू सेलबाट हटाइयो र नम्बरहरू राखिन्छन्:

    यस सूत्रले कसरी काम गर्छ:

    तर्कलाई राम्रोसँग बुझ्नको लागि, अनुसन्धान सुरु गरौं। भित्रबाट सूत्र:

    तपाईँ ROW(INDIRECT("1:"&LEN(string))) वा SEQUENCE(LEN(string)) को कुल संख्यासँग मिल्दोजुल्दो संख्याहरू सिर्जना गर्न प्रयोग गर्नुहुन्छ। स्रोत स्ट्रिङमा क्यारेक्टरहरूको, र त्यसपछि ती क्रमिक संख्याहरूलाई MID प्रकार्यमा सुरुको संख्याको रूपमा फिड गर्नुहोस्। B2 मा, सूत्रको यो भाग निम्नानुसार देखिन्छ:

    MID(A2, {1;2;3;4;5;6;7;8;9;10;11;12;13;14;15}, 1)

    MID प्रकार्यले A2 बाट प्रत्येक क्यारेक्टरलाई पहिलो पटकबाट निकाल्छ र तिनीहरूलाई array को रूपमा फर्काउँछ:

    {"2";"1";"0";" ";"S";"u";"n";"s";"e";"t";" ";"R";"o";"a";"d"}

    यो एर्रेलाई १ ले गुणन गरिन्छ। संख्यात्मक मानहरू कुनै परिवर्तन बिना जीवित रहन्छन्, जबकि गैर-संख्यात्मक क्यारेक्टरलाई गुणन गर्दा #VALUE हुन्छ! त्रुटि:

    {2;1;0;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!}

    IFERROR प्रकार्य ह्यान्डल गर्दछयी त्रुटिहरू र तिनीहरूलाई खाली स्ट्रिङहरूसँग प्रतिस्थापन गर्दछ:

    {2;1;0;"";"";"";"";"";"";"";"";"";"";"";""}

    यो अन्तिम एरेलाई TEXTJOIN प्रकार्यमा सेवा गरिन्छ, जसले एरेमा गैर-खाली मानहरूलाई जोड्दछ ( ignore_empty तर्कलाई TRUE मा सेट गरियो) डिलिमिटरको लागि खाली स्ट्रिङ ("") प्रयोग गरेर:

    TEXTJOIN("", TRUE, {2;1;0;"";"";"";"";"";"";"";"";"";"";"";""})

    टिप। एक्सेल 2016 - 2007 को लागी, एक समाधान पनि अवस्थित छ, तर सूत्र धेरै जटिल छ। तपाईले यो ट्यूटोरियलमा फेला पार्न सक्नुहुन्छ: एक्सेलमा नम्बरहरू कसरी निकाल्ने।

    संख्याहरूबाट पाठ हटाउन अनुकूलन प्रकार्य

    समाधानले सबै एक्सेल संस्करणहरूको लागि काम गर्दछ

    यदि तपाइँ एक्सेलको पुरानो संस्करण प्रयोग गर्दै हुनुहुन्छ वा माथिका सूत्रहरू पनि फेला पार्नुहोस्। याद गर्न गाह्रो, सरल वाक्य रचना र RemoveText जस्ता प्रयोगकर्ता-अनुकूल नामको साथ तपाईँको आफ्नै प्रकार्य सिर्जना गर्न कुनै पनि कुराले रोक्दैन। प्रयोगकर्ता-परिभाषित प्रकार्य (UDF) दुई तरिकामा लेख्न सकिन्छ:

    VBA कोड 1:

    यहाँ, हामी स्रोत स्ट्रिङमा प्रत्येक क्यारेक्टरलाई एक-एक गरी हेर्छौं। एक र जाँच गर्नुहोस् कि यो संख्यात्मक छ वा छैन। यदि कुनै संख्या, क्यारेक्टर परिणाम स्ट्रिङमा थपिएको छ।

    प्रकार्य RemoveText(str as String ) Dim sRes as String sRes = "" for i = 1 to Len(str) यदि True = IsNumeric(Mid(str, i) , 1)) त्यसपछि sRes = sRes & Mid(str, i, 1) End If Next i RemoveText = sRes End प्रकार्य

    VBA कोड 2:

    कोडले रेगुलर एक्सप्रेशन प्रशोधन गर्न वस्तु सिर्जना गर्छ। RegExp प्रयोग गरेर, हामी स्रोत स्ट्रिङबाट अंक ०-९ बाहेक सबै क्यारेक्टरहरू हटाउँछौं।

    CreateObject ( "VBScript.RegExp" ) स्ट्रिङको रूपमा फंक्शन RemoveText(string as ) .Global = True .Pattern = "[^0-9]" RemoveText = .Replace(str, "" ) अन्त्य प्रकार्यसँग अन्त्य गर्नुहोस्

    साना कार्यपत्रहरूमा, दुबै कोडहरूले समान रूपमा राम्रो प्रदर्शन गर्नेछन्। ठूला कार्यपत्रहरूमा जहाँ प्रकार्यलाई सयौं वा हजारौं पटक बोलाइन्छ, VBScript.RegExp प्रयोग गर्ने कोड 2 छिटो काम गर्नेछ।

    तपाईँको कार्यपुस्तिकामा कोड घुसाउने विस्तृत चरणहरू यहाँ फेला पार्न सकिन्छ: VBA कसरी घुसाउने? एक्सेलमा कोड।

    तपाईंले जुनसुकै दृष्टिकोण रोज्नुहुन्छ, अन्त-प्रयोगकर्ताको दृष्टिकोणबाट, पाठ मेटाउने र नम्बरहरू छोड्ने प्रकार्य यस रूपमा सरल छ:

    RemoveText(string)

    उदाहरणका लागि, सेल A2 बाट गैर-संख्यात्मक क्यारेक्टरहरू हटाउनुहोस्, B2 मा सूत्र हो:

    =RemoveText(A2)

    केवल यसलाई स्तम्भमा प्रतिलिपि गर्नुहोस्, र तपाईंले यो परिणाम प्राप्त गर्नुहुनेछ:

    नोट। दुवै नेटिभ सूत्र र अनुकूलन प्रकार्य आउटपुट संख्यात्मक स्ट्रिङ । यसलाई संख्यामा परिणत गर्न, नतिजालाई 1 द्वारा गुणा गर्नुहोस्, वा शून्य थप्नुहोस्, वा VALUE प्रकार्यमा सूत्र लपेट्नुहोस्। उदाहरणका लागि:

    =RemoveText(A2) + 0

    =VALUE(RemoveText(A2))

    एक्सेलमा पाठ स्ट्रिङबाट नम्बरहरू कसरी हटाउने

    समाधानले एक्सेल ३६५, एक्सेल २०२१ र एक्सेलमा काम गर्छ 2019

    अल्फान्यूमेरिक स्ट्रिङबाट नम्बरहरू हटाउने सूत्रहरू अघिल्लो उदाहरणमा छलफल गरिएकासँग धेरै मिल्दोजुल्दो छन्।

    Excel 365 - 2019 का लागि:

    TEXTJOIN(" ", TRUE, IF(ISERR(MID( cell , ROW(INDIRECT("1:"&LEN( cell ) )), 1) *1), MID( cell , ROW(INDIRECT("1:"&LEN( ) सेल ))), १), ""))

    एक्सेल २०१९ मा, Ctrl + Shift + Enter कुञ्जीहरू सँगै थिचेर यसलाई array सूत्र बनाउन सम्झनुहोस्।

    Excel 365 र 2021 को लागि:

    TEXTJOIN("", TRUE, IF(ISERROR(MID( cell , SEQUENCE(LEN( cell 1) *1), MID ( cell , SEQUENCE(LEN( cell )), 1), ""))

    उदाहरणका लागि, A2 मा स्ट्रिङबाट नम्बरहरू स्ट्रिप गर्न, सूत्र हो:

    =TEXTJOIN("", TRUE, IF(ISERR(MID(A2, ROW(INDIRECT( "1:"&LEN(A2) )), 1) *1), MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1), ""))

    वा

    =TEXTJOIN("", TRUE, IF(ISERROR(MID(A2, SEQUENCE(LEN(A2)), 1) *1), MID(A2, SEQUENCE(LEN(A2)), 1), ""))

    परिणामको रूपमा, सबै नम्बरहरू सेलबाट हटाइन्छ र पाठ वर्णहरू राखिन्छन्:

    माथिको स्क्रिनसटमा देखाइए अनुसार, सूत्रले स्ट्रिङको कुनै पनि स्थानबाट सङ्ख्यात्मक क्यारेक्टरहरू स्ट्रिप गर्दछ: सुरुमा, अन्त्यमा र बीचमा। यद्यपि, त्यहाँ एउटा चेतावनी छ: यदि स्ट्रिङ स्पेस पछिको नम्बरबाट सुरु हुन्छ , त्यो स्पेस राखिएको छ, जसले अग्रगामी स्पेसहरूको समस्या उत्पन्न गर्छ (जस्तै B2 मा)।

    पाठ अघि अतिरिक्त स्पेसहरू हटाउनको लागि। , सूत्रलाई TRIM प्रकार्यमा यसरी बेर्नुहोस्:

    =TRIM(TEXTJOIN("", TRUE, IF(ISERROR(MID(A2, SEQUENCE(LEN(A2)), 1) *1), MID(A2, SEQUENCE(LEN(A2)), 1), "")))

    अब, तपाइँको नतिजा एकदम सही छ!

    15>

    यस सूत्रले कसरी काम गर्छ:

    संक्षेपमा, सूत्रले अघिल्लो उदाहरणमा व्याख्या गरे जस्तै काम गर्छ। भिन्नता यो हो कि, अन्तिम एरेबाट TEXTJOIN प्रकार्यमा सेवा गरिन्छ, तपाईले संख्याहरू हटाउनु पर्छ, पाठ होइन। यो गर्नको लागि, हामी IF र ISERROR प्रकार्यहरूको संयोजन प्रयोग गर्छौं।

    तपाईलाई सम्झना अनुसार,MID(…)+0 ले संख्याहरूको एर्रे र #VALUE उत्पन्न गर्छ! एउटै स्थानहरूमा पाठ क्यारेक्टरहरू प्रतिनिधित्व गर्ने त्रुटिहरू:

    {2;1;0;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!}

    ISERROR प्रकार्यले त्रुटिहरू समात्छ र बुलियन मानहरूको परिणामस्वरूप एरेलाई IF:

    {FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE}

    जब IF प्रकार्यले TRUE (त्रुटि) देख्छ, यसले अर्को MID प्रकार्यको मद्दतले प्रशोधित एरेमा सम्बन्धित पाठ क्यारेक्टर घुसाउँछ। जब IF प्रकार्यले FALSE (एउटा नम्बर) देख्छ, यसले यसलाई खाली स्ट्रिङसँग बदल्छ:

    {"";"";"";" ";"S";"u";"n";"s";"e";"t";" ";"R";"o";"a";"d"}

    यो अन्तिम एरे TEXTJOIN मा पास हुन्छ, त्यसैले यसले पाठ क्यारेक्टरहरूलाई जोड्छ र आउटपुट गर्छ। परिणाम।

    पाठबाट नम्बरहरू हटाउन अनुकूलन प्रकार्य

    समाधानले सबै एक्सेल संस्करणहरूको लागि काम गर्दछ

    एक बलियो सूत्र राख्नु पर्छ भन्ने कुरालाई ध्यानमा राख्दै साधारण, म कुनै पनि संख्यात्मक क्यारेक्टर हटाउन प्रयोगकर्ता-परिभाषित प्रकार्य (UDF) को कोड साझा गर्नेछु।

    VBA कोड 1:

    प्रकार्य RemoveNumbers(str As String) Dim स्ट्रिङको रूपमा sRes sRes = "" i = 1 को लागि Len(str) यदि False = IsNumeric(Mid(str, i, 1)) त्यसपछि sRes = sRes & Mid(str, i, 1) End If Next i RemoveNumbers = sRes End प्रकार्य

    VBA code 2:

    Function RemoveNumbers(str as String ) CreateObject ( "VBScript.RegExp" सँग स्ट्रिङको रूपमा ) .Global = True .Pattern = "[0-9]" RemoveNumbers2 = .Replace(str, "" ) End प्रकार्यसँग अन्त्य गर्नुहोस्

    RemoveText प्रकार्यको मामलामा, दोस्रो कोड प्रयोग गर्न राम्रो छ। ठूलोकार्यसम्पादन अप्टिमाइज गर्न कार्यपत्रहरू।

    तपाईँको कार्यपुस्तिकामा कोड थपिसकेपछि, तपाईँले यो अनुकूलन प्रकार्य प्रयोग गरेर सेलबाट सबै संख्यात्मक क्यारेक्टरहरू हटाउन सक्नुहुन्छ:

    RemoveNumbers(string)

    हाम्रो अवस्थामा, B2 मा सूत्र हो:

    =RemoveNumbers(A2)

    अग्रणी खाली ठाउँहरू ट्रिम गर्न यदि कुनै छ भने, TRIM भित्र आफू अनुकूल प्रकार्य नेस्ट गर्नुहोस् जस्तै तपाईंले नेटिभ सूत्र:

    =TRIM(RemoveNumbers(A2))

    <0

    अङ्क र पाठलाई छुट्टाछुट्टै स्तम्भहरूमा विभाजन गर्नुहोस्

    पाठ र संख्याहरूलाई दुईवटा स्तम्भहरूमा छुट्याउन चाहेको अवस्थामा, एउटै सूत्रबाट काम गर्न पाए राम्रो हुन्छ। , सहमत हुनुहुन्छ? यसका लागि, हामीले RemoveText RemoveNumbers प्रकार्यहरूको कोडलाई SplitTextNumbers नामक एउटा प्रकार्यमा मर्ज गर्छौँ, वा केवल Split , वा तपाईलाई जे मनपर्छ :)

    VBA कोड 1:

    प्रकार्य SplitTextNumbers(string को रूपमा , is_remove_text as boolean) String Dim sNum, sText, sChar स्ट्रिङ sCurChar = sNum = sText को रूपमा = "" i = 1 को लागि Len(str) sCurChar = Mid(str, i, 1) यदि True = IsNumeric(sCurChar) त्यसपछि sNum = sNum & sCurChar Else sText = sText & sCurChar End यदि Next i यदि True = is_remove_text त्यसपछि SplitTextNumbers = sNum Else SplitTextNumbers = sText End यदि End प्रकार्य

    VBA कोड 2:

    प्रकार्य SplitTextNumbers(str as String , as_remove_text) is_remove CreateObject ( "VBScript.RegExp" ) को साथ .Global = True यदि True = is_remove_text त्यसपछि .Pattern = "[^0-9]" अन्यथा.Pattern = "[0-9]" End If SplitTextNumbers = .Replace(str, "" ) End प्रकार्यसँग अन्त्य गर्नुहोस्

    हाम्रो नयाँ अनुकूलन प्रकार्यलाई दुई तर्कहरू चाहिन्छ:

    SplitTextNumbers(string, is_remove_text)

    जहाँ is_remove_text कुन क्यारेक्टरहरू स्ट्रिप गर्ने भनेर संकेत गर्ने बुलियन मान हो:

    • TRUE वा 1 - पाठ हटाउनुहोस् र नम्बरहरू राख्नुहोस्
    • FALSE वा 0 - नम्बरहरू हटाउनुहोस् र पाठ राख्नुहोस्

    हाम्रो नमूना डेटासेटको लागि, सूत्रहरूले यो फारम लिन्छन्:

    गैर-संख्यात्मक वर्णहरू हटाउन:

    =SplitTextNumbers(A2, TRUE)

    संख्यात्मक वर्णहरू मेटाउन :

    =SplitTextNumbers(A2, FALSE)

    टिप। अग्रगामी स्थानहरूको सम्भावित समस्याबाट बच्नको लागि, म सधैं TRIM प्रकार्यमा नम्बरहरू हटाउने सूत्रलाई र्‍याप गर्न सिफारिस गर्छु:

    =TRIM(SplitTextNumbers(A2, FALSE))

    अंक वा पाठ हटाउनको लागि विशेष उपकरण

    गर्नेहरूका लागि अनावश्यक रूपमा चीजहरू जटिल बनाउन मन पराउँदैन, म Excel मा पाठ वा नम्बरहरू हटाउने हाम्रो आफ्नै तरिका देखाउनेछु।

    हाम्रो अल्टिमेट सुइट तपाईंको एक्सेल रिबनमा थपिएको छ भनी मान्दै, तपाईंले के गर्नुहुन्छ:

    1. Ablebits Data ट्याबमा, Text समूहमा, हटाउनुहोस् > क्यारेक्टरहरू हटाउनुहोस् मा क्लिक गर्नुहोस्।

  • एड-इनको फलकमा, स्रोत दायरा चयन गर्नुहोस्, क्यारेक्टर सेटहरू हटाउनुहोस् विकल्प छान्नुहोस्, र या त पाठ <1 छान्नुहोस्।>अक्षरहरू वा संख्यात्मक वर्णहरू ड्रप-डाउन सूचीमा।
  • हिट हटाउनुहोस् र परिणामको आनन्द लिनुहोस् :)
  • टिप। यदि नतिजाहरूमा केही प्रमुख खाली ठाउँहरू छन् भने, ट्रिम स्पेसहरूउपकरणले तिनीहरूलाई कुनै पनि समयमा हटाउनेछ।

    यसरी एक्सेलमा स्ट्रिङबाट पाठ वा संख्यात्मक क्यारेक्टरहरू हटाउने। पढ्नुभएकोमा म तपाईंलाई धन्यवाद दिन्छु र अर्को हप्ता हाम्रो ब्लगमा तपाईंलाई भेट्न आतुर छु!

    उपलब्ध डाउनलोडहरू

    एक्सेलमा पाठ वा नम्बरहरू हटाउनुहोस् - उदाहरणहरू (.xlsm फाइल)

    अल्टिमेट सुइट - परीक्षण संस्करण (.exe फाइल)

    माइकल ब्राउन सफ्टवेयर उपकरणहरू प्रयोग गरेर जटिल प्रक्रियाहरू सरल बनाउने जोशका साथ एक समर्पित टेक्नोलोजी उत्साही हो। प्राविधिक उद्योगमा एक दशक भन्दा बढी अनुभवको साथ, उनले Microsoft Excel र Outlook, साथै Google Sheets र Docs मा आफ्नो सीपलाई सम्मान गरेका छन्। माइकलको ब्लग आफ्नो ज्ञान र विशेषज्ञता अरूसँग साझेदारी गर्न समर्पित छ, उत्पादकता र दक्षता सुधार गर्न सजिलो-पछ्याउन-सजिलो सुझावहरू र ट्यूटोरियलहरू प्रदान गर्न। चाहे तपाईं अनुभवी पेशेवर होस् वा शुरुवातकर्ता होस्, माइकलको ब्लगले यी आवश्यक सफ्टवेयर उपकरणहरूबाट अधिकतम लाभ लिनको लागि बहुमूल्य अन्तर्दृष्टि र व्यावहारिक सल्लाह प्रदान गर्दछ।