![](https://cdn.wiki-base.com/3742164/excel_formula_split_text_and_numbers__2.png.webp)
Generička formula
=MIN(FIND((0,1,2,3,4,5,6,7,8,9),A1&"0123456789"))
Sažetak
Za odvajanje teksta i brojeva možete upotrijebiti formulu koja se temelji na funkciji FIND, MIN i LEN s funkcijom LIJEVO ili DESNO, ovisno o tome želite li izvući tekst ili broj. U prikazanom primjeru formula u C5 je:
=MIN(FIND((0,1,2,3,4,5,6,7,8,9),B5&"0123456789"))
koji vraća 7, položaj broja 3 u nizu "apple30".
Obrazloženje
Pregled
Formula izgleda složeno, ali mehanika je zapravo vrlo jednostavna.
Kao i kod većine formula koje dijele ili izdvajaju tekst, ključ je locirati položaj stvari koju tražite. Nakon što zauzmete položaj, možete koristiti druge funkcije za izdvajanje onoga što vam treba.
U ovom slučaju pretpostavljamo da su brojevi i tekst kombinirani i da se broj pojavljuje nakon teksta. Iz izvornog teksta, koji se pojavljuje u jednoj ćeliji, želite podijeliti tekst i brojeve u zasebne ćelije, poput ove:
Izvornik | Tekst | Broj |
Jabuke30 | Jabuke | 30 |
breskve24 | breskve | 24 |
naranče12 | naranče | 12 |
breskve0 | breskve | 0 |
Kao što je gore rečeno, ključ je u ovom slučaju locirati početni položaj broja, što možete učiniti s formulom poput ove:
=MIN(FIND((0,1,2,3,4,5,6,7,8,9),A1&"0123456789"))
Kada zauzmete položaj, za izdvajanje samo teksta upotrijebite:
=LEFT(A1,position-1)
I da biste izdvojili samo broj, upotrijebite:
=RIGHT(A1,LEN(A1)-position+1)
U prvoj gornjoj formuli koristimo funkciju FIND za pronalaženje početnog položaja broja. Za find_text koristimo konstantu niza (0,1,2,3,4,5,6,7,8,9), to dovodi do toga da funkcija FIND izvodi zasebno pretraživanje za svaku vrijednost u konstanti niza. Budući da konstanta niza sadrži 10 brojeva, rezultat će biti niz s 10 vrijednosti. Na primjer, ako je izvorni tekst "apple30", rezultirajući niz bit će:
(8,10,11,7,13,14,15,16,17,18)
Svaki broj u ovom nizu predstavlja položaj stavke u konstanti niza unutar izvornog teksta.
Dalje funkcija MIN vraća najmanju vrijednost s popisa, koja odgovara položaju u prvom broju koji se pojavljuje u izvornom tekstu. U osnovi, funkcija FIND dobiva sve brojevne položaje, a MIN nam daje prvu brojevnu poziciju: primijetite da je 7 najmanja vrijednost u polju, koja odgovara položaju broja 3 u izvornom tekstu.
Možda se pitate čudnoj konstrukciji za unutar_tekst u funkciji pronalaska:
B5&"0123456789"
Ovaj dio formule spaja sve moguće brojeve 0-9 s izvornim tekstom u B5. Nažalost, FIND ne vraća nulu kada vrijednost nije pronađena, pa je ovo samo pametan način da se izbjegnu pogreške koje bi se mogle pojaviti kada broj nije pronađen.
U ovom primjeru, budući da pretpostavljamo da će se broj uvijek pojaviti na drugom mjestu u izvornom tekstu, to dobro funkcionira jer MIN prisiljava da se vrati samo najmanji ili prvi slučaj broja. Sve dok se broj pojavi u izvornom tekstu, taj će se položaj vraćati.
Ako izvorni tekst ne sadrži brojeve, vratit će se "lažni" položaj jednak duljini izvornog teksta + 1. S ovom lažnom pozicijom, gornja LIJEVA formula i dalje će vraćati tekst, a DESNA formula prazan niz ("").