Excel: Քաղեք համարը տեքստային տողից

  • Կիսվել Սա
Michael Brown

Ուսուցումը ցույց է տալիս, թե ինչպես կարելի է Excel-ում տարբեր տեքստային տողերից թվեր հանել՝ օգտագործելով բանաձևերը և Extract գործիքը: Excel-ն ապահովում է Ենթատողերի երեք գործառույթ (ձախ, աջ և միջին)՝ առաջադրանքը արագ կարգավորելու համար: Երբ խոսքը վերաբերում է այբբենական տողից թվեր հանելուն, Microsoft Excel-ը տրամադրում է… ոչինչ:

Excel-ում տողից թիվ ստանալու համար անհրաժեշտ է մի փոքր հնարամտություն, մի քիչ համբերություն և մի շարք տարբեր գործառույթներ: բույն դրված միմյանց մեջ. Կամ կարող եք գործարկել Extract գործիքը և աշխատանքը կատարել մկնիկի սեղմումով: Ստորև դուք կգտնեք ամբողջական մանրամասներ երկու մեթոդների վերաբերյալ:

    Ինչպես հանել համարը տեքստային տողի վերջից

    Երբ ունեք այբբենական թվային տողերի սյունակ, որտեղ թիվը հաջորդում է: տեքստ, այն ստանալու համար կարող եք օգտագործել հետևյալ բանաձևը:

    RIGHT( բջիջ, LEN( բջիջ) - MAX(IF(ISNUMBER(MID( բջիջ, 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)))

    Այս բանաձևը ստանում է թիվը միայն վերջից: Եթե ​​տողը սկզբում կամ մեջտեղում ունի նաև թվեր, դրանք կանանտեսված՝

    Հանումը կատարվում է 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, "")

    Նշում. Դինամիկ զանգված Excel-ում (Office 365 և 2021), դուք մուտքագրում եք բանաձևը սովորական ձևով Enter ստեղնով: 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( բջիջ, MATCH(FALSE, 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)

    Անկախ նրանից, թե քանի թվանշան կա մեջտեղում կամ վերջում, արդյունահանվում է միայն մեկնարկային թիվը.

    Նշում. 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-ը հաշվարկում է առաջին FALSE-ի հարաբերական դիրքը՝ տալով մեզ տողի առաջին ոչ թվային նիշի դիրքը (3-ը A2-ում): Նախորդ թվերը հանելու համար մենք հանում ենք 1-ը տեքստի առաջին նիշի դիրքից և տարբերությունը մատուցում LEFT ֆունկցիայի num_chars արգումենտին.

    LEFT(A2, 3-1)<3:>

    Այժմ, վերադառնանք «լրացուցիչ» նիշին ROW(INDIRECT()+1)-ով ստեղծված հաջորդականությամբ: Ինչպես արդեն գիտեք, այս հաջորդականությունը ապահովում է MID ֆունկցիայի մեկնարկային կետերը: Առանց +1-ի, MID-ը կհանի ճիշտ այնքան նիշ, որքան սկզբնական տողում: Եթե ​​տողը պարունակում է միայն թվեր, ISNUMBER-ը կվերադարձնի միայն TRUE-ը, մինչդեռ MATCH-ին անհրաժեշտ է առնվազն մեկ FALSE: Դա ապահովելու համար մենք ավելացնում ենք ևս մեկ նիշ տողի ընդհանուր երկարությանը, որը 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),"")

    Ինչպես ցույց է տրված ստորև ներկայացված սքրինշոթում, բարելավված բանաձևը հիանալի է աշխատում (փառք Ալեքսին, մեր Excel գուրուին, այս բարելավման համար).

    Ի տարբերություն բոլոր նախորդ օրինակների, այս բանաձևի արդյունքը թիվն է : Դրանում համոզվելու համար պարզապես նկատեք B սյունակում աջ դասավորված արժեքները և կտրված սկզբնական զրոները:

    Խորհուրդ. Excel 365-ում -Excel 2019, կա շատ ավելի պարզ լուծում TEXTJOIN ֆունկցիայի օգնությամբ։ Խնդրում ենք տեսնել, թե ինչպես հեռացնել տեքստը և պահել թվերը:

    Հանեք համարը տեքստային տողից Ultimate Suite-ի միջոցով

    Ինչպես նոր տեսաք, չկա Excel-ի ոչ մի աննշան բանաձև՝ համարը տեքստային տողից հանելու համար: Եթե ​​դժվարանում եք բանաձևերը հասկանալու կամ ձեր տվյալների հավաքածուների համար դրանք շտկելու հարցում, կարող եք հավանել Excel-ում տողից թվեր ստանալու այս պարզ միջոցը:

    Մեր Ultimate Suite-ն ավելացված է ձեր Excel ժապավենին, ահա թե ինչպես եք դուք կարող է արագ առբերել համարը ցանկացած այբբենական տողից.

    1. Գնացեք Ablebits Data ներդիր > Text խումբ և սեղմեք Հանել :

    2. Ընտրեք բոլոր բջիջները սկզբնաղբյուրի տողերով:
    3. Արտահանման գործիքի վահանակում ընտրեք Արտահանել թվեր ռադիոկոճակը:
    4. Կախված նրանից, թե արդյոք ցանկանում եք, որ արդյունքները լինեն բանաձևեր կամ արժեքներ, ընտրեք Տեղադրեք որպես բանաձև վանդակը կամ թողեք այն չընտրված (կանխադրված):

      Իմ խորհուրդն է ընտրել այս տուփը, եթե ցանկանում եք, որ արդյունահանված թվերն ինքնաբերաբար թարմացվեն սկզբնաղբյուրի տողերում փոփոխություններ կատարելուն պես: Եթե ​​ցանկանում եք, որ արդյունքներն անկախ լինեն սկզբնական տողերի վրա (օրինակ, եթե նախատեսում եք ավելի ուշ հեռացնել աղբյուրի տվյալները), ապա մի ընտրեք այս վանդակը:

    5. Սեղմեք Տեղադրել արդյունքները կոճակը: Կատարված է:

    Ինչպես նախորդ օրինակում, արդյունքներըարդյունահանումը թվեր են , ինչը նշանակում է, որ դուք ազատ եք դրանցով հաշվել, գումարել, միջինացնել կամ կատարել որևէ այլ հաշվարկ:

    Այս օրինակում մենք ընտրել ենք արդյունքները զետեղել որպես <9:>արժեքներ , և հավելումը կատարեց ճիշտ այն, ինչ պահանջվում էր.

    Եթե ընտրված է Տեղադրել որպես բանաձև վանդակը, դուք' d դիտարկեք բանաձևը բանաձևի տողում: Հետաքրքիր է իմանալ, թե որն է: Պարզապես ներբեռնեք Ultimate Suite-ի փորձնական տարբերակը և համոզվեք ինքներդ :)

    Հասանելի ներբեռնումներ

    Excel Extract Number - աշխատանքային գրքույկի նմուշ (.xlsx ֆայլ)

    Ultimate Suite - փորձնական տարբերակ (.exe ֆայլ)

    Մայքլ Բրաունը նվիրված տեխնոլոգիայի էնտուզիաստ է, որը ձգտում է պարզեցնել բարդ գործընթացները՝ օգտագործելով ծրագրային գործիքները: Տեխնոլոգիական ոլորտում ավելի քան մեկ տասնամյակ փորձ ունենալով՝ նա կատարելագործել է իր հմտությունները Microsoft Excel-ում և Outlook-ում, ինչպես նաև Google Sheets-ում և Docs-ում: Մայքլի բլոգը նվիրված է իր գիտելիքներն ու փորձառությունը ուրիշների հետ կիսելուն՝ տրամադրելով հեշտ օգտագործվող խորհուրդներ և ձեռնարկներ՝ արտադրողականությունն ու արդյունավետությունը բարձրացնելու համար: Անկախ նրանից, թե դուք փորձառու մասնագետ եք, թե սկսնակ, Մայքլի բլոգը առաջարկում է արժեքավոր պատկերացումներ և գործնական խորհուրդներ՝ առավելագույն օգուտ քաղելու այս կարևոր ծրագրային գործիքներից: