ایکسل: د متن تار څخه شمیره استخراج کړئ

  • دا شریک کړه
Michael Brown

ټیوټوریل ښیې چې څنګه په Excel کې د مختلف متن تارونو څخه د فارمولونو او استخراج وسیلې په کارولو سره شمیره راوباسئ.

کله چې د ټاکل شوي اوږدوالي د متن تار برخې استخراج کولو خبره راځي ، ایکسل درې سبسټرینګ افعال وړاندې کوي (کیڼ ، ښیې او مینځنۍ) د دندې ګړندي اداره کولو لپاره. کله چې د الفانومیریک تار څخه د شمیرو ایستلو خبره راځي، مایکروسافټ ایکسل ... هیڅ شی نه ورکوي.

په Excel کې د تار څخه د شمیرو ترلاسه کولو لپاره، دا یو څه هوښیارتیا، یو څه صبر، او د مختلفو کارونو یوه ډله غواړي. یو بل ته ځړول شوي. یا، تاسو کولی شئ د استخراج وسیله پرمخ بوځي او دنده د موږک کلیک سره ترسره کړئ. لاندې به تاسو د دواړو میتودونو په اړه بشپړ توضیحات ومومئ.

    څنګه د متن تار له پای څخه شمیره استخراج کړئ

    کله چې تاسو د الفانومیریک تارونو کالم ولرئ چیرې چې شمیره وروسته راځي متن، تاسو کولی شئ د ترلاسه کولو لپاره لاندې فورمول وکاروئ.

    RIGHT( cell، LEN( cell) - MAX(IF(ISNUMBER(MID( cell)>، ROW(غیر مستقیم("1:"&LEN( حجره)))، 1) *1)=غلط، ROW(غیر مستقیم("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)))

    دا فورمول یوازې د پای څخه شمیره ترلاسه کوي. که یو تار هم په پیل یا مینځ کې شمیرې ولري، دوی ديله پامه غورځول شوی:

    استخراج د RIGHT فنکشن سره ترسره کیږي چې د متن دندو کټګورۍ پورې اړه لري. د دې فنکشن محصول تل متن دی. زموږ په قضیه کې، پایله د عددي فرعي سټرینګ ده، کوم چې د Excel په شرایطو کې متن هم دی، نه شمیره.

    که تاسو اړتیا لرئ چې پایله د شمیره وي (چې تاسو کولی شئ په نورو محاسبو کې وکاروئ)، بیا فورمول د 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, "")

    11>

    یاداښت. په ډینامیک ایری ایکسل کې (دفتر 365 او 2021) ، تاسو د انټر کیلي سره په معمول ډول فارمول دننه کړئ. په Excel 2019 او پخوا کې، دا یوازې د سرې فورمول په توګه کار کوي، نو په یاد ولرئ چې Ctrl + Shift + Enter فشار ورکړئ ترڅو بشپړ شي.

    دا فورمول څنګه کار کوي:

    د الفانومیریک تار څخه د شمیرو ایستلو لپاره، لومړی شی چې تاسو اړتیا لرئ پوه شئ چې استخراج چیرته پیل کړئ. په تار کې د وروستي غیر عددي کرکټر موقعیت د دې پیچلي فورمول په مرسته ټاکل کیږي:

    MAX(IF(ISNUMBER(MID(A2, ROW(INDIRECT("1:"&LEN( A2)))، 1)*1)=FALSE، ROW(غیر مستقیم("1:"&LEN(A2)))، 0))

    د منطق د پوهیدو لپاره، راځئ چې دا له دننه څخه وڅیړو :

    د ROW(غیر مستقیم("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 فعالیت د صف هر عنصر ارزوي او خپله پریکړه د بولین ارزښتونو په بڼه ورکوي - د شمیرو لپاره ریښتیا، د بل هر څه لپاره غلط:

    {رښتیا؛ ریښتیا؛ غلط؛ غلط؛ غلط؛ غلط؛ ریښتیا؛ ریښتیا

    دا صف د 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 لخوا بیرته راستانه شوي تار له ټول اوږدوالي څخه راټیټ کړئ، او پایله ښي لوري ته واستوئ ترڅو دا معلومه کړي چې څومره حروف باید د تار له ښي اړخ څخه راوباسئ:

    RIGHT(A2، LEN (A2) - 6)

    پوره شوی!

    څنګه د متن تار له پیل څخه شمیره استخراج کړئ

    که تاسو د ریکارډونو سره کار کوئ چیرې چې متن د شمیرې وروسته څرګندیږي ، تاسو کولی شئ د دې عمومي فورمول په کارولو سره د تار له پیل څخه شمیره استخراج کړئ:

    LEFT( حجره، میچ(FALSE، ISNUMBER(MID( cell)، 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)

    مهمه نده چې څومره شمیرې په مینځ یا پای کې وي، یوازې د پیل شمیره ایستل کیږي:

    12>

    یادونه. په Excel 365 او Excel 2021 کې، د متحرک صفونو د ملاتړ له امله، منظم فورمول ښه کار کوي. په Excel 2019 او پخوا کې، تاسو باید Ctrl + Shift + Enter فشار ورکړئ ترڅو دا په واضح ډول د ارې فورمول جوړ کړي.

    دا فورمول څنګه کار کوي:

    <0 دلته، موږ بیا د ROW، INDIRECT او LEN افعالونو ترکیب کاروو ترڅو د منبع سټرینګ پلس 1 کې د ټولو حروفونو سره مساوي عددونو ترتیب رامینځته کړو (د هغه رولاضافي کرکټر به یو څه وروسته روښانه شي)

    ROW(INDIRECT("1:"&LEN(A2)+1))

    MID او ISNUMBER ورته دنده ترسره کوي لکه څنګه چې په کې پخوانی مثال - MID انفرادي حروف راوباسي او ISNUMBER یې منطقي ارزښتونو ته واړوي. د ریښتیا او غلطو پایله لرونکی سرې د یو لټون سرې په توګه د میچ فنکشن ته ځي:

    میچ 3>

    مقابل د لومړي FALSE یو نسبي موقعیت محاسبه کوي، موږ ته په تار کې د لومړي غیر عددي کرکټر موقعیت راکوي (3 په A2 کې). د مخکینیو شمیرو د استخراج لپاره، موږ د لومړي متن کریکټ له موقعیت څخه 1 کموو او د LEFT فعالیت دلیل num_chars ته توپیر ورکوو:

    LEFT(A2, 3-1)

    اوس بیرته یو "اضافي" کرکټر ته په ترتیب کې چې د ROW(INDIRECT()+1)) لخوا رامینځته شوی. لکه څنګه چې تاسو دمخه پوهیږئ، دا ترتیب د MID فعالیت لپاره د پیل ټکي چمتو کوي. د +1 پرته، MID به دقیقا هغومره حروف راوباسي څومره چې په اصلي تار کې شتون لري. که تار یوازې شمیرې ولري، ISNUMBER به یوازې ریښتیا بیرته راولي پداسې حال کې چې میچ لږ تر لږه یو غلط ته اړتیا لري. د دې لپاره چې ډاډ ترلاسه شي، موږ د تار په ټول اوږدوالي کې یو بل کرکټر اضافه کوو، کوم چې د MID فعالیت به په خالي تار بدل کړي. د مثال په توګه، په B7 کې، MID دا صف بیرته راګرځوي:

    {"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 کې -Excel 2019، د TEXTJOIN فنکشن په مرسته خورا ساده حل شتون لري. مهرباني وکړئ وګورئ چې څنګه متن لرې کړئ او شمیرې وساتئ.

    د الټیمیټ سویټ سره د متن سټینګ څخه شمیره استخراج کړئ

    لکه څنګه چې تاسو لیدلي ، د متن تار څخه د شمیرو ایستلو لپاره هیڅ کوچني اکسل فارمول شتون نلري. که تاسو د فارمولونو په پوهیدو یا د خپلو ډیټا سیټونو لپاره د دوی ټیک کولو کې ستونزې لرئ، تاسو ممکن په Excel کې د تار څخه د شمیرو ترلاسه کولو لپاره دا ساده لاره خوښ کړئ.

    زموږ د الټیمیټ سوټ سره ستاسو په Excel ربن کې اضافه شوي، دا څنګه تاسو کولی شئ په چټکۍ سره د هر الفانومیریک تار څخه شمیره ترلاسه کړئ:

    1. Ablebits Data tab > متن ګروپ ته لاړ شئ، او استخراج کلیک وکړئ. :

    2. ټولې حجرې د منبع تارونو سره وټاکئ.
    3. د استخراج وسیلې په پین ​​کې، د شمیرو استخراج راډیو تڼۍ غوره کړئ.
    4. په دې پورې اړه لري چې ایا تاسو غواړئ پایلې فورمول یا ارزښتونه وي، د د فورمول په توګه داخل کړئ بکس غوره کړئ یا یې غیر انتخاب کړی پریږدئ (ډیفالټ).

      زما مشوره دا ده چې دا بکس غوره کړئ که تاسو غواړئ استخراج شوي شمیرې په اتوماتيک ډول تازه شي کله چې د سرچینې تارونو کې کوم بدلون راشي. که تاسو غواړئ پایلې په اصلي تارونو کې خپلواکې وي (د مثال په توګه که تاسو پلان لرئ چې په وروسته وخت کې د سرچینې ډیټا لرې کړئ) نو دا بکس مه غوره کړئ.

    5. پایلې داخل کړئ تڼۍ کلیک وکړئ. بشپړ شوی!

    لکه د تیر مثال په څیر، د پایلو پایلېاستخراج شمیرونه دي، پدې معنی چې تاسو د شمیرلو، مجموعې، اوسط، یا کوم بل حساب کولو لپاره وړیا یاست.

    په دې مثال کې، موږ د <9 په توګه د پایلو داخلول غوره کړي دي> ارزښتونه ، او اضافې په سمه توګه هغه څه وکړل چې غوښتل شوي وو:

    که چیرې د فورمول په توګه داخل کړئ چیک باکس غوره شوی و، تاسو د فورمول بار کې یو فارمول وګورئ. لیواله یاست چې پوه شئ کوم یو؟ یوازې د الټیمیټ سویټ آزموینې ډاونلوډ کړئ او د ځان لپاره وګورئ :)

    د موجود ډاونلوډونه

    د ایکسل استخراج شمیره - د نمونې کاري کتاب (.xlsx فایل)

    الټیمیټ سویټ - د آزموینې نسخه (.exe دوتنه)

    مایکل براون د ټیکنالوژۍ وقف شوی لیوال دی چې د سافټویر وسیلو په کارولو سره د پیچلو پروسو ساده کولو لپاره لیوالتیا لري. د ټیک صنعت کې د یوې لسیزې څخه ډیرې تجربې سره، هغه خپل مهارتونه په مایکروسافټ ایکسل او آؤټ لک کې، او همدارنګه د ګوګل شیټس او اسنادو کې لوړ کړي دي. د مایکل بلاګ د نورو سره د هغه پوهه او تخصص شریکولو ته وقف شوی دی، د تولید او موثریت د ښه کولو لپاره د تعقیب لپاره اسانه لارښوونې او لارښوونې چمتو کوي. که تاسو تجربه لرونکی مسلکي یاست یا پیل کونکی یاست ، د مایکل بلاګ د دې اړین سافټویر وسیلو څخه خورا ډیر ترلاسه کولو لپاره ارزښتناک لیدونه او عملي مشورې وړاندې کوي.