Բովանդակություն
Ուսուցումը ցույց է տալիս, թե ինչպես կարելի է 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 ժապավենին, ահա թե ինչպես եք դուք կարող է արագ առբերել համարը ցանկացած այբբենական տողից.
- Գնացեք Ablebits Data ներդիր > Text խումբ և սեղմեք Հանել :
- Ընտրեք բոլոր բջիջները սկզբնաղբյուրի տողերով:
- Արտահանման գործիքի վահանակում ընտրեք Արտահանել թվեր ռադիոկոճակը:
- Կախված նրանից, թե արդյոք ցանկանում եք, որ արդյունքները լինեն բանաձևեր կամ արժեքներ, ընտրեք Տեղադրեք որպես բանաձև վանդակը կամ թողեք այն չընտրված (կանխադրված):
Իմ խորհուրդն է ընտրել այս տուփը, եթե ցանկանում եք, որ արդյունահանված թվերն ինքնաբերաբար թարմացվեն սկզբնաղբյուրի տողերում փոփոխություններ կատարելուն պես: Եթե ցանկանում եք, որ արդյունքներն անկախ լինեն սկզբնական տողերի վրա (օրինակ, եթե նախատեսում եք ավելի ուշ հեռացնել աղբյուրի տվյալները), ապա մի ընտրեք այս վանդակը:
- Սեղմեք Տեղադրել արդյունքները կոճակը: Կատարված է:
Ինչպես նախորդ օրինակում, արդյունքներըարդյունահանումը թվեր են , ինչը նշանակում է, որ դուք ազատ եք դրանցով հաշվել, գումարել, միջինացնել կամ կատարել որևէ այլ հաշվարկ:
Այս օրինակում մենք ընտրել ենք արդյունքները զետեղել որպես <9:>արժեքներ , և հավելումը կատարեց ճիշտ այն, ինչ պահանջվում էր.
Եթե ընտրված է Տեղադրել որպես բանաձև վանդակը, դուք' d դիտարկեք բանաձևը բանաձևի տողում: Հետաքրքիր է իմանալ, թե որն է: Պարզապես ներբեռնեք Ultimate Suite-ի փորձնական տարբերակը և համոզվեք ինքներդ :)
Հասանելի ներբեռնումներ
Excel Extract Number - աշխատանքային գրքույկի նմուշ (.xlsx ֆայլ)
Ultimate Suite - փորձնական տարբերակ (.exe ֆայլ)