„Excel“ formulė: padalykite tekstą ir skaičius -

Turinys

Bendroji formulė

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

Santrauka

Norėdami atskirti tekstą ir skaičius, galite naudoti formulę, pagrįstą funkcija RASTI, MIN funkcija ir LEN funkcija su funkcija LEFT arba RIGHT, priklausomai nuo to, ar norite išgauti tekstą, ar skaičių. Parodytame pavyzdyje formulė C5 yra:

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

kuris grąžina 7, skaičiaus 3 poziciją eilutėje „obuoliai30“.

Paaiškinimas

Apžvalga

Formulė atrodo sudėtinga, tačiau mechanika iš tikrųjų yra gana paprasta.

Kaip ir daugumoje formulių, kurios skaido ar išskiria tekstą, svarbiausia yra surasti ieškomo daikto padėtį. Kai turite poziciją, galite naudoti kitas funkcijas, kad gautumėte tai, ko jums reikia.

Šiuo atveju mes darome prielaidą, kad skaičiai ir tekstas yra sujungti ir kad skaičius atsiranda po teksto. Iš originalaus teksto, kuris rodomas vienoje langelyje, norite suskaidyti tekstą ir skaičius į atskiras ląsteles, taip:

Originalas Tekstas Skaičius
Obuoliai30 Obuoliai 30
persikai24 persikai 24
apelsinai12 apelsinai 12
persikai0 persikai 0

Kaip minėta aukščiau, šiuo atveju svarbiausia surasti pradinę skaičiaus padėtį, kurią galite padaryti naudodami tokią formulę:

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

Kai turėsite poziciją, ištraukite tik tekstą, naudokite:

=LEFT(A1,position-1)

Norėdami išgauti tik skaičių, naudokite:

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

Pirmoje pirmiau pateiktoje formulėje mes naudojame funkciją RASTI, kad surastume pradinę skaičiaus padėtį. „Find_text“ mes naudojame masyvo konstantą (0,1,2,3,4,5,6,7,8,9), todėl funkcija FIND atlieka atskirą kiekvienos masyvo konstantos vertės paiešką. Kadangi masyvo konstantoje yra 10 skaičių, rezultatas bus masyvas su 10 reikšmių. Pvz., Jei originalus tekstas yra „apple30“, gautas masyvas bus:

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

Kiekvienas šio masyvo skaičius nurodo elemento vietą masyvo konstantoje pirminio teksto viduje.

Toliau funkcija MIN grąžina mažiausią reikšmę sąraše, kuri atitinka pirmojo skaičiaus, esančio pradiniame tekste, padėtį. Iš esmės funkcija FIND gauna visas skaičių pozicijas, o MIN suteikia mums pirmąją skaičiaus poziciją: atkreipkite dėmesį, kad 7 yra mažiausia masyvo reikšmė, atitinkanti skaičiaus 3 poziciją originaliame tekste.

Jums gali būti įdomu apie nelyginį „ inside_text“ konstravimą paieškos funkcijoje:

B5&"0123456789"

Ši formulės dalis susieja visus įmanomus skaičius 0–9 su originaliu tekstu B5. Deja, FIND negrąžina nulio, kai nerandama reikšmė, todėl tai tik protingas būdas išvengti klaidų, kurios gali kilti neradus skaičiaus.

Šiame pavyzdyje, nes mes darome prielaidą, kad skaičius visada bus antras pirminiame tekste, jis veikia gerai, nes MIN priverčia grąžinti tik mažiausią arba pirmą kartą įvykusį skaičių. Kol pradiniame tekste pasirodys skaičius, ta pozicija bus grąžinta.

Jei pradiniame tekste nėra jokių skaičių, bus grąžinta klaidinga pozicija, lygi originalaus teksto + 1 ilgiui. Pasirinkus šią fiktyvią poziciją, aukščiau pateikta kairė formulė vis tiek grąžins tekstą, o formulė RIGHT - tuščią eilutę ("").

Geri ryšiai

Ricko Rothsteino formulė iš „Excel“

Įdomios straipsniai...