Excel formula: Podijeljeni tekst i brojevi -

Sadržaj

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 ("").

Dobri linkovi

Formula Ricka Rothsteina o gospodinu Excelu

Zanimljivi članci...