Excel: Toa nambari kutoka kwa safu ya maandishi

  • Shiriki Hii
Michael Brown

Jedwali la yaliyomo

Mafunzo yanaonyesha jinsi ya kutoa nambari kutoka kwa mifuatano mbalimbali ya maandishi katika Excel kwa kutumia fomula na zana ya Kutoa.

Inapokuja suala la kutoa sehemu ya mfuatano wa maandishi wa urefu fulani. , Excel hutoa vipengele vitatu vya Substring (Kushoto, Kulia na Kati) ili kushughulikia kazi hiyo haraka. Inapokuja suala la kutoa nambari kutoka kwa mfuatano wa alphanumeric, Microsoft Excel haitoi… hakuna chochote.

Ili kupata nambari kutoka kwa mfuatano katika Excel, inachukua ujuzi kidogo, subira kidogo na rundo la utendaji tofauti. vifurushi ndani ya kila mmoja. Au, unaweza kuendesha zana ya Dondoo na ufanye kazi hiyo kwa kubofya kipanya. Utapata hapa chini maelezo kamili kuhusu mbinu zote mbili.

    Jinsi ya kutoa nambari kutoka mwisho wa mfuatano wa maandishi

    Unapokuwa na safu wima ya mifuatano ya alphanumeric ambapo nambari huja baada yake. maandishi, unaweza kutumia fomula ifuatayo kuipata.

    KULIA( seli, LEN( seli) - MAX(IF(ISNUMBER(MID( seli<2)>, ROW(INDIRECT("1:"&LEN( seli ))), 1) *1)=FALSE, ROW(INDIRECT("1:"&LEN( seli ))), 0)))

    Tutazingatia mantiki ya fomula baadaye kidogo. Kwa sasa, badilisha kwa urahisi seli kwa rejeleo la kisanduku kilicho na mfuatano asilia (A2 kwa upande wetu), na uweke fomula katika kisanduku chochote tupu katika safu mlalo sawa, sema katika B2:

    =RIGHT(A2, LEN(A2) - MAX(IF(ISNUMBER(MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1) *1)=FALSE, ROW(INDIRECT("1:"&LEN(A2))), 0)))

    Mfumo huu hupata nambari kutoka mwisho pekee. Ikiwa kamba pia ina nambari mwanzoni au katikati, zikoimepuuzwa:

    Uchimbaji unafanywa kwa kitendakazi cha KULIA ambacho ni cha kategoria ya vitendakazi vya Maandishi. Matokeo ya chaguo hili za kukokotoa huwa ni maandishi . Kwa upande wetu, matokeo ni mfuatano mdogo wa nambari , ambao kwa mujibu wa Excel pia ni maandishi, si nambari.

    Ikiwa unahitaji matokeo kuwa nambari (ambayo unaweza kutumia katika mahesabu zaidi), kisha funga fomula kwenye kitendakazi cha VALUE au fanya operesheni ya hesabu ambayo haibadilishi matokeo, sema, zidisha kwa 1 au ongeza 0. Ili kupata makosa katika mifuatano ambayo haina nambari moja, tumia chaguo za kukokotoa za IFEROR. Kwa mfano:

    =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)))), "")

    au

    =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, "")

    Kumbuka. Katika Dynamic Array Excel (Ofisi 365 na 2021), unaingiza fomula kwa njia ya kawaida na ufunguo wa Ingiza. Katika Excel 2019 na mapema, inafanya kazi kama fomula ya mkusanyiko pekee, kwa hivyo kumbuka kubonyeza Ctrl + Shift + Enter ili kuikamilisha.

    Jinsi fomula hii inavyofanya kazi:

    Ili kutoa nambari kutoka kwa kamba ya alphanumeric, jambo la kwanza unahitaji kujua ni wapi kuanza uchimbaji. Nafasi ya herufi isiyo ya nambari ya mwisho katika mfuatano hubainishwa kwa usaidizi wa fomula hila:

    MAX(IF(ISNUMBER(MID(A2, ROW(INDIRECT("1:"&LEN))) A2))), 1)*1)=FALSE, ROW(INDIRECT("1:"&LEN(A2))), 0))

    Ili kuelewa mantiki, hebu tuichunguze kutoka ndani. :

    Mchanganyiko wa ROW(INDIRECT("1:"&LEN(A2))))huunda mlolongo wa nambari zinazolingana na jumla ya vibambo katika mfuatano wa chanzo (A2), na tunatoa nambari hizi zinazofuatana kwa MID kama nambari za kuanzia:

    MID(A2, {1;2;3;4) ;5;6;7;8}, 1)

    Kitendaji cha MID huchota kila herufi mahususi kutoka kwa A2 na kuzirudisha kama safu:

    {"0";"5";" -";"E";"C";"-";"0";"1"}

    Kama MID ni kazi ya maandishi, matokeo yake huwa ni maandishi kila wakati (kama unavyoweza kuona, vibambo vyote zimefungwa katika alama za nukuu). Ili kugeuza nambari kuwa nambari, tunazidisha safu kwa 1 (ukanushaji mara mbili --MID() utakuwa na athari sawa). Matokeo ya operesheni hii ni safu ya nambari na #VALUE! hitilafu zinazowakilisha herufi zisizo nambari:

    ISNUMBER({0;5;#VALUE!;#VALUE!;#VALUE!;#VALUE!;0;1})

    Kitendakazi cha ISNUMBER hutathmini kila kipengele cha safu na kutoa uamuzi wake katika umbo la thamani za Boolean - TRUE kwa nambari, FALSE kwa kitu kingine chochote:

    {TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE;TRUE}

    {TRUE; 3>

    Safu hii huenda kwenye jaribio la kimantiki la chaguo la kukokotoa la IF, ambapo kila kipengele cha safu kinalinganishwa dhidi ya FALSE:

    IF({TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE) ;TRUE}=FALSE, ROW(INDIRECT("1:"&LEN(A2))), 0)

    Kwa kila FALSE (thamani isiyo ya nambari), kitendakazi kingine cha ROW(INDIRECT()) kinarejesha nafasi yake ya jamaa katika kamba. Kwa kila TRUE (thamani ya nambari), sufuri inarudishwa. Safu inayotokana inaonekana kamaifuatavyo:

    {0;0;3;4;5;6;0;0}

    Nyingine ni rahisi. Chaguo za kukokotoa za MAX hupata nambari ya juu zaidi katika safu iliyo hapo juu, ambayo ni nafasi ya thamani ya mwisho isiyo ya nambari kwenye mfuatano (6 kwa upande wetu). Kwa urahisi, toa nafasi hiyo kutoka kwa jumla ya urefu wa mfuatano uliorejeshwa na LEN, na upitishe matokeo hadi RIGHT ili ijulishe ni herufi ngapi za kutoa kutoka upande wa kulia wa mfuatano:

    RIGHT(A2, LEN (A2) - 6)

    Nimemaliza!

    Jinsi ya kutoa nambari kutoka mwanzo wa mfuatano wa maandishi

    Ikiwa unafanya kazi na rekodi ambapo maandishi yanaonekana baada ya nambari, unaweza toa nambari kutoka mwanzo wa mfuatano kwa kutumia fomula hii ya jumla:

    LEFT( seli , MATCH(FALSE, ISNUMBER(MID( seli , ROW(INDIRECT("1:)) "&LEN( kisanduku )+1)), 1) *1), 0) -1)

    Ukiwa na mfuatano asilia katika A2, tumia fomula ifuatayo kupata nambari:

    =LEFT(A2, MATCH(FALSE, ISNUMBER(MID(A2, ROW(INDIRECT("1:"&LEN(A2)+1)), 1) *1), 0) -1)

    Haijalishi ni tarakimu ngapi ziko katikati au mwisho, nambari ya kuanzia pekee ndiyo imetolewa:

    Kumbuka. Katika Excel 365 na Excel 2021, kwa sababu ya usaidizi wa safu zinazobadilika, fomula ya kawaida hufanya kazi vizuri. Katika Excel 2019 na mapema, unapaswa kubonyeza Ctrl + Shift + Enter ili kuifanya kwa uwazi kuwa fomula ya mkusanyiko .

    Jinsi fomula hii inavyofanya kazi:

    Hapa, tunatumia tena mchanganyiko wa vitendaji vya ROW, INDIRECT na LEN ili kuunda mlolongo wa nambari sawa na jumla ya herufi katika mfuatano wa chanzo pamoja na 1 (jukumu la hilo.herufi ya ziada itaonekana wazi baadaye).

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

    MID na ISNUMBER hufanya kazi sawa na katika mfano uliopita - MID huvuta herufi binafsi na ISNUMBER inazibadilisha kuwa thamani za kimantiki. Mkusanyiko unaotokana wa TRUE na FALSE huenda kwa chaguo za kukokotoa za MATCH kama safu ya utafutaji:

    MATCH(FALSE, {RUE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE}, 0)

    MATCH hukokotoa nafasi ya jamaa ya FALSE ya kwanza, ikitupa nafasi ya herufi ya kwanza isiyo ya nambari katika mfuatano (3 katika A2). Ili kutoa nambari zilizotangulia, tunatoa 1 kutoka nafasi ya herufi ya kwanza na kuweka tofauti hadi num_chars hoja ya chaguo za kukokotoa LEFT:

    LEFT(A2, 3-1)

    Sasa, rudi kwa herufi "ziada" katika mlolongo unaotolewa na ROW(INDIRECT()+1)). Kama unavyojua tayari, mlolongo huu hutoa sehemu za kuanzia kwa chaguo la kukokotoa la MID. Bila +1, MID ingetoa herufi nyingi kama zilivyo kwenye mfuatano asilia. Ikiwa mfuatano una nambari pekee, ISNUMBER itarejesha TRUE pekee huku MATCH ikihitaji angalau FALSE moja. Ili kuhakikisha hilo, tunaongeza herufi moja zaidi kwa urefu wa jumla wa mfuatano, ambao kitendakazi cha MID kingebadilisha kuwa mfuatano tupu. Kwa mfano, katika B7, MID inarejesha safu hii:

    {"1";"2";"3";"4";""}

    Kumbuka. Kama ilivyo kwa chaguo za kukokotoa za KULIA, LEFT pia hurejesha nambarisubstring , ambayo ni maandishi ya kiufundi, sio nambari. Ili kupata matokeo kama nambari badala ya mfuatano wa nambari, weka fomula katika kitendakazi cha VALUE au zidisha matokeo kwa 1 kama inavyoonyeshwa katika mfano wa kwanza.

    Jinsi ya kupata nambari kutoka kwa nafasi yoyote katika mfuatano. 7>

    Kama kazi yako inamaanisha kutoa nambari kutoka mahali popote kwenye mfuatano, unaweza kutumia fomula ifuatayo ya kusisimua akili iliyochapishwa kwenye jukwaa la 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 ni wapi mfuatano wa maandishi asili.

    Kuvunja fomula hii kutahitaji makala tofauti, kwa hivyo unaweza kuinakili kwa lahakazi yako ili kuhakikisha kuwa inafanya kazi kweli :)

    Baada ya kuchunguza matokeo, hata hivyo, unaweza kugundua tatizo moja lisilo muhimu - ikiwa mfuatano wa chanzo hauna nambari, fomula inarudisha sifuri, kama ilivyo katika safu mlalo ya 6 kwenye picha ya skrini iliyo hapo juu. Ili kurekebisha hili, unaweza kufunika fomula katika taarifa ya IF, jaribio la kimantiki ambalo huangalia ikiwa kamba ya chanzo ina nambari yoyote. Ikifanya hivyo, fomula itatoa nambari, vinginevyo itarudisha mfuatano tupu:

    =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),"")

    Kama inavyoonyeshwa kwenye picha ya skrini iliyo hapa chini, fomula iliyoboreshwa inafanya kazi kwa uzuri (heshima kwa Alex, gwiji wetu wa Excel, kwa uboreshaji huu):

    Tofauti na mifano yote iliyotangulia, matokeo ya fomula hii ni namba . Ili kuhakikisha hili, angalia tu thamani zilizopangiliwa kulia katika safu wima B na sufuri za kuongoza zilizopunguzwa.

    Kidokezo. Katika Excel 365 -Excel 2019, kuna suluhisho rahisi zaidi kwa msaada wa kazi ya TEXTJOIN. Tafadhali angalia Jinsi ya kuondoa maandishi na kuweka nambari.

    Nyoa nambari kutoka kwa mfuatano wa maandishi ukitumia Ultimate Suite

    Kama ulivyoona hivi punde, hakuna fomula ndogo ya Excel ya kuvuta nambari kutoka kwa mfuatano wa maandishi. Ikiwa una matatizo katika kuelewa fomula au kuzibadilisha kwa seti zako za data, unaweza kupenda njia hii rahisi ya kupata nambari kutoka kwa mfuatano katika Excel.

    Ultimate Suite yetu ikiongezwa kwenye utepe wako wa Excel, hivi ndivyo unavyofanya. inaweza kupata nambari kwa haraka kutoka kwa mfuatano wowote wa alphanumeric:

    1. Nenda kwenye kichupo cha Ablebits Data > Nakala , na ubofye Dondoo :

    2. Chagua visanduku vyote vilivyo na mifuatano ya chanzo.
    3. Kwenye kidirisha cha zana ya Extract, chagua kitufe cha Nyoa nambari redio.
    4. Kulingana na ikiwa ungependa matokeo yawe fomula au thamani, chagua kisanduku cha Ingiza kama fomula au uiache bila kuchaguliwa (chaguo-msingi).

      Ushauri wangu ni kuchagua kisanduku hiki ikiwa unataka nambari zilizotolewa kusasishwa kiotomatiki mara tu mabadiliko yoyote yanapofanywa kwa mifuatano ya chanzo. Ikiwa ungependa matokeo yawe huru kwenye mifuatano ya asili (k.m. ikiwa unapanga kuondoa data chanzo baadaye), basi usichague kisanduku hiki.

    5. Bofya kitufe cha Ingiza Matokeo . Imekamilika!

    Kama katika mfano uliopita, matokeo yauchimbaji ni nambari , kumaanisha kuwa uko huru kuhesabu, kujumlisha, wastani, au kufanya hesabu zozote nazo.

    Katika mfano huu, tumechagua kuingiza matokeo kama thamani , na programu jalizi ilifanya kile kilichoombwa:

    Ikiwa kisanduku cha kuteua Ingiza kama fomula kilichaguliwa, wewe' d angalia fomula kwenye upau wa fomula. Una hamu ya kujua ni ipi? Pakua tu jaribio la Ultimate Suite na ujionee mwenyewe :)

    Vipakuliwa vinavyopatikana

    Nambari ya Excel Extract - sampuli ya kitabu cha kazi (.xlsx file)

    Ultimate Suite - toleo la majaribio (.exe faili)

    Michael Brown ni mpenda teknolojia aliyejitolea na mwenye shauku ya kurahisisha michakato changamano kwa kutumia zana za programu. Akiwa na uzoefu wa zaidi ya muongo mmoja katika tasnia ya teknolojia, ameboresha ujuzi wake katika Microsoft Excel na Outlook, pamoja na Majedwali ya Google na Hati. Blogu ya Michael imejitolea kushiriki maarifa na ujuzi wake na wengine, kutoa vidokezo na mafunzo ambayo ni rahisi kufuata ili kuboresha tija na ufanisi. Iwe wewe ni mtaalamu aliyebobea au umeanza, blogu ya Michael inatoa maarifa muhimu na ushauri wa vitendo ili kupata manufaa zaidi kutoka kwa zana hizi muhimu za programu.