Excel formula: sadalīt tekstu un skaitļus -

Satura rādītājs

Vispārēja formula

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

Kopsavilkums

Lai atdalītu tekstu un ciparus, varat izmantot formulu, kuras pamatā ir funkcija ATRAST, MIN MIN un LEN funkcija ar funkciju LEFT vai RIGHT, atkarībā no tā, vai vēlaties izvilkt tekstu vai numuru. Parādītajā piemērā formula C5 ir:

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

kas atgriež 7, skaitļa 3 pozīcija virknē "āboli30".

Paskaidrojums

Pārskats

Formula izskatās sarežģīta, taču mehānika faktiski ir diezgan vienkārša.

Tāpat kā lielākajai daļai formulu, kas sadala vai izvelk tekstu, galvenais ir atrast meklētās lietas pozīciju. Kad esat ieguvis pozīciju, varat izmantot citas funkcijas, lai iegūtu nepieciešamo.

Šajā gadījumā mēs pieņemam, ka skaitļi un teksts ir apvienoti un ka skaitlis parādās pēc teksta. Sākotnējā teksta, kas parādās vienā šūnā, tekstu un skaitļus vēlaties sadalīt atsevišķās šūnās, piemēram:

Oriģināls Teksts Skaits
Āboli30 Āboli 30
persiki24 persiki 24
apelsīni12 apelsīni 12
persiki0 persiki 0

Kā minēts iepriekš, šajā gadījumā galvenais ir atrast skaitļa sākuma pozīciju, ko varat izdarīt ar šādu formulu:

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

Kad esat ieguvis pozīciju, lai izvilktu tikai tekstu, izmantojiet:

=LEFT(A1,position-1)

Lai iegūtu tikai numuru, izmantojiet:

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

Pirmajā iepriekš minētajā formulā mēs izmantojam funkciju ATRAST, lai atrastu skaitļa sākuma pozīciju. Lai atrastu_tekstu, mēs izmantojam masīva konstanti (0,1,2,3,4,5,6,7,8,9), tas liek funkcijai FIND veikt atsevišķu meklēšanu katrai masīva konstanta vērtībai. Tā kā masīva konstante satur 10 skaitļus, rezultāts būs masīvs ar 10 vērtībām. Piemēram, ja sākotnējais teksts ir "āboli30", iegūtais masīvs būs:

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

Katrs skaitlis šajā masīvā apzīmē vienuma pozīciju masīva konstantē sākotnējā teksta iekšpusē.

Tālāk funkcija MIN atgriež mazāko vērtību sarakstā, kas atbilst pirmā skaitļa, kas parādās sākotnējā tekstā, pozīcijai. Būtībā funkcija ATRAST iegūst visas skaitļa pozīcijas, un MIN dod mums pirmo skaitļa pozīciju: ievērojiet, ka 7 ir mazākā vērtība masīvā, kas atbilst skaitļa 3 pozīcijai sākotnējā tekstā.

Jums varētu būt jautājums par nepāra konstrukciju , kas atrodas funkcijā find_text :

B5&"0123456789"

Šī formulas daļa visus iespējamos skaitļus 0-9 saista ar sākotnējo tekstu B5. Diemžēl FIND neatgriež nulli, ja vērtība nav atrasta, tāpēc tas ir tikai gudrs veids, kā izvairīties no kļūdām, kas varētu rasties, ja skaitlis nav atrasts.

Šajā piemērā, tā kā mēs pieņemam, ka sākotnējā tekstā skaitlis vienmēr būs otrais, tas darbojas labi, jo MIN piespiež atgriezt tikai mazāko vai pirmo skaitļa gadījumu. Kamēr sākotnējā tekstā parādās skaitlis, šī pozīcija tiks atgriezta.

Ja oriģinālajā tekstā nav skaitļu, tiks atgriezta "viltus" pozīcija, kas vienāda ar sākotnējā teksta + 1 garumu. Izmantojot šo fiktīvo pozīciju, iepriekšminētā LEFT formula joprojām atgriezīs tekstu, un RIGHT formula atstās tukšu virkni ("").

Labas saites

Formula autors Rick Rothstein no Mr Excel

Interesanti raksti...