Excel formula: Normalizirajte jedinice veličine na Gigabytes -

Generička formula

=LEFT(A1,LEN(A1)-2)/10^((MATCH(RIGHT(A1,2),("PB","TB","GB","MB","KB"),0)-3)*3)

Sažetak

Da biste normalizirali jedinice na Gigabajte (ili megabajte, kilobajte itd.), Možete koristiti pametnu formulu koja se temelji na funkcijama MATCH, LEFT i RIGHT. U prikazanom primjeru formula u C5 je:

=LEFT(B5,LEN(B5)-2)/10^((MATCH(RIGHT(B5,2),("PB","TB","GB","MB","KB"),0)-3)*3)

Napomena: radi jednostavnosti koristimo decimalne vrijednosti (baza 10), ali postoji i binarni standard. Pogledaj ispod.

Obrazloženje

Važno: ova formula pretpostavlja da su jedinice zadnja 2 znaka niza koji uključuje i broj i mjernu jedinicu.

Ova formula djeluje jer digitalne jedinice imaju odnos "snage 10".

U osnovi, ova formula dijeli brojevni dio veličine od jedinice, a zatim dijeli broj odgovarajućim djeliteljem da bi se normalizirala na Gigabajte. Dijelnik se izračunava kao snaga 10, pa se formula svodi na ovo:

=number/10^power

Da biste dobili broj, formula ekstrahira sve znakove s lijeva do, ali ne uključujući jedinice:

LEFT(B5,LEN(B5)-2)

Da bi se dobila "snaga", formula se podudara na jedinici u čvrsto kodiranoj konstanti niza:

MATCH(RIGHT(B5,2),("PB","TB","GB","MB","KB"),0)

Što vraća položaj jedinice u konstanti niza. Na primjer, za formulu u C5, jedinica je "KB", pa je položaj 5. Taj se rezultat podešava oduzimanjem 3, a zatim množenjem rezultata s 3, što daje 6 kao snagu, koja se koristi kao eksponent za izračunavanje točnog rezultata u gigabajtima:

=900/10^6 =900/1000000 =0.0009

Binarna standardna formula

Računala koriste sustav binarnih brojeva za pohranu i izvještavanje o veličini podataka, ali prefiksi poput "kilo", "mega", "giga" itd. Temelje se na metričkom sustavu. Zbunjujuća je tema, ali korištenje jedinica decimalne veličine za pohranu na računalu zapravo nije točno, a odstupanje se povećava kako jedinice postaju veće. Formula u nastavku normalizirat će se na binarne jedinice.

=LEFT(A1,LEN(A1)-2)/2^((MATCH(RIGHT(A1,2),("PB","TB","GB","MB","KB"),0)-3)*10)

Ovom formulom tehnički dobivate Gibibytes (GiB), a ne Gigabytes. Više informacija ovdje i ovdje.

Dobri linkovi

Odgovor Stackoverflow.com, Ron Rosenfeld

Zanimljivi članci...