உள்ளடக்க அட்டவணை
சூத்திரங்கள் மற்றும் எக்ஸ்ட்ராக்ட் கருவியைப் பயன்படுத்தி எக்செல் இல் உள்ள பல்வேறு உரைச் சரங்களிலிருந்து எண்ணைப் பிரித்தெடுப்பது எப்படி என்பதை டுடோரியல் காட்டுகிறது.
கொடுக்கப்பட்ட நீளத்தின் உரைச் சரத்தின் பகுதியைப் பிரித்தெடுக்கும் போது , எக்செல் பணியை விரைவாகக் கையாள மூன்று சப்ஸ்ட்ரிங் செயல்பாடுகளை (இடது, வலது மற்றும் நடு) வழங்குகிறது. எண்ணெழுத்து சரத்திலிருந்து எண்களைப் பிரித்தெடுக்கும் போது, மைக்ரோசாஃப்ட் எக்செல் வழங்குகிறது... எதுவும் இல்லை.
எக்செல் ஒரு சரத்தில் இருந்து எண்ணைப் பெற, கொஞ்சம் புத்தி கூர்மை, கொஞ்சம் பொறுமை மற்றும் பல்வேறு செயல்பாடுகள் தேவை. ஒன்றுக்கொன்று உள்ளுறை. அல்லது, நீங்கள் Extract கருவியை இயக்கி, மவுஸ் கிளிக் மூலம் வேலையைச் செய்யலாம். இரண்டு முறைகள் பற்றிய முழு விவரங்களையும் கீழே காணலாம்.
உரைச் சரத்தின் முடிவில் இருந்து எண்ணைப் பிரித்தெடுப்பது எப்படி
உங்களிடம் எண்ணெழுத்துச் சரங்களின் நெடுவரிசை இருந்தால், அதற்குப் பிறகு எண் வரும். உரை, அதைப் பெற பின்வரும் சூத்திரத்தைப் பயன்படுத்தலாம்.
RIGHT( செல், LEN( செல்) - MAX(IF(ISNUMBER(MID( செல்<2)>, ROW(INDIRECT("1:"&LEN( செல் ))), 1) *1)=FALSE, ROW(INDIRECT("1:"&LEN( செல் ))), 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)))
இந்த சூத்திரம் முடிவில் இருந்து எண்ணைப் பெறுகிறது. ஒரு சரத்தில் தொடக்கத்திலோ அல்லது நடுவிலோ எண்கள் இருந்தால், அவைபுறக்கணிக்கப்பட்டது:
உரை செயல்பாடுகளின் வகையைச் சேர்ந்த வலது செயல்பாட்டின் மூலம் பிரித்தெடுத்தல் செய்யப்படுகிறது. இந்தச் செயல்பாட்டின் வெளியீடு எப்போதும் உரை ஆகும். எங்கள் விஷயத்தில், முடிவு ஒரு எண் சப்ஸ்ட்ரிங் ஆகும், இது எக்செல் அடிப்படையில் உரையாகவும் உள்ளது, எண் அல்ல.
உங்களுக்கு முடிவு தேவை என்றால் எண் (மேலும் கணக்கீடுகளில் நீங்கள் பயன்படுத்தலாம்), பின்னர் சூத்திரத்தை VALUE செயல்பாட்டில் மடிக்கவும் அல்லது முடிவை மாற்றாத எண்கணித செயல்பாட்டைச் செய்யவும், சொல்லுங்கள், 1 ஆல் பெருக்கவும் அல்லது 0 ஐ சேர்க்கவும். ஒற்றை எண், 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, "")
குறிப்பு. டைனமிக் அரே எக்செல் (அலுவலகம் 365 மற்றும் 2021) இல், Enter விசையுடன் வழக்கமான முறையில் சூத்திரத்தை உள்ளிடவும். எக்செல் 2019 மற்றும் அதற்கு முந்தைய காலகட்டங்களில், இது ஒரு வரிசை சூத்திரமாக மட்டுமே செயல்படும், எனவே அதை முடிக்க Ctrl + Shift + Enter ஐ அழுத்தவும்.
இந்த சூத்திரம் எவ்வாறு செயல்படுகிறது:
எண்ணெழுத்து சரத்திலிருந்து எண்ணைப் பிரித்தெடுக்க, நீங்கள் முதலில் தெரிந்து கொள்ள வேண்டியது பிரித்தெடுப்பதை எங்கு தொடங்குவது என்பதுதான். இந்த தந்திரமான சூத்திரத்தின் உதவியுடன் சரத்தின் கடைசி எண் அல்லாத எழுத்தின் நிலை தீர்மானிக்கப்படுகிறது:
MAX(IF(ISNUMBER(MID(A2, ROW(INDIRECT("1:"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 . -";"E";"C";"-";"0";"1"}
MID ஒரு உரைச் செயல்பாடாக இருப்பதால், அதன் வெளியீடு எப்பொழுதும் உரையாகவே இருக்கும் (நீங்கள் கவனிக்கலாம், எல்லா எழுத்துகளும் மேற்கோள் குறிகளுடன் இணைக்கப்பட்டுள்ளது). எண்களை எண்களாக மாற்ற, வரிசையை 1 ஆல் பெருக்குவோம் (இரட்டை மறுப்பு --MID() அதே விளைவை ஏற்படுத்தும்). இந்த செயல்பாட்டின் விளைவாக எண்களின் வரிசை மற்றும் #VALUE! எண் அல்லாத எழுத்துக்களைக் குறிக்கும் பிழைகள்:
ISNUMBER({0;5;#VALUE!;#VALUE!;#VALUE!;#VALUE!;0;1})
ISNUMBER செயல்பாடு அணிவரிசையின் ஒவ்வொரு உறுப்பையும் மதிப்பிட்டு அதன் தீர்ப்பை பூலியன் மதிப்புகள் வடிவில் வழங்குகிறது - எண்களுக்கு உண்மை, வேறு எதற்கும் தவறு:
{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)
ஒவ்வொரு தவறுக்கும் (எண் அல்லாத மதிப்பு), மற்றொரு ROW(INDIRECT()) செயல்பாடு கிடைக்கும் சரத்தில் அதன் உறவினர் நிலை. ஒவ்வொரு TRUEக்கும் (எண் மதிப்பு), பூஜ்ஜியம் வழங்கப்படும். இதன் விளைவாக வரிசை தெரிகிறதுபின்வருமாறு:
{0;0;3;4;5;6;0;0}
மீதம் எளிதானது. MAX செயல்பாடானது, மேலே உள்ள வரிசையில் உள்ள அதிகபட்ச எண்ணைக் கண்டறிகிறது, இது சரத்தின் கடைசி எண் அல்லாத மதிப்பின் நிலையாகும் (எங்கள் விஷயத்தில் 6). வெறுமனே, LEN வழங்கிய சரத்தின் மொத்த நீளத்திலிருந்து அந்த நிலையைக் கழிக்கவும், மேலும் சரத்தின் வலது பக்கத்திலிருந்து எத்தனை எழுத்துக்களைப் பிரித்தெடுக்க வேண்டும் என்பதைத் தெரிவிக்க முடிவை வலது பக்கம் அனுப்பவும்:
வலது(A2, LEN (A2) - 6)
முடிந்தது!
உரைச் சரத்தின் தொடக்கத்திலிருந்து எண்ணைப் பிரித்தெடுப்பது எப்படி
எண்ணுக்குப் பிறகு உரை தோன்றும் பதிவுகளுடன் நீங்கள் பணிபுரிந்தால், உங்களால் முடியும் இந்தப் பொதுவான சூத்திரத்தைப் பயன்படுத்தி சரத்தின் தொடக்கத்திலிருந்து எண்ணைப் பிரித்தெடுக்கவும்:
இடது( செல் , போட்டி(தவறான, ISNUMBER(MID( செல் , ROW(INDIRECT("1:)): "&LEN( செல் )+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 இல், டைனமிக் வரிசைகளுக்கான ஆதரவின் காரணமாக, வழக்கமான சூத்திரம் நன்றாக வேலை செய்கிறது. Excel 2019 மற்றும் அதற்கு முந்தையவற்றில், Ctrl + Shift + Enter ஐ அழுத்தி அதை வரிசை சூத்திரமாக வெளிப்படையாக மாற்ற வேண்டும்.
இந்த சூத்திரம் எவ்வாறு செயல்படுகிறது:
இங்கே, நாம் மீண்டும் ROW, INDIRECT மற்றும் LEN செயல்பாடுகளின் கலவையைப் பயன்படுத்தி, மூலச் சரத்தில் உள்ள மொத்த எழுத்துகள் மற்றும் 1 (அதன் பங்குக்கு சமமான எண்களின் வரிசையை உருவாக்குகிறோம்.கூடுதல் எழுத்து சிறிது நேரம் கழித்து தெளிவாகிவிடும்).
ROW(INDIRECT("1:"&LEN(A2)+1))
MID மற்றும் ISNUMBER இல் உள்ள அதே வேலையைச் செய்கின்றன. முந்தைய உதாரணம் - MID தனிப்பட்ட எழுத்துகளை இழுக்கிறது மற்றும் ISNUMBER அவற்றை தருக்க மதிப்புகளுக்கு மாற்றுகிறது. இதன் விளைவாக வரும் TRUE மற்றும் FALSE இன் வரிசையானது, ஒரு தேடல் வரிசையாக MATCH செயல்பாட்டிற்கு செல்கிறது:
MATCH(FALSE, {TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE;TRUE;FALSE}, 0)
MATCH ஆனது முதல் FALSE இன் ஒப்பீட்டு நிலையைக் கணக்கிடுகிறது, இது சரத்தில் உள்ள முதல் எண் அல்லாத எழுத்தின் நிலையை நமக்கு வழங்குகிறது (A2 இல் 3). முந்தைய எண்களைப் பிரித்தெடுக்க, முதல் உரை எழுத்தின் நிலையிலிருந்து 1ஐக் கழித்து, num_chars இடது செயல்பாட்டின் வாதத்திற்கு வித்தியாசத்தை வழங்குகிறோம்:
LEFT(A2, 3-1)
இப்போது, ROW(INDIRECT()+1)) மூலம் உருவாக்கப்பட்ட வரிசையில் "கூடுதல்" எழுத்துக்கு திரும்பவும். உங்களுக்கு ஏற்கனவே தெரியும், இந்த வரிசை MID செயல்பாட்டிற்கான தொடக்க புள்ளிகளை வழங்குகிறது. +1 இல்லாமல், MID ஆனது அசல் சரத்தில் உள்ள எழுத்துக்களைப் பிரித்தெடுக்கும். சரத்தில் எண்கள் மட்டுமே இருந்தால், ISNUMBER ஆனது TRUE ஐ மட்டுமே வழங்கும். MATCH க்கு குறைந்தது ஒரு FALSE தேவைப்படும். அதை உறுதிசெய்ய, சரத்தின் மொத்த நீளத்தில் மேலும் ஒரு எழுத்தைச் சேர்ப்போம், அதை MID செயல்பாடு வெற்று சரமாக மாற்றும். எடுத்துக்காட்டாக, B7 இல், MID இந்த வரிசையை வழங்குகிறது:
{"1";"2";"3";"4";""}
குறிப்பு. RIGHT செயல்பாட்டைப் போலவே, LEFT ஆனது எண்களை வழங்குகிறதுசப்ஸ்ட்ரிங் , இது தொழில்நுட்ப ரீதியாக உரை, எண் அல்ல. முடிவை எண் சரமாக இல்லாமல் எண்ணாகப் பெற, 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 எங்கே அசல் உரைச் சரம்.
இந்த சூத்திரத்தை உடைப்பதற்கு ஒரு தனி கட்டுரை தேவைப்படும், எனவே இது உண்மையில் வேலை செய்கிறது என்பதை உறுதிப்படுத்த உங்கள் பணித்தாளில் நகலெடுக்கலாம் :)
0>முடிவுகளை ஆராயும்போது, ஒரு சிறிய குறையை நீங்கள் கவனிக்கலாம் - மூல சரத்தில் எண் இல்லை என்றால், மேலே உள்ள ஸ்கிரீன்ஷாட்டில் உள்ள வரிசை 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 இல் -Excel 2019, TEXTJOIN செயல்பாட்டின் உதவியுடன் மிகவும் எளிமையான தீர்வு உள்ளது. உரையை அகற்றி எண்களை வைத்திருப்பது எப்படி என்பதைப் பார்க்கவும்.
அல்டிமேட் சூட் மூலம் டெக்ஸ்ட் ஸ்டிரிங்கில் இருந்து எண்ணைப் பிரித்தெடுக்கவும்
நீங்கள் இப்போது பார்த்தது போல, உரைச் சரத்தில் இருந்து எண்ணை இழுக்க எந்த அற்பமான எக்செல் சூத்திரமும் இல்லை. சூத்திரங்களைப் புரிந்துகொள்வதில் அல்லது உங்கள் தரவுத் தொகுப்புகளுக்கு அவற்றை மாற்றுவதில் சிரமம் இருந்தால், Excel இல் உள்ள சரத்திலிருந்து எண்ணைப் பெறுவதற்கான இந்த எளிய வழியை நீங்கள் விரும்பலாம்.
எங்கள் அல்டிமேட் சூட் உங்கள் எக்செல் ரிப்பனில் சேர்க்கப்பட்டுள்ளது, இப்படித்தான் நீங்கள் செய்யலாம் எந்த எண்ணெழுத்து சரத்திலிருந்தும் எண்ணை விரைவாக மீட்டெடுக்க முடியும்:
- Ablebits Data டேப் > Text குழுவிற்குச் சென்று, Extract என்பதைக் கிளிக் செய்யவும். :
- மூலச் சரங்களைக் கொண்ட அனைத்து கலங்களையும் தேர்ந்தெடுக்கவும்.
- எக்ஸ்ட்ராக்ட் கருவியின் பலகத்தில், எண்களைப் பிரித்தெடுக்க ரேடியோ பட்டனைத் தேர்ந்தெடுக்கவும்.
- முடிவுகள் சூத்திரங்களாகவோ அல்லது மதிப்புகளாகவோ இருக்க வேண்டுமா என்பதைப் பொறுத்து, சூத்திரமாகச் செருகு பெட்டியைத் தேர்ந்தெடுக்கவும் அல்லது அதைத் தேர்ந்தெடுக்காமல் விடவும் (இயல்புநிலை).
மூலச் சரங்களில் ஏதேனும் மாற்றங்கள் செய்யப்பட்டவுடன், பிரித்தெடுக்கப்பட்ட எண்கள் தானாகவே புதுப்பிக்கப்பட வேண்டுமெனில், இந்தப் பெட்டியைத் தேர்ந்தெடுக்க வேண்டும் என்பதே எனது ஆலோசனை. முடிவுகள் அசல் சரங்களில் சுயாதீனமாக இருக்க வேண்டும் என நீங்கள் விரும்பினால் (எ.கா. பிற்காலத்தில் மூலத் தரவை அகற்ற திட்டமிட்டால்), இந்தப் பெட்டியைத் தேர்ந்தெடுக்க வேண்டாம்.
- முடிவுகளைச் செருகு பொத்தானைக் கிளிக் செய்யவும். முடிந்தது!
முந்தைய உதாரணத்தைப் போலவே,பிரித்தெடுத்தல் என்பது எண்கள் , அதாவது நீங்கள் அவற்றை எண்ணி, தொகை, சராசரி அல்லது வேறு எந்த கணக்கீடுகளையும் செய்யலாம்.
இந்த எடுத்துக்காட்டில், முடிவுகளை <9 எனச் செருகுவதற்கு நாங்கள் தேர்வு செய்துள்ளோம்>மதிப்புகள் , மற்றும் ஆட்-இன் கேட்கப்பட்டதைச் சரியாகச் செய்தது:
சூத்திரமாகச் செருகு தேர்வுப்பெட்டி தேர்ந்தெடுக்கப்பட்டிருந்தால், நீங்கள்' d சூத்திரப் பட்டியில் சூத்திரத்தை கவனிக்கவும். எது என்பதை அறிய ஆவலாக உள்ளீர்களா? அல்டிமேட் சூட்டின் சோதனையைப் பதிவிறக்கி நீங்களே பாருங்கள் :)
கிடைக்கும் பதிவிறக்கங்கள்
எக்செல் எக்ஸ்ட்ராக்ட் எண் - மாதிரி பணிப்புத்தகம் (.xlsx கோப்பு)
அல்டிமேட் சூட் - சோதனை பதிப்பு (.exe கோப்பு)