Excel formula: Podijeljeni brojevi iz mjernih jedinica -

Sadržaj

Generička formula

=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

Sažetak

Da biste podijelili broj iz jedinične vrijednosti, možete upotrijebiti formulu koja se temelji na nekoliko funkcija: MAKS, BROJ, VRIJEDNOST i MID. U prikazanom primjeru formula u C5 je:

=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

Napomena: ovo je eksperimentalna formula koja koristi tvrdo kodiranu konstantu niza, koja je ovdje postavljena za referencu i komentar. Samo slučajno testirano, pa pripazite koristite li ili prilagodite li se.

Obrazloženje

Ponekad naiđete na podatke koji jedinice izravno miješaju s brojevima (tj. 8km, 12v, 7,5 sati). Nažalost, Excel će brojeve u ovom formatu tretirati kao tekst i nećete moći izvršavati matematičke operacije na takvim vrijednostima.

Da biste podijelili broj iz jedinične vrijednosti, morate odrediti položaj zadnjeg broja. Ako na to mjesto dodate 1, počet ćete tekst jedinice. Ova formula koristi ovaj koncept kako bi shvatila gdje mjerna jedinica započinje.

U prikazanom primjeru formula u C5 je:

=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

Ova formula koristi funkciju MID za izdvajanje prvih 9 vrijednosti u B5, jedan po jedan znak. Rezultat je niz poput ovog:

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

Zatim koristimo funkciju VALUE za pretvaranje brojeva u tekstualnom formatu u stvarne brojeve. Rezultat je:

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

Provodimo ovaj niz kroz ISNUMBER da bismo dobili:

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

Zatim pomnožite taj puta drugi niz s 9 brojeva da biste dobili:

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

Tada koristimo MAX da bismo dobili najveću vrijednost, a to je položaj "zadnjeg broja".

Konačno, položaju dodamo 1 da bismo dobili položaj "početak jedinice".

Konačno, koristimo ovaj položaj sa standardnim funkcijama LIJEVO i DESNO za odvajanje brojeva od jedinica:

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

Imajte na umu da je konstantno kodirana konstanta brojeva hak za praktičnost i obrađivat će samo neobrađene vrijednosti duljine do 9 znakova.

Dobri linkovi

Inspiracija iz formula Ricka Rothsteina na MrExcelu

Zanimljivi članci...