Excel: Hejmara ji rêzika nivîsê derxe

  • Vê Parve Bikin
Michael Brown

Dersdar nîşan dide ku meriv çawa ji rêzikên nivîsê yên cihêreng ên di Excel-ê de bi karanîna formulan û amûra Extract hejmarê derdixîne.

Dema ku ew tê kişandina beşek ji rêzika nivîsê ya bi dirêjiya diyarkirî , Excel sê fonksiyonên Substring (Çep, Rast û Navîn) peyda dike da ku bi lez peywirê bigire. Dema ku dor tê derxistina jimareyan ji rêzek alfanumerîk, Microsoft Excel… tiştek nade.

Ji bo ku ji rêzek di Excel de jimareyek werbigire, piçek jêhatî, piçek sebir, û komek fonksiyonên cihê hewce dike. di nav hev de hêlîn kirin. An jî, hûn dikarin amûra Extract bimeşînin û kar bi klîkek mişkî bikin. Li jêr hûn ê hûrguliyên tevahî li ser her du rêbazan bibînin.

    Çawa meriv ji dawiya rêzika nivîsê jimare derdixe

    Dema stûnek ji rêzikên alfanumerîk hebe ku hejmar tê de tê nivîsê, hûn dikarin formula jêrîn bikar bînin da ku wê bistînin.

    RIGHT( hucre, LEN( hucre) - MAX(IF(NÎŞAM(MID( hucre, RÊZ(INDIRECT("1:"&LEN( hucre))), 1) *1)=DEREW, RÊZ(NEDIREKT("1:"&LEN( hucre))), 0)))

    Em ê hinekî paşê li ser mantiqa formular rawestin. Heya nuha, bi tenê hucre bi referansa şaneya ku rêzika orîjînal vedihewîne (di rewşa me de A2) biguhezînin, û di heman rêzê de di her şaneyek vala de formula têkevin, di B2 de bibêjin:

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

    Ev formula tenê ji dawîyê jimare distîne. Ger rêzek di serî an navîn de jî hejmar hebin, ew inpaşguh kirin:

    Derkêşandin bi fonksiyona RIGHT ya ku di kategoriya fonksiyonên nivîsê de ye tê kirin. Derketina vê fonksiyonê her dem text e. Di rewşa me de, encam binerxek jimareyî ye , ku di warê Excel de jî nivîs e, ne jimare.

    Heke hewce bike ku encam bibe hejmar (ku hûn dikarin di hesabên din de bi kar bînin), dûv re formula di fonksiyona VALUE de bipêçin an jî karekî jimareyî pêk bînin ku encamê naguherîne, bêje, bi 1-ê zêde bike an jî 0-yê lê zêde bike. hejmara yekane, fonksiyona IFERROR bikar bînin. Mînak:

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

    an

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

    Nîşe. Di Dynamic Array Excel (Office 365 û 2021) de, hûn bi bişkojka Enter formula bi awayê asayî têkevin. Di Excel 2019 û berê de, ew tenê wekî formula array dixebite, ji ber vê yekê ji bîr mekin ku Ctrl + Shift + Enter bikirtînin da ku wê temam bikin.

    Ev formula çawa dixebite:

    Ji bo derxistina hejmarê ji rêzek alfanumerîk, yekem tiştê ku divê hûn zanibin ev e ku meriv li ku derê dest bi derxistinê bike. Cihê karektera nehejmar a dawîn a di rêzekê de bi alîkariya vê formula xapînok tê destnîşan kirin:

    MAX(IF(ISID(MID(A2, ROW(INDIRECT("1:"&LEN( A2))), 1)*1)=DEREW, RÊZ(INDIREKT("1:"&LEN(A2))), 0))

    Ji bo fêmkirina mantiqê, werin em ji hundur ve lêkolîn bikin. :

    RÊZ(INDIRECT("1:"&LEN(A2))) kombînasyonarêzek jimareyan li gorî tevaya tîpan di rêzika çavkaniyê (A2) de çêdike, û em van hejmarên rêzimanî ji MID-ê re wekî hejmarên destpêkê pêşkêş dikin:

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

    Fonksiyonek MID her karakterek ferdî ji A2 derdixe û wan wekî rêzek vedigerîne:

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

    Ji ber ku MID fonksiyonek nivîsê ye, derketina wê her gav nivîs e (wek ku hûn dibînin, hemî tîpan di nav nîşanan de têne girtin). Ji bo ku yên jimareyan bibin jimar, em rêzê bi 1-ê zêde dikin (negasyona ducar --MID() dê heman bandorê bike). Encama vê operasyonê komek jimar û #VALUE ye! xeletiyên ku tîpên ne-hejmarî temsîl dikin:

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

    Fonksiyon ISNUMBER her hêmanek rêzê dinirxîne û biryara xwe bi awayê nirxên Boolean dide - ji bo jimareyan TRUE, ji bo her tiştê din FALSE:

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

    Ev rêzik ber bi ceribandina mentiqî ya fonksiyona IF ve diçe, ku her hêmanek rêzik li hember FALSE tê berhev kirin:

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

    Ji bo her FALSE (nirxa nehejmar), ROW(INDIRECT()) fonksiyonek din vedigere. pozîsyona wê ya têkildar di rêzê de. Ji bo her TRUE (nirxa hejmarî), sifirek tê vegerandin. Rêzeya encam wekî xuya dikejêre:

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

    Ya mayî hêsan e. Fonksiyona MAX di rêza jorîn de jimareya herî bilind dibîne, ku ev pozîsyona nirxa ne-hejmar a paşîn a di rêzê de ye (di rewşa me de 6). Bi tenê, wê pozîsyonê ji dirêjahiya tevaya rêza ku ji hêla LEN ve hatî vegerandin dakêşin, û encamê derbas bikin RIGHT da ku ew zanibe çend tîpan ji milê rastê yê rêzê derxe:

    RIGHT(A2, LEN (A2) - 6)

    Xwedî ye!

    Çawa meriv ji destpêka rêzika nivîsê jimareyê derdixe

    Heke hûn bi tomaran re dixebitin ku nivîs li dû hejmarê xuya dike, hûn dikarin jimare ji destpêka rêzê derxe bi vê formula giştî:

    LEFT( hucre, MATCH(FALSE, IS HEJMAR(MID( hucre, ROW(NEDIREKT("1: "&LEN( hucre)+1)), 1) *1), 0) -1)

    Bi rêzika orîjînal a di A2 de, formula jêrîn bikar bînin da ku hejmarê bistînin:

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

    Çi jimare di naverast û dawîyê de çi be jî, tenê jimara destpêkê tê derxistin:

    Nîşe. Di Excel 365 û Excel 2021 de, ji ber piştgirîkirina rêzikên dînamîkî, formula birêkûpêk baş dixebite. Di Excel 2019 û berê de, divê hûn Ctrl + Shift + Enter bikirtînin da ku ew eşkere bikin formûlek array .

    Ev formula çawa dixebite:

    Li vir, em dîsa hevberdana fonksiyonên ROW, INDIRECT û LEN bikar tînin da ku rêzek jimaran bi tevahî tîpên di rêzika çavkaniyê de zêde 1 (rola wêtîpên zêde dê piçekî paşê zelal bibe).

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

    MID û ISNUMBER heman karî dikin ku di Mînaka berê - MID karakterên kesane dikişîne û ISNUMBER wan diguhezîne nirxên mantiqî. Rêzeya encam a TRUE û FALSE diçe fonksiyona MATCH wekî rêzek lêgerînê:

    MATCH(FALSE, {RAST;RAST;FALSE;FALSE;FALSE;FALSE;RAST;RAST;FALSE}, 0)

    MATCH pozîsyoneke nisbî ya yekem FALSE dihejmêre, pozîsyona yekem karaktera ne-hejmarî di rêzikê de dide me (3 di A2 de). Ji bo derxistina hejmarên berê, em 1-ê ji pozîsyona tîpa nivîsê ya yekem derdixin û ferqê pêşkêşî num_chars argumenta fonksiyona LEFT dikin:

    LEFT(A2, 3-1)

    Naha, vegere karakterek "zêde" di rêza ku ji hêla ROW(INDIRECT()+1) ve hatî çêkirin). Wekî ku hûn jixwe dizanin, ev rêzik xalên destpêkê ji bo fonksiyona MID peyda dike. Bê +1, MID dê tam bi qasî ku di rêzika orîjînal de hene gelek tîpan derxe. Ger rêzik tenê hejmaran hebin, ISNUMBER dê tenê yên RAST vegerîne dema ku MATCH herî kêm yek FALSE hewce dike. Ji bo ku em pê ewle bin, em karekterek din li dirêjahiya tevnvîsê lê zêde dikin, ku fonksiyona MID wê veguherîne rêzek vala. Mînakî, di B7 de, MID vê rêzê vedigerîne:

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

    Nîşe. Mîna fonksiyona RIGHT, LEFT jî jimareyek vedigerînesubstring , ku ji hêla teknîkî ve nivîsar e, ne hejmar e. Ji bo ku encam wekî jimarek ji rêzek hejmarî were wergirtin, formula di fonksiyona VALUE de bihêlin an jî wekî ku di mînaka yekem de tê xuyang kirin encamê bi 1-ê zêde bikin.

    Çawa meriv ji her cîhek di rêzikê de jimare digire

    Heke peywira we tê wateya derxistina hejmarê ji her deverekê di rêzekê de, hûn dikarin formula jêrîn a hişê ku li ser foruma MrExcel hatî weşandin bikar bînin:

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

    Li ku derê A2 ye rêzika nivîsê ya orîjînal.

    Pêvebirina vê formulê dê gotarek cuda hewce bike, ji ber vê yekê hûn dikarin wê bi tenê li pelgeya xebata xwe kopî bikin da ku hûn piştrast bikin ku ew bi rastî dixebite :)

    Lêbelê, piştî lêkolîna encaman, hûn dikarin kêmasiyek ne girîng bibînin - heke rêzika çavkaniyê jimarek nehewîne, formula sifir vedigere, wekî di rêza 6-ê de di dîmena jorîn de. Ji bo rastkirina vê, hûn dikarin formula di daxuyaniya IF-ê de bipêçin, ceribandina mentiqî ya ku kontrol dike ka rêzika çavkaniyê hejmarek heye an na. Ger wusa be, formula hejmarê derdixe, wekî din rêzek vala vedigerîne:

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

    Wek ku di dîmendera jêrîn de tê xuyang kirin, formula çêtir bi rengek xweşik dixebite (şukur ji Alex, gurûya meya Excel, ji bo vê pêşkeftinê):

    Berevajî hemû mînakên berê, encama vê formulê hejmar e. Ji bo ku hûn ji vê yekê piştrast bin, tenê li nirxên rastgir ên di stûna B û sifirên pêşîn ên qutkirî de bala xwe bidin.

    Tip. Di Excel 365 de -Excel 2019, bi alîkariya fonksiyona TEXTJOIN çareseriyek pir hêsan heye. Ji kerema xwe binihêrin Meriv çawa nivîsê jê dike û jimareyan digire.

    Bi Ultimate Suite re jimareyê ji rêzika nivîsê derxe

    Wek ku we nû dît, formula Excel-ê ya piçûk tune ku jimareyê ji rêzika nivîsê derxe. Heke di têgihîştina formulan de an jî guheztina wan ji bo berhevokên daneya xwe re zehmetiyên we hebin, dibe ku hûn ji vê awayê hêsan hez bikin ku hûn ji rêzê di Excel-ê de jimareyê bistînin.

    Bi Suite meya Ultimate re ku li ribbona weya Excel hatî zêdekirin, hûn bi vî rengî dikare bi lez û bez jimare ji her rêzika alfabetîk bigire:

    1. Biçin koma Ablebits Data > Nivîs û bikirtînin Extract :

    2. Hemû şaneyên bi rêzikên çavkaniyê hilbijêrin.
    3. Li ser pencereya amûra Derketinê, bişkoka radyoyê Hejmaran derxe hilbijêrin.
    4. Li gorî ku hûn dixwazin encam bibin formul an nirx, qutiya Wekî formula têxe hilbijêrin an jî nehilbijartî bihêlin (xwerû).

      Şîreta min ev e ku hûn vê qutikê hilbijêrin heke hûn dixwazin ku hejmarên hatine derxistin bixweber nûve bibin gava ku di rêzikên çavkaniyê de guhertin çêbibin. Ger hûn dixwazin ku encam li ser rêzikên orîjînal serbixwe bin (mînak, heke hûn plan dikin ku di demek paşîn de daneyên çavkaniyê jê bikin), wê hingê vê qutîkê hilbijêrin.

    5. Bişkoja Encamên Têxe bikirtînin. Kirin!

    Wek mînaka berê, encamênjêbirin hejmar in , yanî hûn azad in ku hûn bijmêrin, berhev bikin, navînî, an hesabên din bi wan re bikin.

    Di vê nimûneyê de, me hilbijart ku em encaman wekî <9 bixin>nirx , û pêvekê tam tişta ku jê dihat xwestin kir:

    Heke qutiya kontrolê ya Wekî formula têxe hate hilbijartin, hûn' d di barika formulê de formula binêre. Meraq dikin ku hûn bizanin kîjan? Tenê ceribandina Ultimate Suite dakêşin û ji bo xwe bibînin :)

    Dakêşandinên berdest

    Hejmara Excel Extract - pirtûka xebatê ya nimûne (pelê xlsx)

    Ultimate Suite - guhertoya ceribandinê (.exe pel)

    Michael Brown dilxwazek teknolojiyê ya dilsoz e ku bi hewesek hêsankirina pêvajoyên tevlihev bi karanîna amûrên nermalavê ye. Bi zêdetirî deh salan ezmûnek di pîşesaziya teknolojiyê de, wî jêhatîbûna xwe di Microsoft Excel û Outlook, û her weha Google Sheets û Docs de pêş xist. Bloga Michael ji bo parvekirina zanyarî û pisporiya xwe bi kesên din re veqetandî ye, ji bo baştirkirina hilberî û karîgeriyê serişte û dersên hêsan-şopandinê peyda dike. Çi hûn pisporek demsalî ne an jî destpêkek in, bloga Michael ji bo ku hûn herî zêde ji van amûrên nermalava bingehîn sûd werbigirin, têgihiştinên hêja û şîretên pratîkî pêşkêşî dike.