„Excel“ formulė: Skirstykite skaičius iš matavimo vienetų

Turinys

Bendroji formulė

=MAX(ISNUMBER(VALUE(MID(A1,(1,2,3,4,5,6,7,8,9),1)))*(1,2,3,4,5,6,7,8,9))+1

Santrauka

Norėdami padalyti skaičių iš vieneto vertės, galite naudoti formulę, pagrįstą keliomis funkcijomis: MAX, ISNUMBER, VALUE ir MID. Parodytame pavyzdyje formulė C5 yra:

=MAX(ISNUMBER(VALUE(MID(B5,(1,2,3,4,5,6,7,8,9),1)))*(1,2,3,4,5,6,7,8,9))+1

Pastaba: tai yra eksperimentinė formulė, kurioje naudojama kietai užkoduota masyvo konstanta, nustatyta čia kaip nuoroda ir komentaras. Tik atsitiktinai patikrinta, todėl būkite atsargūs, jei naudojate ar pritaikote.

Paaiškinimas

Kartais susiduriate su duomenimis, kurie tiesiogiai sumaišo vienetus su skaičiais (ty 8 km, 12 v, 7,5 val.). Deja, „Excel“ traktuos šio formato skaičius kaip tekstą ir jūs negalėsite atlikti matematinių operacijų tokiomis reikšmėmis.

Norėdami padalyti skaičių iš vieneto vertės, turite nustatyti paskutinio skaičiaus padėtį. Jei prie tos vietos pridėsite 1, turėsite vieneto teksto pradžią. Ši formulė naudoja šią sąvoką, kad išsiaiškintų, kur prasideda matavimo vienetas.

Parodytame pavyzdyje formulė C5 yra:

=MAX(ISNUMBER(VALUE(MID(B5,(1,2,3,4,5,6,7,8,9),1)))*(1,2,3,4,5,6,7,8,9))+1

Ši formulė naudoja MID funkciją, kad išgautų pirmąsias 9 B5 reikšmes po vieną simbolį. Rezultatas yra toks masyvas:

("8","0","v","","","","","","")

Tada mes naudojame funkciją VALUE, kad teksto formato numerius paverstume tikraisiais. Rezultatas:

(8,0,#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!,#VALUE!)

Šį masyvą vykdome per ISNUMBER, kad gautume:

(TRUE,TRUE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE)

Tada padauginkite kitą masyvą su 9 skaičiais, kad gautumėte:

(1,2,0,0,0,0,0,0,0)

Tada mes naudojame MAX, kad gautume didžiausią vertę, kuri yra „paskutinio skaičiaus“ pozicija.

Galiausiai prie pozicijos pridedame 1, kad gautume poziciją „vieneto pradžia“.

Galiausiai, mes naudojame šią padėtį su standartinėmis kairės ir dešinės funkcijomis, kad atskirtume skaičius nuo vienetų:

=VALUE(LEFT(B5,C5-1)) // number =TRIM(RIGHT(B5,LEN(B5)-C5+1)) // unit

Atminkite, kad sunkiai užkoduota skaičių masyvo konstanta yra įsilaužimas, kad būtų patogiau, ir apdoros tik neapdorotas vertes, kurių ilgis ne didesnis kaip 9 simboliai.

Geri ryšiai

Įkvėpimas iš Ricko Rothsteino „MrExcel“ formulių

Įdomios straipsniai...