Excel formula: razdeli besedilo in številke -

Kazalo

Splošna formula

=MIN(FIND((0,1,2,3,4,5,6,7,8,9),A1&"0123456789"))

Povzetek

Za ločevanje besedila in številk lahko uporabite formulo, ki temelji na funkciji FIND, MIN in LEN s funkcijo LEVO ali DESNO, odvisno od tega, ali želite izvleči besedilo ali številko. V prikazanem primeru je formula v C5:

=MIN(FIND((0,1,2,3,4,5,6,7,8,9),B5&"0123456789"))

ki vrne 7, položaj številke 3 v nizu "apple30".

Pojasnilo

Pregled

Formula je videti zapletena, a mehanika je pravzaprav precej preprosta.

Kot pri večini formul, ki razdelijo ali izvlečejo besedilo, je ključno poiskati položaj tistega, kar iščete. Ko imate položaj, lahko z drugimi funkcijami izvlečete, kar potrebujete.

V tem primeru predpostavljamo, da sta številki in besedilo združeni in da se številka pojavi za besedilom. Iz izvirnega besedila, ki se pojavi v eni celici, želite besedilo in številke razdeliti v ločene celice, takole:

Izvirnik Besedilo Številka
Jabolka30 Jabolka 30.
breskve24 breskve 24.
pomaranče12 pomaranče 12.
breskve0 breskve 0

Kot je navedeno zgoraj, je v tem primeru ključno poiskati začetni položaj številke, kar lahko storite s formulo, kot je ta:

=MIN(FIND((0,1,2,3,4,5,6,7,8,9),A1&"0123456789"))

Ko imate položaj, da izvlečete samo besedilo, uporabite:

=LEFT(A1,position-1)

In da izvlečete samo številko, uporabite:

=RIGHT(A1,LEN(A1)-position+1)

V prvi zgornji formuli s pomočjo funkcije FIND poiščemo začetni položaj številke. Za besedilo find_text uporabljamo konstanto matrike (0,1,2,3,4,5,6,7,8,9), zaradi česar funkcija FIND izvede ločeno iskanje za vsako vrednost v konstanti matrike. Ker konstanta matrike vsebuje 10 številk, bo rezultat matrika z 10 vrednostmi. Če je na primer izvirno besedilo "apple30", bo nastala matrika:

(8,10,11,7,13,14,15,16,17,18)

Vsako število v tej matriki predstavlja položaj elementa v konstanti polja znotraj izvirnega besedila.

Nato funkcija MIN vrne najmanjšo vrednost na seznamu, ki ustreza položaju prve številke, ki se pojavi v izvirnem besedilu. V bistvu funkcija FIND dobi vse številske položaje, MIN pa nam da prvo številčno pozicijo: upoštevajte, da je 7 najmanjša vrednost v matriki, ki ustreza položaju številke 3 v izvirnem besedilu.

Morda se sprašujete o nenavadni konstrukciji znotraj_besedila v funkciji iskanja:

B5&"0123456789"

Ta del formule združuje vse možne številke 0-9 z izvirnim besedilom v B5. Na žalost funkcija FIND ne vrne ničla, če vrednosti ne najdemo, zato je to le pameten način, da se izognemo napakam, ki bi lahko nastale, če številke ne najdemo.

V tem primeru, ker predpostavljamo, da bo številka v izvirnem besedilu vedno na drugem mestu, deluje dobro, ker MIN prisili, da se vrne le najmanjša ali prva pojavitev števila. Dokler se številka pojavi v izvirnem besedilu, se ta položaj vrne.

Če izvirno besedilo ne vsebuje nobenih številk, se vrne "lažni" položaj, enak dolžini izvirnega besedila + 1. S tem lažnim položajem bo zgornja formula LEVO še vedno vrnila besedilo, formula DESNO pa prazen niz ("").

Dobre povezave

Formula Ricka Rothsteina o g. Excelu

Zanimive Članki...