Sadržaj
Iako Microsoft nije pružio direktnu formulu ili sintaksu za izvlačenje samo brojeva iz Excel ćelije, možemo ugraditi širok raspon Excel formula u napraviti jednu funkciju koja se može koristiti za izdvajanje brojeva ili znamenki samo iz Excel ćelija. U ovom članku pokušat ćemo pokazati i detaljno objasniti kako možemo izvesti samo brojeve iz ćelija s odgovarajućim formulama pod nekoliko kriterija.
Preuzmite Vježnicu
Preuzmite besplatni udžbenik koji smo koristili za pripremu ovog članka. Možete unijeti tekstualne vrijednosti s brojevima u odabrane ćelije i odmah pronaći rezultate putem ugrađenih formula.
Izdvajanje brojeva iz Cell.xlsm
7 učinkovitih načina za izdvajanje samo brojeva iz Excel ćelije
Bit će jedan VBA kod, jedna Excel funkcija i pet praktičnih formula koje će vam pomoći da izdvojite brojeve iz ćelije. Kao na slici ispod, imamo neke kodove uključujući cifre i slova gdje su cifre prisutne na početku. Moramo izdvojiti samo te cifre ili brojeve.
1. Izvlačenje brojeva s početka teksta
U ovoj prvoj metodi, kombinirat ćemo LEVO , SUM , LEN i SUBSTITUTE funkcije za izvlačenje brojeva s početka tekstualnog niza. Prvo ćemo ukucati ovu formulu u ćeliju iprethodni odeljak. Rezultirajuće vrijednosti će tada biti - {0,1,1,0,0,0,0,0,0,1}.
➤ SUM(LEN(B5)-LEN (ZAMJENA(B5, {“0″,”1″,”2″,”3″,”4″,”5″,”6″,”7″,”8″,”9”}, “”) ))
- Uz pomoć funkcije SUM , vrijednosti unutar niza pronađene u posljednjem odjeljku će se zbrajati do 3 ( 0+1+1+0+0+0+0+0+0+1).
- Dakle, prema prvom dijelu naše formule, A>0 (3>0) . Sada ćemo prijeći na sljedeći dio raščlambe.
Raščlamba dijela B = MID(0&B5, LARGE(INDEX(ISNUMBER(–MID(B5,ROW( INDIRECT(“$1:$”&LEN(B5))),1))* RED(INDIRECT(“$1:$”&LEN(B5))),0), RED(INDIREKTNO(“$1:$” &LEN(B5))))+1,1)
➤ INDIREKTNO(“$1:$”&LEN(B5))
- Funkcija INDIRECT ovdje će pohraniti vrijednosti niza kao referencu na niz. Unutar zagrada, naredba ampersand (&) će spojiti broj znakova pronađenih u ćeliji B5 sa sintaksom raspona ćelija. To znači da će od 1 do broja definiranih znakova, svaki biti pohranjen kao referenca niza.
➤ ROW(INDIRECT(“$1:$”&LEN(B5)) )
- Sada će ova ROW funkcija izvući sve brojeve iz niza i rezultirajuće vrijednosti za ćeliju B5 će biti- {1;2;3;4;5;6;7;8;9}.
➤ MID(B5,ROW( INDIRECT(“$1:$”&LEN(B5))),1)
- U ovom dijelu formule,Funkcija MID će izraziti sve znakove iz ćelije B5 na osnovu svih pozicija pronađenih kao brojevi u prethodnom odjeljku. Dakle, ekstrahovane vrijednosti će se naći nakon ovog dijela- {“1″;”9″;” “;”D”;”D”;”X”;”2″;”M”;”N”}.
➤ BROJ(–SREDINA(B5,RED(INDIREKTNO (“$1:$”&LEN(B5))),1))
- Kako je ISNUMBER logička funkcija, pojedinačno će odrediti da li su vrijednosti koje se nalaze u prethodnom odjeljku nizovi brojeva ili ne. Ako je odgovor da, onda će se vratiti kao TRUE , u suprotnom će se prikazati kao FALSE .
- Dakle, u našem slučaju, rezultat će biti- { TAČNO;TAČNO;LAŽNO;LAŽNO;LAŽNO;LAŽNO;TAČNO;LAŽNO;LAŽNO}.
➤ INDEX(ISBROJ(–MID(B5,RED(INDIRECT(“$1:$” &LEN(B5))),1))*ROW(INDIRECT(“$1:$”&LEN(B5))),0)
- Ako primijetite unutar iznad funkcije, korištena je dvostruka crtica, poznata kao Double Unary . Koristi se za pretvaranje svih logičkih vrijednosti u nizove brojeva - 1(TRUE) ili 0(FALSE) . Sada će funkcija INDEX vratiti ovaj rezultat kao- {1;1;0;0;0;0;1;0;0}.
- Nakon da će rezultirajuće vrijednosti biti pomnožene vrijednostima dobijenim iz ROW funkcije unutar niza i rezultat će biti- {1;2;0;0;0;0; 7;0;0}.
➤ VELIKI(INDEX(ISBROJ(–SREDINA(B5,RED(INDIRECT(“$1:$”&LEN(B5))),1 ))*RED(INDIREKTNO(“$1:$”&LEN(B5))),0),ROW(INDIRECT(“$1:$”&LEN(B5))))
- Funkcija LARGE sada će preurediti najveći vrijednosti iz niza prema pozicijama na osnovu brojeva pronađenih u funkcijama ROW . & naše rezultujuće vrijednosti za ovaj dio formule će biti- {7;2;1;0;0;0;0;0;0}.
➤ MID(0&B5 , VELIKI(INDEX(ISBROJ(–SREDINA(B5,RED(INDIREKTNO(“$1:$”&LEN(B5))),1))*RED(INDIREKTNO(“$1:$”&LEN(B5)) ),0), ROW(INDIRECT(“$1:$”&LEN(B5))))+1,1)
- Sada, ovaj dio funkcije će se spojiti 0 s tekstovima u ćeliji B5 . Zatim će dodati 1 pojedinačno sa svim brojevima pronađenim u posljednjem odjeljku i prikazati znakove iz ćelije B5 na osnovu definiranih pozicija brojeva.
- Dakle, naš ishod iz ovog odjeljka će biti- {“2″;”9″;”1″;”0″;”0″;”0″;”0″;”0″;”0” }.
Raščlamba dijela C = (10^ROW(INDIRECT(“$1:$”&LEN(B5)))/10),””)
- Ovaj dio će odrediti snage 10 & pohraniti ih unutar niza. Cifre potencija su brojevi pronađeni iz funkcije ROW ranije.
- Ovaj dio formule će vratiti vrijednosti kao- {1;10;100 ;1000;10000;100000;1000000;10000000;100000000}.
Množenje B n i C n
- Sada će rezultantne vrijednosti iz posljednja dva glavna sloma B i C sadabiti pomnožen unutar niza. Tada će proizvodi pronađeni iz množenja biti - {2;90;100;0;0;0;0;0;0}.
- I konačno, SUMPROIZVOD funkcija će sabrati ove vrijednosti pronađene u nizu. Dakle, naš konačni ishod će biti 192 (2+90+100+0+0+0+0+0+0) , što su izvučeni brojevi iz ćelije B5 .
Pročitajte više: Kako odvojiti tekst i brojeve u Excelu (4 laka načina)
5. Izdvajanje petocifrenih brojeva iz stringa
Koristit ćemo drugu formulu za izdvajanje petocifrenih brojeva iz bilo kojeg dijela niza u Excelu. Po prvi put ćemo u ovom odjeljku koristiti funkcije CONCAT i SEQUENCE . Štaviše, malo smo promijenili naš skup podataka za ovu metodu.
Koraci:
- Prvo, odaberite raspon ćelija C5:C12 .
- Drugo, upišite sljedeću formulu.
=CONCAT(IFERROR(0+MID(B5,SEQUENCE(LEN(B5)),1),""))
- Na kraju, pritisnite Ctrl+Enter .
🔎 Raščlamba formule
- LEN(B5)
- Izlaz: 11 .
- Ova funkcija vraća dužinu niza.
- SEQUENCE(11)
- Izlaz: {1;2;3;4;5; 6;7;8;9;10;11} .
- Ova funkcija vraća prvih jedanaest brojeva.
- MID(B5,{1;2 ;3;4;5;6;7;8;9;10;11},1)
- Izlaz: {“1″;”9″;” “;”D”;”D”;”X”;”2″;”M”;”N”;”3″;”3″} .
- Upotrebom ovog dijela, mi smodobijanje pojedinačnih znakova iz niza.
- 0+{“1″;”9″;” “;”D”;”D”;”X”;”2″;”M”;”N”;”3″;”3″}
- Izlaz: {1;9; #VALUE!;#VALUE!;#VALUE!;#VALUE!;2;#VALUE!;#VALUE!;3;3} .
- Kada dodamo nulu nizom, to će vrati grešku.
- IFERROR({1;9;#VALUE!;#VALUE!;#VALUE!;#VALUE!;2;#VALUE!;#VALUE!;3 ;3},””)
- Izlaz: {1;9;””;””;””;””;2;””;””;3;3} .
- Postajemo prazni za sve vrijednosti grešaka.
- CONCAT({1;9;””;””;””;””;2;” ”;””;3;3})
- Izlaz: 19233 .
- Konačno, dodajemo sve vrijednosti da izdvojimo samo petocifreni broj.
6. Upotreba Flash Fill-a za izdvajanje brojeva unutar raspona
Upotreba Flash-a Funkcija Fill je lakša i jednostavnija od bilo koje druge gore navedene metode. Izvući ćemo brojeve iz bilo koje pozicije u tekstualnim nizovima. Da bismo pravilno izvršili ovu metodu, moramo pomoći Excelu da pronađe obrazac vrijednosti ćelije u stupcu ili redu tako što će izvršiti ekstrakciju samo za prve dvije vrijednosti.
Koraci:
- Za početak, ručno upišite brojeve u ćeliju C5 .
- Zatim počnite kucati brojeve od ćelije B6 do ćelije C6 i Excel će automatski prepoznati uzorak.
- Na kraju, pritisnite Enter .
Napomene: Ova metoda ima nekenedostaci, zbog čega se ne preporučuje za sve slučajeve kada trebate izdvojiti brojeve iz tekstualnih nizova. Flash Fill obično prati obrazac iz ćelija u koloni ili rasponu. Dakle, prva 2 ili 3 ekstrakcije ili izračunavanja moraju biti urađena ručno kako bi se pomoglo Excelu da apsorbira zajednički obrazac rezultirajućih vrijednosti. Ali ponekad, ne slijedi tačan obrazac koji nam je potreban i stoga će slijediti svoj vlastiti obrazac i dati vam neusklađeni rezultat.
Na primjer, ako bismo morali izdvojiti dvije nule (00) iz dati podaci, on bi pokazao samo jednu nulu, a ne dvije. Zatim, ako želite izdvojiti brojeve s početka ili posljednje pozicije u ćeliji, izvući će i tekstualne vrijednosti, zajedno s brojevima.
Pročitajte više: Kako za izdvajanje brojeva nakon određenog teksta u Excelu (2 pogodna načina)
7. Primjena VBA koda za izdvajanje samo brojeva iz Excel ćelije
Ako ste zainteresirani za korištenje Excel VBA Macro za izdvajanje brojeva samo iz ćelija, onda biste željeli slijediti korake u nastavku. Pokazaćemo vam kako da unesete kod u prozor VBA Modul . Ovaj kod će tražiti od korisnika da navede raspon ulaznih i izlaznih ćelija.
Koraci:
- Prvo, pritisnite ALT+F11 da otvorite VBA prozor.
- Zatim, na kartici Insert odaberite naredba Modul . Novi modulPojavit će se prozor u koji ćete upisivati kodove.
- Treće, unutar vašeg modula zalijepite sljedeće kodove nakon kopiranja.
3557
- Nakon toga, pritisnite F5 da izvršite kod. Pojavit će se okvir za dijalog pod nazivom “ Odabir ulaznih podataka ”.
- Zatim, odaberite sve tekstualne ćelije (tj. B5:B12 ) i pritisnite OK .
- Nakon toga, drugi dijaloški okvir pod nazivom “ Odabir izlazne ćelije ” će se pojaviti gdje morate odabrati određenu ćeliju ili raspon ćelija da vidite izlazne podatke ili vrijednosti.
- Konačno, odaberite raspon ćelija C5:C12 i pritisnite Enter .
- Slijedom toga, vidjet ćete izdvojene brojeve iz tekstove odjednom. Tako ćemo završiti sedam brzih metoda za izdvajanje brojeva samo iz Excel ćelije.
🔎 Razlom VBA koda
➤ Deklariranje parametara
5157
- Ovdje u ovom dijelu prvo, deklariramo sve naši parametri kao cijeli brojevi, vrijednosti niza ili rasponi ćelija. Zatim dajemo nazive našim dijaloškim okvirima sa “Odabir ulaznih podataka” i “Odabir izlazne ćelije” .
➤ Definiranje tipova ulaza & Izlazi za dijaloške okvire
6216
- Sada definiramo parametre i njihove tipove za dijaloške okvire. Ovdje dodavanje Type:=8 značiulazni i izlazni podaci će se sastojati od referentnih ćelija ili raspona ćelija.
- Također definiramo da ako se ulazni podaci ne pronađu, onda će se potprogram zaustaviti. Spominjanjem ovog makroa, potprogram se neće pokvariti zbog podataka koji nedostaju, već će prestati funkcionirati.
➤ Kombiniranje funkcija unutar kodnih petlji za Iteracije
3609
- Na kraju, ovo je najvažniji dio u kojem primjenjujemo funkcije ili formule koje trebamo dodijeliti tekstovima da bismo pronašli rezultujuće vrijednosti iz nizova .
- Jedna od glavnih prednosti kodiranja funkcije za Excel je ta što nije potrebno kucati veliku formulu kao što smo morali da uradimo u prethodnim metodama, jer VBA ima ugrađene komande za korištenje petlji For ili While gdje se iteracija za svaki detalj u tekstualnom nizu može izvršiti bez ikakvih problema.
Pročitajte više: Kako odvojiti brojeve od teksta u Excel VBA (3 Metode)
Zaključak
Pokazali smo vam 7 jednostavnih metoda za izvlačenje samo brojeva iz Excel ćelije. Izdvajanje samo brojeva iz tekstualnog niza nije tako jednostavno kao što se čini jer zahtijeva kombinaciju više funkcija, što konačnu formulu ili sintaksu čini komplikovanom. Ali nadamo se da vam je način na koji smo pokušali ilustrirati formule razlaganjem unutrašnjih funkcija pomogao da shvatite sintaksu s malo udobnosti ijednostavnost.
Ako nađete bilo koju drugu funkciju ili formulu koju smo trebali dodati ovdje, javite nam kroz svoje vrijedne komentare. Ili možete pogledati naše informativnije i zanimljivije članke vezane za Excel funkcije na ovoj web stranici.
zatim, koristeći ručicu za popunjavanje , kopiraćemo tu formulu u ostale ćelije.Koraci:
- Prvo, upišite formulu u ćeliju C5 .
=LEFT(B5,SUM(LEN(B5)-LEN(SUBSTITUTE(B5,{"0","1","2","3","4","5","6","7","8","9"},""))))
- Drugo, pritisnite Enter i dobićete broj 34 za prvi kod.
- Treće, koristite ručicu za popunjavanje zatim da automatski popunite sve ostale ćelije u koloni C .
🔎 Raščlamba formule
➤ ZAMJENA(B5,{“0″,”1″,”2″,”3″,”4″,”5″,”6″,”7″,”8″,”9″}, ””)
- Ovdje će funkcija ZAMJENA pronaći cifre (0-9) uzastopno i, ako se pronađe, zamijenit će ta cifra u ćeliji B5 sa praznim karakterom svaki put. Dakle, funkcija će se vratiti kao- {“34DTXRF”,”34DTXRF”,”34DTXRF”,”4DTXRF”,”3DTXRF”,”34DTXRF”,”34DTXRF”,”34DTXRF”,”34DTXRF”,”34DTXRF”}.
➤ LEN(ZAMJENA(B5,{“0″,”1″,”2″,”3″,”4″,”5″,”6″,”7 ″,”8″,”9″},””))
- Funkcija LEN određuje broj znakova u nizu . Dakle, ovdje će funkcija LEN brojati sve znakove pojedinačno pronađene u tekstovima preko funkcije ZAMENJA . Rezultirajuće vrijednosti će biti ovdje u našem slučaju – {7,7,7,6,6,7,7,7,7,7}.
➤ LEN(B5)- LEN(ZAMJENA(B5,{“0″,”1″,”2″,”3″,”4″,”5″,”6″,”7″,”8″,”9″},”” )))
- Sada, ovaj dio jeoduzimanje od broja znakova u ćeliji B5 na sve ostale brojeve znakova koji se nalaze pojedinačno u prethodnom dijelu formule. Dakle, ovdje će rezultantne vrijednosti biti – {0,0,0,1,1,0,0,0,0,0}.
➤ SUM(LEN(B5) -LEN(ZAMJENA(B5,{“0″,”1″,”2″,”3″,”4″,”5″,”6″,”7″,”8″,”9″},” ”)))
- Funkcija SUM će tada jednostavno zbrojiti sve pronađene oduzete vrijednosti & tako da će rezultat biti ovdje, 2 (0+0+0+1+1+0+0+0+0+0).
➤ = LIJEVO(B5,SUM(LEN(B5)-LEN(ZAMJENA(B5,{“0″,”1″,”2″,”3″,”4″,”5″,”6″,”7″, ”8″,”9″},””))))
- A sada je posljednji dio gdje će funkcija LEFT vrati vrijednosti s tačnim brojem znakova s lijeve strane koji se nalaze u prethodnom dijelu formule. Kako smo dobili vrijednost sume kao 2, funkcija LEFT ovdje će vratiti samo 34 iz teksta 34DTXRF .
➥ Povezano: Kako razdvojiti brojeve u Excelu pomoću formule (5 načina)
2. Izdvajanje brojeva iz Desna strana teksta
U ovom dijelu ćemo izdvojiti brojeve ili znamenke s desne strane tekstualnog niza. Ovdje ćemo koristiti funkcije RIGHT , MIN i SEARCH .
Koraci:
- Za početak, u našem skupu podataka ono što moramo upisati u ćeliju C5 je-
=RIGHT(B5,LEN(B5) - MIN(SEARCH({0,1,2,3,4,5,6,7,8,9}, B5&"0123456789")) +1)
- Nakon toga pritisnite Enter i zatim koristite ručicu za popunjavanje da automatski popunite ostale ćelije.
🔎 Raščlamba formule
➤ B5&”0123456789″
- Ovdje spajamo vrijednosti u ćeliji B5 sa 0123456789 koristeći ampersand (&) između njih i dobićemo rezultujuću vrijednost kao - DTXRF340123456789.
➤ SEARCH({0,1,2,3,4,5,6,7,8,9}, B5&”0123456789″)
- Sada će funkcija SEARCH tražiti sve cifre (0-9) jednu po jednu u rezultirajuću vrijednost dobivenu iz prethodnog odjeljka i vratit će pozicije tih 10 cifara u znakovima DTXRF340123456789 . Dakle, ovdje će naše rezultirajuće vrijednosti biti - {8,9,10,6,7,13,14,15,16,17}.
➤ MIN(SEARCH({0 ,1,2,3,4,5,6,7,8,9}, B5&”0123456789″))
- The MIN funkcija se koristi za pronalaženje najniže cifre ili broja u nizu. Dakle, ovdje će minimalna ili najniža vrijednost biti- 6 iz niza {8,9,10,6,7,13,14,15,16,17} koji se nalazi u prethodnom dijelu formule .
➤ LEN(B5) – MIN(TRAŽI({0,1,2,3,4,5,6,7,8,9}, B5&”0123456789″) )) +1)
- Sada će broj znakova u B5 pronaći pomoću LEN funkcija. Zatim će oduzeti vrijednost 6 (koja se nalazi u posljednjem odjeljku), a zatim vratiti rezultat dodavanjem 1. Ovdje u našem slučaju,rezultirajuća vrijednost će biti 2 (7-6+1) .
➤ DESNO(B5,LEN(B5) – MIN(SEARCH({0,1, 2,3,4,5,6,7,8,9}, B5&”0123456789″)) +1)
- DESNO funkcija će vratiti određeni broj znakova sa zadnje ili desne strane stringa. Prateći rezultat koji je pronađen procesom oduzimanja u prethodnom odjeljku, ovdje će funkcija DESNO pokazati zadnja 2 znaka iz ćelije B5 , a to će biti 34 .
Pročitajte više: Kako razdvojiti brojeve u jednoj ćeliji u Excelu (5 metoda)
3. Izdvajanje brojeva iz bilo kojeg dijela tekstualnog niza
Sad, evo širokog rješenja za sve slučajeve. Ova metoda će izvući brojeve ili cifre sa bilo koje pozicije u tekstualnom nizu. Osim toga, koristit ćemo TEXTJOIN , IFERROR , INDIREKTNO , MID i ROW funkcije u ovoj metodi.
Koraci:
- Prvo, upišite formulu u odredišnu ćeliju na sljedeći način-
=TEXTJOIN("",TRUE,IFERROR((MID(B5,ROW(INDIRECT("1:"&LEN(B5))),1)*1),""))
- Zatim, ako koristite Excel 2016 ili noviju verziju, a zatim pritisnite Enter , u suprotnom pritisnite Ctrl+Shift+Enter da dobijte rezultat za ovu formulu niza.
- Nakon ovog koraka, automatski popunite druge ćelije koristeći Fill Handle i gotovi ste.
🔎 Raščlamba formule
➤ INDIRECT(“1:”&LEN(B5))
- Funkcija INDIRECT se koristi za pohranjivanje niza vrijednosti ćelija kao referentni tekst. Ovdje naredba ampersand (&) spaja dužinu znakova ćelije B5 sa nepotpunom sintaksom raspona (1:) .
- Dakle, ovdje će funkcija INDIRECT pohraniti sve brojeve između 1 i dužine znakova u ćeliji B5 kao referentni tekst.
➤ ROW(INDIRECT(“1:”&LEN(B5)))
- The
ROW obično govori o broju reda ćelije. Ali ovdje u funkciji INDIRECT , pošto nije spomenuta nijedna referentna ćelija, u ovom slučaju, funkcija ROW će izdvojiti sve vrijednosti ili brojevi iz referentnih tekstova pohranjenih u funkciji INDIRECT . - Sada, za 1. ćeliju B5 , rezultujuće vrijednosti kroz ove funkcije ROW i INDIRECT će biti- {1;2;3;4;5;6; 7;8;9}.
➤ (SREDINA(B5,RED(INDIRECT(“1:”&LEN(B5))),1))
- Funkcija MID će vam omogućiti da odredite znakove iz sredine tekstualnog niza, s obzirom na početnu poziciju & dužina.
- Dakle, ovdje za svih 9 pozicija pronađenih u prethodnom odjeljku, funkcija MID sada će prikazati sve znakove jedan po jedan za svaku poziciju & tako će vratiti vrijednosti kao- {“1″;”9″;”“;”D”;”D”;”X”;”2″;”M”;”N”}.
➤ IFGREŠKA((MID(B5,RED(INDIREKTNO (“1:”&LEN(B5))),1)*1),””)
- Sada, IFERROR je logička funkcija koja će odrediti da li je niz broj ili nešto drugo. Ako ne identifikuje niz sa brojevima ili ciframa, onda će vratiti vrijednost sa definisanom tekstualnom naredbom.
- U našem slučaju, sve vrijednosti pronađene u posljednjem odjeljku će biti pomnožene sa 1, i kada se rezultati vrate kao greške vrijednosti za slova ili tekstualne vrijednosti koje se ne mogu pomnožiti, njihova IFERROR funkcija će pretvoriti greške u prazne nizove. Dakle, naše rezultirajuće vrijednosti će tada biti- {1;9;””;””;””;””;2;””;””}.
➤ =TEXTJOIN (“”,TRUE,IFERROR((SREDINA(B5,RED(INDIRECT(“1:”&LEN(B5))),1)*1),””))
- A sada će se završni dio izvršiti kroz funkciju TEXTJOIN . Ova funkcija se koristi za spajanje ili spajanje dva niza sa specificiranim graničnikom.
- Dakle, rezultirajuće vrijednosti koje smo pronašli u prethodnom odjeljku sada će biti spojene zajedno sa ovim TEXTJOIN funkcija. I tako ćemo dobiti broj 192.
Pročitajte više: Kako izdvojiti više brojeva iz niza u Excelu (6 metoda)
4. Ugniježđenje više funkcija za izvođenje samo brojeva
Sada ćemo vam pokazati još jednu formulu za izdvajanje samo brojeva iz bilo koje pozicije iz Excel-aćelija. Iako se može činiti prilično složenim, rastaviti ćemo cijelu formulu i pokušati s lakoćom objasniti sve kompaktne funkcije. Osim toga, koristit ćemo IF , VELIKI , INDEX , SUMPRODUCT i ISNUMBER funkcije u ovoj formuli.
- Za početak, upišite ovu formulu u ćeliju C5 . Morate zamijeniti referencu ćelije samo na temelju vaše vlastite ćelije u proračunskoj tablici, a zatim ćete ugrađivanjem ove formule odmah dobiti očekivani rezultat. I ova formula radi savršeno u bilo kojoj verziji Excel-a.
=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),"")
- Nakon toga morate pritisnuti Enter tek nakon što unesete cijelu formulu i gotovi ste.
🔎 Raščlamba formule
Prije početka kvara ovog ogromnog & kompaktnu formulu, možemo je razdvojiti na neke dijelove kao što je-
=IF(A>0, SUMPRODUCT(B 1 *C 1 , B 2 *C 2 , ……….B n C n ),””)
Ova sintaksa znači ako je A veći od 0, tada svi proizvodi B n i C n će se zbrojiti do konačnog rezultata. A ako A nije veći od 0 onda će se rezultat vratiti kao prazna ili prazna ćelija.
- A =SUM(LEN(B5)-LEN(ZAMJENA(B5, {“0″,”1″,”2″,”3″,”4″,”5″,”6″,”7″,”8″, ”9”}, “”
- B = SREDINA(0&B5, LARGE(INDEX(ISBROJ(–MID(B5,RED(INDIREKTNO(“$1 :$”&LEN(B5))),1))* RED(INDIREKTNO(“$1:$”&LEN(B5))),0), RED(INDIREKTNO(“$1:$”&LEN( B5))))+1,1)
- C = 10^ROW(INDIRECT(“$1:$”&LEN(B5)))/ 10),””
Raščlamba dijela 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”}, “”)
- Funkcija ZAMENJA će svaki put pronaći sve cifre (0-9) jednu po jednu u tekstu 19 DDX2MN i zameniti ih cifre sa praznim nizom na pozicijama cifara.
- Tako će rezultirajuće vrijednosti u nizu biti- {“19 DDX2MN”,”9 DDX2MN”,”19 DDXMN”,”19 DDX2MN”,” 19 DDX2MN”,”19 DDX2MN”,”19 DDX2MN”,”19 DDX2MN”,”19 DDX2MN”,”1 DDX2MN”}.
➤ LEN(ZAMJENA(B5, { “0″,”1″,”2″,”3″,”4″,”5″,”6″,”7″,”8″,”9”}, “”))
- The LEN funkcija će sada brojati broj znakova u svim vrijednostima niza dobivenim iz prethodnog odjeljka. Dakle, ova funkcija će vratiti kao- {9,8,8,9,9,9,9,9,9,8}.
➤ LEN(B5)-LEN( ZAMJENA(B5, {“0″,”1″,”2″,”3″,”4″,”5″,”6″,”7″,”8″,”9”}, “”))
- Sada u ovom dijelu formule, određeni broj znakova u ćeliji B5 će oduzeti sve brojeve pronađene u