Talaan ng nilalaman
Bagaman ang Microsoft ay hindi nagbigay ng isang tuwid na formula o syntax upang i-extract lamang ang mga numero mula sa Excel cell, maaari naming isama ang isang malawak na hanay ng Excel formula sa gumawa ng isang function na maaaring magamit para sa pagkuha ng mga numero o digit lamang mula sa mga cell ng Excel. Sa artikulong ito, susubukan naming ipakita at ipaliwanag nang detalyado kung paano namin mailalabas ang mga numero lamang mula sa mga cell na may naaangkop na mga formula sa ilalim ng ilang pamantayan.
I-download ang Practice Workbook
I-download ang libreng aklat ng pagsasanay na ginamit namin sa paghahanda ng artikulong ito. Maaari mong ipasok ang mga text value na may mga numero sa mga napiling cell at mahanap kaagad ang mga resulta sa pamamagitan ng mga naka-embed na formula.
Pagkuha ng Mga Numero mula sa Cell.xlsm
7 Epektibong Paraan para Mag-extract Lamang ng Mga Numero mula sa Excel Cell
Magkakaroon ng isang VBA code, isang feature ng Excel, at limang praktikal na formula upang matulungan kang mag-extract ng mga numero mula sa isang cell. Tulad ng sa larawan sa ibaba, mayroon kaming ilang mga code kabilang ang mga digit at titik kung saan ang mga digit ay naroroon sa simula. Kailangan lang nating i-extract ang mga digit o numerong iyon.
1. Pagbubunot ng Mga Numero mula sa Simula ng Teksto
Sa unang paraang ito, pagsasamahin natin ang LEFT , SUM , LEN , at Ang SUBSTITUTE ay gumagana upang maglabas ng mga numero mula sa simula ng isang text string. Una, ita-type natin ang formula na ito sa cell, atang naunang seksyon. Ang mga resultang halaga ay magiging- {0,1,1,0,0,0,0,0,0,1}.
➤ SUM(LEN(B5)-LEN (PALIT(B5, {“0″,”1″,”2″,”3″,”4″,”5″,”6″,”7″,”8″,”9”}, “”) ))
- Sa tulong ng SUM function, ang mga value sa loob ng array na makikita sa huling seksyon ay magdadagdag ng hanggang 3 ( 0+1+1+0+0+0+0+0+0+1).
- Kaya, ayon sa unang bahagi ng aming formula, A>0 (3>0) . Ngayon, lilipat tayo sa susunod na bahagi ng breakdown.
Breakdown ng Part B = MID(0&B5, LARGE(INDEX(ISNUMBER(–MID(B5,ROW() INDIRECT(“$1:$”&LEN(B5))),1))* ROW(INDIRECT(“$1:$”&LEN(B5))),0), ROW(INDIRECT(“$1:$” &LEN(B5))))+1,1)
➤ INDIRECT(“$1:$”&LEN(B5))
- Ang INDIRECT function dito ay mag-iimbak ng mga string value bilang reference sa array. Sa loob ng parenthesis, ang ampersand (&) na command ay magsasama sa bilang ng mga character na makikita sa cell B5 na may Range of cells’ syntax. Nangangahulugan ito na mula 1 hanggang sa bilang ng mga character na tinukoy, ang bawat isa ay maiimbak bilang isang array reference.
➤ ROW(INDIRECT(“$1:$”&LEN(B5)) )
- Ngayon, ang ROW function na ito ay bubunutin ang lahat ng numero mula sa array at ang mga resultang value para sa cell B5 ay magiging- {1;2;3;4;5;6;7;8;9}.
➤ MID(B5,ROW( INDIRECT(“$1:$”&LEN(B5))),1)
- Sa bahaging ito ng formula, angAng MID function ay magpapahayag ng lahat ng mga character mula sa cell B5 batay sa lahat ng mga posisyon na natagpuan bilang mga numero sa nakaraang seksyon. Kaya, ang mga nakuhang halaga ay makikita pagkatapos ng bahaging ito- {“1″;”9″;” “;”D”;”D”;”X”;”2″;”M”;”N”}.
➤ ISNUMBER(–MID(B5,ROW(INDIRECT) (“$1:$”&LEN(B5))),1))
- Dahil ang ISNUMBER ay isang lohikal na function, ito Tutukuyin nang isa-isa kung ang mga halagang makikita sa naunang seksyon ay mga string ng numero o hindi. Kung oo, babalik ito bilang TRUE , kung hindi, ipapakita ito bilang FALSE .
- Kaya, sa aming kaso, ang magiging resulta ay- { TAMA;TAMA;MALI;MALI;MALI;MALI;TAMA;MALI;MALI}.
➤ INDEX(ISNUMBER(–MID(B5,ROW(INDIRECT(“$1:$”) &LEN(B5))),1))*ROW(INDIRECT(“$1:$”&LEN(B5))),0)
- Kung mapapansin mo sa loob ng function sa itaas, ginamit ang double-hyphen, na kilala bilang Double Unary . Ito ay ginagamit upang i-convert ang lahat ng mga lohikal na halaga sa mga string ng numero- 1(TRUE) o 0(FALSE) . Ngayon, ibabalik ng function na INDEX ang resultang ito bilang- {1;1;0;0;0;0;1;0;0}.
- Pagkatapos na, ang mga resultang halaga ay i-multiply sa mga halagang nakuha mula sa ROW function sa loob ng array at ang magiging resulta ay- {1;2;0;0;0;0; 7;0;0}.
➤ MALAKING(INDEX(ISNUMBER(–MID(B5,ROW(INDIRECT(“$1:$””&LEN(B5))),1 ))*ROW(INDIRECT(“$1:$”&LEN(B5))),0),ROW(INDIRECT(“$1:$”&LEN(B5))))
- Ang LARGE na function ay muling ayusin ang pinakamalaking mga value mula sa array ayon sa mga posisyon batay sa mga numerong makikita sa ROW function. & ang aming mga resultang halaga para sa seksyong ito ng formula ay magiging- {7;2;1;0;0;0;0;0;0}.
➤ MID(0&B5 , LARGE(INDEX(ISNUMBER(–MID(B5,ROW(INDIRECT(“$1:$”&LEN(B5))),1))*ROW(INDIRECT(“$1:$”&LEN(B5)) ),0), ROW(INDIRECT(“$1:$”&LEN(B5))))+1,1)
- Ngayon, ang bahaging ito ng function ay magsasama-sama 0 kasama ang mga text sa cell B5 . Pagkatapos ay idaragdag nito ang 1 nang paisa-isa sa lahat ng numerong makikita sa huling seksyon at ipapakita ang mga character mula sa B5 cell batay sa tinukoy na mga posisyon ng numero.
- Kaya, ang aming kalalabasan mula sa seksyong ito ay magiging- {“2″;”9″;”1″;”0″;”0″;”0″;”0″;”0″;”0” }.
Breakdown ng Part C = (10^ROW(INDIRECT(“$1:$”&LEN(B5)))/10),””)
- Tutukuyin ng bahaging ito ang mga kapangyarihan ng 10 & itabi ang mga ito sa loob ng array. Ang mga digit ng powers ay ang mga numerong nakita mula sa ROW function dati.
- Ibabalik ng bahaging ito ng formula ang mga value bilang- {1;10;100 ;1000;10000;100000;1000000;10000000;100000000.
Pagpaparami ng B n at C n
- Ngayon, ang mga resultang value mula sa huling dalawang pangunahing breakdown ng B at C ay magigingparamihin sa loob ng array. Pagkatapos, ang mga produktong makikita mula sa multiplications ay magiging- {2;90;100;0;0;0;0;0;0}.
- At panghuli, ang SUMPRODUCT Ang function ay magbubuod ng mga value na ito na makikita sa array. Kaya, ang aming panghuling resulta ay magiging 192 (2+90+100+0+0+0+0+0+0) , na siyang mga nakuhang numero mula sa cell B5 .
Magbasa Nang Higit Pa: Paano Paghiwalayin ang Teksto at Mga Numero sa Excel (4 na Madaling Paraan)
5. Pag-extract ng Limang Digit na Numero mula sa String
Gagamit kami ng isa pang formula para mag-extract ng limang digit na numero mula sa anumang bahagi ng isang string sa Excel. Gagamitin namin ang CONCAT at SEQUENCE function sa unang pagkakataon sa seksyong ito. Bukod dito, bahagyang binago namin ang aming dataset para sa paraang ito.
Mga Hakbang:
- Una, piliin ang hanay ng cell C5:C12 .
- Pangalawa, i-type ang sumusunod na formula.
=CONCAT(IFERROR(0+MID(B5,SEQUENCE(LEN(B5)),1),""))
- Sa wakas, pindutin ang Ctrl+Enter .
🔎 Paghahati-hati ng Formula
- LEN(B5)
- Output: 11 .
- Ibinabalik ng function na ito ang haba ng string.
- SEQUENCE(11)
- Output: {1;2;3;4;5; 6;7;8;9;10;11} .
- Ibinabalik ng function na ito ang unang labing-isang numero.
- MID(B5,{1;2) ;3;4;5;6;7;8;9;10;11},1)
- Output: {“1″;”9″;” “;”D”;”D”;”X”;”2″;”M”;”N”;”3″;”3″} .
- Gamit ang bahaging ito, tayo aypagkuha ng mga indibidwal na character mula sa string.
- 0+{“1″;”9″;” “;”D”;”D”;”X”;”2″;”M”;”N”;”3″;”3″}
- Output: {1;9; #VALUE!;#VALUE!;#VALUE!;#VALUE!;2;#VALUE!;#VALUE!;3;3} .
- Kapag nagdagdag kami ng zero sa isang string, ito ay magbalik ng error.
- IFERROR({1;9;#VALUE!;#VALUE!;#VALUE!;#VALUE!;2;#VALUE!;#VALUE!;3 ;3},””)
- Output: {1;9;””;””;””;””;2;””;””;3;3} .
- Nagiging blangko kami para sa lahat ng value ng error.
- CONCAT({1;9;””;””;””;””;2;” ”;””;3;3})
- Output: 19233 .
- Sa wakas, idinaragdag namin ang lahat ng value para mag-extract ng limang digit na numero lang.
6. Paggamit ng Flash Fill para I-extract ang mga Numero sa loob ng Saklaw
Paggamit ng ang Flash Ang feature na Fill ay mas madali at mas simple kaysa sa iba pang paraan na binanggit sa itaas. Kami ay kukuha ng mga numero mula sa anumang posisyon sa mga string ng teksto. Upang maisagawa nang maayos ang pamamaraang ito, kailangan nating tulungan ang Excel na mahanap ang pattern ng mga value ng cell sa isang column o isang row sa pamamagitan ng paggawa ng extraction para sa unang dalawang value lang.
Mga Hakbang:
- Upang magsimula, manu-manong i-type ang mga numero sa cell C5 .
- Pagkatapos, simulang i-type ang mga numero mula sa cell B6 sa cell C6 at awtomatikong makikilala ng Excel ang pattern.
- Sa wakas, pindutin ang Enter .
Mga Tala: Ang pamamaraang ito ay may ilangmga kakulangan, kaya naman hindi ito inirerekomenda para sa lahat ng kaso kapag kailangan mong mag-extract ng mga numero mula sa mga string ng text. Ang Flash Fill ay karaniwang sumusunod sa isang pattern mula sa mga cell sa isang column o isang hanay. Kaya, ang unang 2 o 3 pagkuha o kalkulasyon ay kailangang gawin nang manu-mano upang matulungan ang Excel na makuha ang karaniwang pattern ng mga resultang halaga. Ngunit minsan, hindi nito sinusunod ang eksaktong pattern na kailangan namin at, sa gayon, susundin nito ang sarili nitong pattern at magbibigay sa iyo ng hindi tugmang resulta.
Halimbawa, kung kinailangan naming kumuha ng dalawang zero (00) mula sa ang data na ibinigay, ito ay magpapakita lamang ng isang zero, hindi dalawa. Kung gusto mong mag-extract ng mga numero mula sa simula o sa mga huling posisyon sa isang cell, kukuha din ito ng mga text value, kasama ang mga numero.
Magbasa Nang Higit Pa: Paano upang I-extract ang mga Numero pagkatapos ng isang Tukoy na Teksto sa Excel (2 Angkop na Paraan)
7. Paglalapat ng VBA Code upang I-extract ang Mga Numero Lamang mula sa Excel Cell
Kung interesado kang gamitin ang Excel VBA Macro upang kunin ang mga numero lamang mula sa mga cell, pagkatapos ay gusto mong sundin ang mga hakbang sa ibaba. Ipapakita namin sa iyo kung paano i-type ang code sa VBA Module window. Hihilingin ng code na ito sa user na tukuyin ang input at output cell ranges.
Mga Hakbang:
- Una, Pindutin ang ALT+F11 upang buksan ang VBA na window.
- Pagkatapos, mula sa tab na Insert , piliin ang Module command. Isang bagong modulelalabas ang window kung saan mo ita-type ang mga code.
- Pangatlo, sa loob ng iyong module, i-paste ang mga sumusunod na code pagkatapos kopyahin.
6469
- Pagkatapos, pindutin ang F5 upang isagawa ang code. Ang isang dialog box na pinangalanang " Pagpili ng Data ng Input " ay lalabas.
- Pagkatapos, piliin ang lahat ng mga text cell (ibig sabihin, B5:B12 ) at pindutin ang OK .
- Pagkatapos nito, isa pang dialogue box na pinangalanang “ Output cell Selection ” ay lalabas kung saan kailangan mong pumili ng partikular na cell o hanay ng mga cell upang makita ang output data o mga halaga.
- Sa wakas, piliin ang hanay ng cell C5:C12 at pindutin ang Enter .
- Dahil dito, makikita mo ang mga nakuhang numero mula sa sabay-sabay ang mga text. Kaya, tatapusin natin ang pitong mabilis na paraan para mag-extract ng mga numero lang mula sa Excel cell.
🔎 Breakdown ng VBA Code
➤ Pagdedeklara ng Mga Parameter
3887
- Dito sa bahaging ito sa una, idinedeklara namin ang lahat ang aming mga parameter bilang mga integer, mga halaga ng string, o mga hanay ng mga cell. Pagkatapos ay ibibigay namin ang mga pangalan ng aming mga dialogue box na may “Pagpili ng Data ng Input” at “Pagpili ng Output cell” .
➤ Pagtukoy sa Mga Uri ng Mga Input & Mga Output para sa Mga Dialogue Box
2711
- Ngayon ay tinutukoy namin ang mga parameter at ang mga uri ng mga ito para sa mga dialog box. Dito, ang pagdaragdag ng Uri:=8 ay nangangahulugang angAng data ng input at output ay bubuo ng mga reference na cell o isang hanay ng mga cell.
- Tinutukoy din namin na kung hindi mahanap ang data ng input, hihinto ang subroutine. Sa pamamagitan ng pagbanggit sa macro na ito, hindi masisira ang subroutine para sa nawawalang data, ngunit sa halip ay hihinto ito sa paggana.
➤ Pagsasama-sama ng mga Function sa Loob ng Code Loops para sa Mga Pag-ulit
1358
- Panghuli, sa lahat, ito ang pinakamahalagang bahagi kung saan inilalapat natin ang mga function o formula na kailangan nating italaga sa mga text para mahanap ang mga resultang value mula sa mga string .
- Isa sa mga pangunahing bentahe ng coding ng isang function para sa Excel ay hindi kinakailangang mag-type ng malaking formula tulad ng kailangan naming gawin sa mga nakaraang pamamaraan, dahil ang VBA ay may mga built-in na command para magamit ang For or While loops kung saan ang pag-ulit para sa bawat at bawat detalye sa isang text string ay maaaring isagawa nang walang anumang abala.
Magbasa Nang Higit Pa: Paano Paghiwalayin ang Mga Numero Mula sa Teksto sa Excel VBA (3 Mga Paraan)
Konklusyon
Nagpakita kami sa iyo ng 7 madaling paraan upang mag-extract ng mga numero lamang mula sa isang Excel cell. Ang pagkuha lamang ng mga numero mula sa isang text string ay hindi kasing simple ng tila dahil nangangailangan ito ng kumbinasyon ng maraming function, na ginagawang kumplikado ang panghuling formula o syntax. Ngunit umaasa kami kung paano namin sinubukang ilarawan ang mga formula sa pamamagitan ng paghahati-hati sa mga panloob na function ay nakatulong sa iyo na maunawaan ang syntax na may kaunting kaginhawahan atmadali.
Kung makakita ka ng anumang iba pang mga function o formula na dapat naming idagdag dito, mangyaring ipaalam sa amin sa pamamagitan ng iyong mahahalagang komento. O maaari mong tingnan ang aming mas nagbibigay-kaalaman at kawili-wiling mga artikulo na may kaugnayan sa mga function ng Excel sa website na ito.
pagkatapos, gamit ang ang Fill Handle , kokopyahin namin ang formula na iyon sa iba pang mga cell.Mga Hakbang:
- Una, i-type ang formula sa cell C5 .
=LEFT(B5,SUM(LEN(B5)-LEN(SUBSTITUTE(B5,{"0","1","2","3","4","5","6","7","8","9"},""))))
- Pangalawa, pindutin ang Enter at makukuha mo ang numero 34 para sa unang code.
- Pangatlo, gamitin ang Fill Handle pagkatapos ay i-autofill ang lahat ng iba pang mga cell sa column C .
🔎 Paghahati-hati ng Formula
➤ PALIT(B5,{“0″,”1″,”2″,”3″,”4″,”5″,”6″,”7″,”8″,”9″}, ””)
- Dito, ang SUBSTITUTE function ay hahanap ng mga digit (0-9) nang magkakasunod at, kung matagpuan, papalitan nito ang digit na iyon sa cell B5 na may walang laman na character sa bawat pagkakataon. Kaya, babalik ang function bilang- {"34DTXRF","34DTXRF","34DTXRF","4DTXRF","3DTXRF","34DTXRF","34DTXRF","34DTXRF","34DTXRF","34DTXRF"}.
➤ LEN(SUBSTITUTE(B5,{“0″,”1″,”2″,”3″,”4″,”5″,”6″,”7 ″,”8″,”9″},””))
- Tinutukoy ng LEN function ang bilang ng mga character sa isang string . Kaya, dito, bibilangin ng function na LEN ang lahat ng character na indibidwal na makikita sa mga text sa pamamagitan ng function na SUBSTITUTE . Ang mga resultang halaga ay makikita dito sa aming kaso – {7,7,7,6,6,7,7,7,7,7}.
➤ LEN(B5)- LEN(PALIT(B5,{“0″,”1″,”2″,”3″,”4″,”5″,”6″,”7″,”8″,”9″},”” )))
- Ngayon, ang bahaging ito ay angpagbabawas mula sa bilang ng mga character sa cell B5 sa lahat ng iba pang bilang ng mga character na matatagpuan nang paisa-isa sa nakaraang seksyon ng formula. Kaya, narito ang magiging resulta ng mga value – {0,0,0,1,1,0,0,0,0,0}.
➤ SUM(LEN(B5) -LEN(PALIT(B5,{“0″,”1″,”2″,”3″,”4″,”5″,”6″,”7″,”8″,”9″},” ”)))
- Ang SUM na function ay magbubuod lang ng lahat ng nabawas na value na natagpuan & kaya nandito ang resulta, 2 (0+0+0+1+1+0+0+0+0+0).
➤ = LEFT(B5,SUM(LEN(B5)-LEN(SUBSTITUTE(B5,{“0″,”1″,”2″,”3″,”4″,”5″,”6″,”7″, ”8″,”9″},””))))
- At ngayon narito ang huling bahagi kung saan ang LEFT function ay ibalik ang mga halaga na may eksaktong bilang ng mga character mula sa kaliwa na matatagpuan sa nakaraang seksyon ng formula. Dahil nakuha namin ang sum value bilang 2, ang LEFT function dito ay magbabalik lamang ng 34 mula sa text na 34DTXRF .
➥ Kaugnay: Paano Paghiwalayin ang Mga Numero sa Excel Gamit ang Formula (5 Paraan)
2. Pagkuha ng Mga Numero mula sa Kanang Gilid ng Teksto
Sa seksyong ito, kukunin namin ang mga numero o digit mula sa kanang bahagi ng string ng teksto. Gagamitin namin ang mga function na RIGHT , MIN , at SEARCH .
Mga Hakbang:
- Upang magsimula, sa aming dataset kung ano ang kailangan naming i-type sa cell C5 ay-
=RIGHT(B5,LEN(B5) - MIN(SEARCH({0,1,2,3,4,5,6,7,8,9}, B5&"0123456789")) +1)
- Pagkatapos, pindutin ang Enter at pagkatapos ay gamitin ang Fill Handle para i-autofill ang iba pang mga cell.
🔎 Paghahati-hati ng Formula
➤ B5&”0123456789″
- Dito, pinagsasama-sama namin ang mga value sa B5 cell na may 0123456789 sa pamamagitan ng paggamit ng ampersand (&) sa pagitan sila at makukuha natin ang resultang value bilang- DTXRF340123456789.
➤ SEARCH({0,1,2,3,4,5,6,7,8,9}, B5&”0123456789″)
- Ngayon, hahanapin ng SEARCH function ang lahat ng digit (0-9) nang paisa-isa sa ang resultang value na nakuha mula sa nakaraang seksyon at ibabalik ang mga posisyon ng 10 digit na iyon sa mga character ng DTXRF340123456789 . Kaya, narito ang magiging resulta ng ating mga value- {8,9,10,6,7,13,14,15,16,17}.
➤ MIN(SEARCH({0) ,1,2,3,4,5,6,7,8,9}, B5&”0123456789″))
- Ang MIN function ay ginagamit upang mahanap ang pinakamababang digit o numero sa isang array. Kaya, dito ang pinakamababa o pinakamababang halaga ay magiging- 6 mula sa array {8,9,10,6,7,13,14,15,16,17} na makikita sa naunang seksyon ng formula .
➤ LEN(B5) – MIN(SEARCH({0,1,2,3,4,5,6,7,8,9}, B5&”0123456789″ )) +1)
- Ngayon, ang bilang ng mga character sa B5 ay makikita ng LEN function. Pagkatapos ay ibawas nito ang halaga 6(matatagpuan sa huling seksyon) at pagkatapos ay ibabalik ang resulta sa pamamagitan ng pagdaragdag ng 1. Dito sa aming kaso, angmagiging 2 (7-6+1) ang magreresultang value.
➤ RIGHT(B5,LEN(B5) – MIN(SEARCH({0,1, 2,3,4,5,6,7,8,9}, B5&”0123456789″)) +1)
- Ang TAMA Ibabalik ng function na ang tinukoy na bilang ng mga character mula sa huli o kanang bahagi ng isang string. Kasunod ng resulta na natagpuan sa pamamagitan ng proseso ng pagbabawas sa nakaraang seksyon, dito ipapakita ng RIGHT function ang huling 2 character mula sa cell B5 , at iyon ay magiging 34 .
Magbasa Pa: Paano Paghiwalayin ang Mga Numero sa Isang cell sa Excel (5 Paraan)
3. Pag-extract ng Mga Numero mula sa Anumang Bahagi ng Text String
Ngayon, narito ang isang malawak na solusyon para sa lahat ng kaso. Ang paraang ito ay kukuha ng mga numero o digit mula sa anumang posisyon sa isang text string. Bukod dito, gagamitin namin ang TEXTJOIN , IFERROR , INDIRECT , MID at ROW ay gumagana sa paraang ito.
Mga Hakbang:
- Una, i-type ang formula sa iyong patutunguhang cell tulad ng sumusunod-
=TEXTJOIN("",TRUE,IFERROR((MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1)*1),""))
- Pagkatapos, kung ikaw Gumagamit ako ng Excel 2016 o mas mataas na bersyon pagkatapos ay pindutin ang Enter , kung hindi man ay pindutin ang Ctrl+Shift+Enter upang makuha ang resulta para sa array formula na ito.
- Pagkatapos ng hakbang na ito, i-autofill ang ibang mga cell gamit ang Fill Handle at tapos ka na.
🔎 Pagkakasira ng Formula
➤ INDIRECT(“1:”&LEN(B5))
- Ang INDIRECT function ay ginagamit upang mag-imbak ng array ng mga halaga ng cell bilang isang reference na teksto. Dito pinagsasama-sama ng ampersand (&) command ang haba ng mga character ng cell B5 na may hindi kumpletong range syntax (1:) .
- Kaya, dito ang INDIRECT function ay mag-iimbak ng lahat ng numero sa pagitan ng 1 at ang haba ng mga character sa cell B5 bilang reference text.
➤ ROW(INDIRECT(“1:”&LEN(B5)))
- Ang ROW function na karaniwang nagsasabi sa row number ng isang cell. Ngunit dito sa function na INDIRECT , dahil walang nabanggit na reference cell, sa kasong ito, kukunin ng ROW function ang lahat ng mga value o numero mula sa mga reference na text na nakaimbak sa INDIRECT function.
- Ngayon, para sa 1st cell B5 , ang mga resultang value sa pamamagitan ng mga ROW at INDIRECT function na ito ay magiging- {1;2;3;4;5;6; 7;8;9}.
➤ (MID(B5,ROW(INDIRECT(“1:”&LEN(B5))),1))
- Ang MID na function ay magbibigay-daan sa iyong matukoy ang mga character mula sa gitna ng isang text string, na binigyan ng panimulang posisyon & haba.
- Kaya, dito para sa lahat ng 9 na posisyon na natagpuan sa nakaraang seksyon, ang MID function na ngayon ay magpapakita ng lahat ng mga character nang paisa-isa para sa bawat posisyon & kaya ibabalik ang mga halaga bilang- {“1″;”9″;”“;”D”;”D”;”X”;”2″;”M”;”N”}.
➤ IFERROR((MID(B5,ROW(INDIRECT) (“1:”&LEN(B5))),1)*1),””)
- Ngayon, ang IFERROR ay isang lohikal na function na tutukuyin kung ang isang string ay isang numero o iba pa. Kung hindi nito matukoy ang isang string na may mga numero o digit, ibabalik nito ang value na may tinukoy na text command.
- Sa aming kaso, ang lahat ng value na makikita sa huling seksyon ay i-multiply sa 1, at kapag ang mga resulta ay ibinalik bilang mga error sa halaga para sa mga titik o mga halaga ng teksto na hindi maaaring i-multiply, ang kanilang IFERROR function ay magko-convert ng mga error sa mga walang laman na string. Kaya, ang aming mga resultang halaga ay magiging- {1;9;””;””;””;””;2;””;””}.
➤ =TEXTJOIN (“”,TRUE,IFERROR((MID(B5,ROW(INDIRECT(“1:”&LEN(B5))),1)*1),””))
- At ngayon ang huling bahagi ay isasagawa sa pamamagitan ng TEXTJOIN function. Ginagamit ang function na ito upang pagsama-samahin o pagsamahin ang dalawang string na may tinukoy na delimiter.
- Kaya, ang mga resultang value na nakita namin sa naunang seksyon ay pagsasama-samahin na ngayon sa tabi ng TEXTJOIN na ito function. At sa gayon ay makukuha natin ang numerong 192.
Magbasa Nang Higit Pa: Paano Mag-extract ng Maramihang Mga Numero mula sa String sa Excel (6 na Paraan)
4. Nesting Multiple Function para Maglabas Lamang ng Mga Numero
Ngayon, magpapakita kami sa iyo ng isa pang formula upang kunin ang mga numero lamang mula sa anumang posisyon mula sa isang Excelcell. Bagama't mukhang medyo kumplikado ito, sisirain namin ang buong formula at susubukan naming ipaliwanag ang lahat ng mga compact na function nang madali. Bilang karagdagan, gagamitin namin ang KUNG , MALAKI , INDEX , SUMPRODUCT , at ISNUMBER ay gumagana sa formula na ito.
- Upang magsimula, i-type ang formula na ito sa cell C5 . Kailangan mong palitan ang cell reference lamang batay sa iyong sariling cell sa spreadsheet at pagkatapos ay sa pamamagitan ng pag-embed ng formula na ito, makukuha mo kaagad ang inaasahang resulta. At perpektong gumagana ang formula na ito sa anumang bersyon ng Excel.
=IF(SUM(LEN(B5)-LEN(SUBSTITUTE(B5, {"0","1","2","3","4","5","6","7","8","9"}, "")))>0, SUMPRODUCT(MID(0&B5, LARGE(INDEX(ISNUMBER(--MID(B5,ROW(INDIRECT("$1:$"&LEN(B5))),1))* ROW(INDIRECT("$1:$"&LEN(B5))),0), ROW(INDIRECT("$1:$"&LEN(B5))))+1,1) * 10^ROW(INDIRECT("$1:$"&LEN(B5)))/10),"")
- Pagkatapos nito, kailangan mong pindutin ang Enter pagkatapos lang i-type ang buong formula at tapos ka na.
🔎 Formula Breakdown
Bago simulan ang breakdown ng napakalaking & compact na formula, maaari nating paghiwalayin ito sa ilang bahagi tulad ng-
=IF(A>0, SUMPRODUCT(B 1 *C 1 , B 2 *C 2 , …….B n C n ),””)
Ang ibig sabihin ng syntax na ito ay kung ang A ay mas malaki sa 0, kung gayon ang lahat ng produkto ng B Ang n at C n ay magbubuod sa huling resulta. At kung ang A ay hindi hihigit sa 0, babalik ang resulta bilang isang walang laman o blangkong cell.
- A =SUM(LEN(B5)-LEN(SUBSTITUTE(B5, {“0″,”1″,”2″,”3″,”4″,”5″,”6″,”7″,”8″, ”9”}, “”
- B = MID(0&B5, LARGE(INDEX(ISNUMBER(–MID(B5,ROW(INDIRECT(“$1) :$”&LEN(B5))),1))* ROW(INDIRECT(“$1:$”&LEN(B5))),0), ROW(INDIRECT(“$1:$”&LEN( B5))))+1,1)
- C = 10^ROW(INDIRECT(“$1:$”&LEN(B5)))/ 10),””
Breakdown of Part A = SUM(LEN(B5)-LEN(SUBSTITUTE(B5, {“0″,”1″,”2″ ,”3″,”4″,”5″,”6″,”7″,”8″,”9”}, “”
➤ SUBSTITUTE(B5, { “0″,”1″,”2″,”3″,”4″,”5″,”6″,”7″,”8″,”9”}, “”)
- Hahanapin ng SUBSTITUTE function ang lahat ng digit (0-9) nang paisa-isa sa text 19 DDX2MN sa bawat pagkakataon at papalitan ang mga iyon mga digit na may walang laman na string sa mga posisyon ng mga digit.
- Kaya ang mga resultang value sa isang array ay magiging- {“19 DDX2MN”,”9 DDX2MN”,”19 DDXMN”,”19 DDX2MN”,” 19 DDX2MN”,”19 DDX2MN”,”19 DDX2MN”,”19 DDX2MN”,”19 DDX2MN”,”1 DDX2MN”}.
➤ LEN(SUBSTITUTE(B5, { “0″,”1″,”2″,”3″,”4″,”5″,”6″,”7″,”8″,”9”}, “”))
- Ang Ang function na LEN ay bibilangin na ngayon ang bilang ng mga character sa lahat ng value ng string na nakuha mula sa nakaraang seksyon. Kaya, babalik ang function na ito bilang- {9,8,8,9,9,9,9,9,9,8}.
➤ LEN(B5)-LEN( KAPALIT(B5, {“0″,”1″,”2″,”3″,”4″,”5″,”6″,”7″,”8″,”9”}, “”))
- Ngayon sa bahaging ito ng formula, ibawas ng bilang ng mga character sa cell B5 ang lahat ng numerong makikita sa