අන්තර්ගත වගුව
සූත්ර සහ උපුටා ගැනීමේ මෙවලම භාවිතයෙන් Excel හි විවිධ පෙළ තන්තු වලින් සංඛ්යා උපුටා ගන්නා ආකාරය නිබන්ධනය පෙන්වයි.
දී ඇති දිග පෙළක කොටසක් උපුටා ගැනීමේදී , Excel කාර්යය ඉක්මනින් හැසිරවීමට උපස්ථර ශ්රිත තුනක් (වම, දකුණ සහ මැද) සපයයි. අක්ෂරාංක තන්තුවකින් සංඛ්යා උකහා ගැනීමේදී, Microsoft Excel සපයන්නේ... කිසිවක් නැත.
Excel හි ඇති තන්තුවකින් අංකයක් ලබා ගැනීමට, එය කුඩා බුද්ධියක්, ටිකක් ඉවසීමක් සහ විවිධ කාර්යයන් රාශියක් අවශ්ය වේ. එකිනෙකා තුළට කූඩු කර ඇත. නැතහොත්, ඔබට Extract මෙවලම ධාවනය කර මූසික ක්ලික් කිරීමකින් කාර්යය සිදු කළ හැකිය. ඔබට ක්රම දෙකෙහිම සම්පූර්ණ විස්තර පහතින් සොයාගත හැකිය.
පෙළ තන්තුවේ අගින් අංකය උපුටා ගන්නේ කෙසේද
ඔබට අක්ෂරාංක තන්තු තීරුවක් ඇති විට පසුව අංකය එන පෙළ, ඔබට එය ලබා ගැනීමට පහත සූත්රය භාවිතා කළ හැක.
දකුණ ( සෛලය, LEN( සෛලය) - MAX(IF(ISNUMBER(MID( cell<2)>, ROW(INDIRECT("1:"&LEN( cell ))), 1) *1)=FALSE, ROW(INDIRECT("1:"&LEN( cell ))), 0)))අපි සූත්රයේ තර්කය ගැන ටිකක් පසුව වාසය කරමු. දැනට, සරලව සෛලය වෙනුවට මුල් තන්තුව අඩංගු කොටුව වෙත යොමු කරන්න (අපගේ නඩුවේ A2), සහ එම පේළියේම ඇති ඕනෑම හිස් කොටුවක සූත්රය ඇතුළු කරන්න, B2:
කියන්න. 0> =RIGHT(A2, LEN(A2) - MAX(IF(ISNUMBER(MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1) *1)=FALSE, ROW(INDIRECT("1:"&LEN(A2))), 0)))
මෙම සූත්රයට අංකය ලැබෙන්නේ අවසානයේ සිට පමණි. තන්තුවක මුල හෝ මැද අංක ද තිබේ නම්, ඒවා වේනොසලකා හැර ඇත:
පෙළ ශ්රිත කාණ්ඩයට අයත් RIGHT ශ්රිතය සමඟ උපුටා ගැනීම සිදු කෙරේ. මෙම ශ්රිතයේ ප්රතිදානය සෑම විටම පෙළ වේ. අපගේ නඩුවේදී, ප්රතිඵලය වනුයේ සංඛ්යාත්මක උප තන්තුවකි , එය Excel අනුව ද පෙළ වේ, අංකය නොවේ.
ඔබට ප්රතිඵලය අංකය වීමට අවශ්ය නම් (ඔබට වැඩිදුර ගණනය කිරීම් වලදී භාවිතා කළ හැකි), ඉන්පසු සූත්රය VALUE ශ්රිතයට ඔතා හෝ ප්රතිඵලය වෙනස් නොකරන අංක ගණිත ක්රියාවක් සිදු කරන්න, කියන්න, 1න් ගුණ කරන්න හෝ 0 එකතු කරන්න. 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, "")
සටහන. Dynamic Array Excel (Office 365 සහ 2021) හි, ඔබ Enter යතුර සමඟ සුපුරුදු ආකාරයෙන් සූත්රය ඇතුළත් කරන්න. Excel 2019 සහ ඊට පෙර, එය ක්රියා කරන්නේ අරා සූත්රයක් ලෙස පමණි, එබැවින් එය සම්පූර්ණ කිරීමට Ctrl + Shift + Enter ඔබන්න.
මෙම සූත්රය ක්රියා කරන ආකාරය:
අක්ෂරාංක තන්තුවකින් අංකයක් ලබා ගැනීමට, ඔබ දැනගත යුතු පළමු දෙය වන්නේ නිස්සාරණය ආරම්භ කළ යුත්තේ කොතැනින්ද යන්නයි. තන්තුවක ඇති අවසාන සංඛ්යාත්මක නොවන අක්ෂරයේ පිහිටීම මෙම උපක්රමශීලී සූත්රය ආධාරයෙන් තීරණය වේ:
MAX(IF(ISNUMBER(MID(A2, ROW(INDIRECT("1:"1:")&LEN) A2))), 1)*1)=FALSE, ROW(INDIRECT("1:"&LEN(A2))), 0))
තර්කය තේරුම් ගැනීමට, අපි එය ඇතුළතින් විමර්ශනය කරමු. :
පේළිය(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;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()) ශ්රිතයක් ලබා දෙයි තන්තුවෙහි එහි සාපේක්ෂ පිහිටීම. සෑම සත්යයක් සඳහාම (සංඛ්යාත්මක අගය), බිංදුවක් ආපසු එවනු ලැබේ. ප්රතිඵලයක් ලෙස ලැබෙන අරාව පෙනෙන්නේපහත දැක්වෙන්නේ:
{0;0;3;4;5;6;0;0}
ඉතුරු ටික පහසුයි. MAX ශ්රිතය ඉහත අරාවෙහි ඉහළම සංඛ්යාව සොයා ගනී, එය තන්තුවෙහි අවසාන සංඛ්යාත්මක නොවන අගයේ පිහිටීමයි (අපගේ නඩුවේ 6). සරලව, LEN මගින් ආපසු ලබා දුන් තන්තුවේ මුළු දිගෙන් එම ස්ථානය අඩු කර, තන්තුවේ දකුණු පැත්තේ සිට අකුරු කීයක් උකහා ගත යුතුදැයි දැන ගැනීමට ප්රතිඵලය දකුණට යවන්න:
දකුණ(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)
මැද හෝ අවසානයේ ඉලක්කම් කීයක් තිබුණත් උපුටා ගන්නේ ආරම්භක අංකය පමණි:
සටහන. Excel 365 සහ Excel 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 පළමු අසත්යයේ සාපේක්ෂ පිහිටීමක් ගණනය කරයි, අපට තන්තුවෙහි පළමු සංඛ්යාත්මක නොවන අක්ෂරයේ පිහිටීම ලබා දෙයි (A2 හි 3). පෙර සංඛ්යා උකහා ගැනීම සඳහා, අපි පළමු පෙළ අක්ෂරයේ ස්ථානයෙන් 1 අඩු කර වෙනස num_chars LEFT ශ්රිතයේ තර්කය වෙත ලබා දෙන්නෙමු:
LEFT(A2, 3-1)
දැන්, ROW(INDIRECT()+1)) මඟින් ජනනය කරන ලද අනුපිළිවෙලෙහි "අමතර" අක්ෂරයකට ආපසු යන්න. ඔබ දැනටමත් දන්නා පරිදි, මෙම අනුපිළිවෙල MID කාර්යය සඳහා ආරම්භක ලක්ෂ්ය සපයයි. +1 නොමැතිව, MID විසින් මුල් තන්තුවෙහි ඇති අක්ෂර ප්රමාණය හරියටම උපුටා ගනී. තන්තුවෙහි අංක පමණක් අඩංගු වන්නේ නම්, MATCH ට අවම වශයෙන් එක් අසත්යයක් අවශ්ය වන අතර ISNUMBER සත්ය පමණක් ලබා දෙනු ඇත. එය සහතික කිරීම සඳහා, අපි තන්තුවේ සම්පූර්ණ දිගට තවත් එක් අක්ෂරයක් එකතු කරමු, එය 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),"")
පහත තිර පිටපතේ පෙන්වා ඇති පරිදි, වැඩිදියුණු කළ සූත්රය ඉතා අලංකාර ලෙස ක්රියා කරයි (අපගේ Excel ගුරු, ඇලෙක්ස්ට ප්රණාමය, මෙම වැඩිදියුණු කිරීම සඳහා):
පෙර සියලුම උදාහරණ මෙන් නොව, මෙම සූත්රයේ ප්රතිඵලය අංක වේ. මෙය තහවුරු කර ගැනීම සඳහා, B තීරුවේ දකුණට පෙළගස්වන ලද අගයන් සහ කපා දැමූ ප්රමුඛ ශුන්ය සටහන් කරන්න.
ඉඟිය. Excel 365 හි -Excel 2019, TEXTJOIN ශ්රිතයේ උපකාරයෙන් වඩාත් සරල විසඳුමක් ඇත. කරුණාකර පෙළ ඉවත් කර අංක තබා ගන්නේ කෙසේදැයි බලන්න.
Ultimate Suite සමඟින් පෙළ තන්තුවෙන් අංකය උපුටා ගන්න
ඔබ දැන් දැක ඇති පරිදි, පෙළ තන්තුවකින් අංකයක් ඇදීමට සුළු Excel සූත්රයක් නොමැත. ඔබට සූත්ර තේරුම් ගැනීමට හෝ ඔබේ දත්ත කට්ටල සඳහා ඒවා tweaking කිරීමට අපහසු නම්, Excel තුළ ඇති තන්තුවෙන් අංකය ලබා ගැනීමට ඔබට මෙම සරල ක්රමයට කැමති විය හැක.
අපගේ Ultimate Suite එක ඔබේ Excel රිබනයට එක් කර ඇති අතර, ඔබ මෙසේය. ඕනෑම අක්ෂරාංක තන්තුවකින් අංකය ඉක්මනින් ලබාගත හැක:
- Ablebits Data tab > Text group වෙත ගොස්, Extract ක්ලික් කරන්න :
- මූලාශ්ර තන්තු සහිත සියලුම කොටු තෝරන්න.
- උපුටා ගැනීමේ මෙවලම් කවුළුවෙහි, අංක උපුටා ගැනීම රේඩියෝ බොත්තම තෝරන්න.
- ඔබට ප්රතිඵල සූත්ර හෝ අගයන් වීමට අවශ්යද යන්න මත පදනම්ව, සූත්රය ලෙස ඇතුළු කරන්න කොටුව තෝරන්න නැතහොත් එය තෝරා නොගෙන තබන්න (පෙරනිමිය).
මගේ උපදෙස නම් මූලාශ්ර තන්තුවලට කිසියම් වෙනසක් සිදු වූ වහාම උපුටා ගත් සංඛ්යා ස්වයංක්රීයව යාවත්කාලීන කිරීමට ඔබට අවශ්ය නම් මෙම කොටුව තෝරා ගැනීමයි. ඔබට මුල් තන්තු මත ප්රතිඵල ස්වාධීන වීමට අවශ්ය නම් (උදා. ඔබ පසුව මූලාශ්ර දත්ත ඉවත් කිරීමට අදහස් කරන්නේ නම්), එවිට මෙම කොටුව තෝරා නොගන්න.
- ප්රතිඵල ඇතුළු කරන්න බොත්තම ක්ලික් කරන්න. අවසන්!
පෙර උදාහරණයේ මෙන්, ප්රතිඵලඋපුටා ගැනීම යනු සංඛ්යා , එනම් ඔබට ඒවා සමඟ ගණන් කිරීමට, එකතු කිරීමට, සාමාන්ය කිරීමට හෝ වෙනත් ගණනය කිරීම් සිදු කිරීමට නිදහස ඇත.
මෙම උදාහරණයේදී, අපි ප්රතිඵල <9 ලෙස ඇතුළත් කිරීමට තෝරා ගත්තෙමු>values , සහ add-in ඉල්ලන දේ හරියටම කළා:
සූත්රය ලෙස ඇතුළු කරන්න තේරීම් කොටුව තෝරාගෙන තිබේ නම්, ඔබ' d සූත්ර තීරුවේ සූත්රය නිරීක්ෂණය කරන්න. කුමන එකක්දැයි දැන ගැනීමට කුතුහලයක් තිබේද? Ultimate Suite හි අත්හදා බැලීම බාගත කර ඔබම බලන්න :)
ලබා ගත හැකි බාගැනීම්
Excel Extract Number - නියැදි වැඩපොත (.xlsx ගොනුව)
Ultimate Suite - අත්හදා බැලීමේ අනුවාදය (.exe ගොනුව)