Exceli valem: normaliseeri suurusühikud gigabaitideks -

Üldine valem

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

Kokkuvõte

Ühikute normaliseerimiseks gigabaitideks (või megabaitideks, kilobaitideks jne) saate kasutada nutikat valemit, mis põhineb funktsioonidel MATCH, LEFT ja RIGHT. Näidatud näites on valem C5-s:

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

Märkus: lihtsuse huvides kasutame kümnendarvu (baas 10), kuid on olemas ka binaarne standard. Vt allpool.

Selgitus

Tähtis: see valem eeldab, et ühikud on stringi kaks viimast märki, mis sisaldavad nii arvu kui ka mõõtühikut.

See valem töötab, kuna digitaalsetel üksustel on suhe "võimsus 10".

Põhimõtteliselt eraldab see valem suuruse numbriosa ühikust ja jagab seejärel numbri sobiva jagajaga, et normaliseerida gigabaitideks. Jagaja arvutatakse võimsusena 10, nii et valem taandub sellele:

=number/10^power

Numbri saamiseks eraldab valem kõik tähemärgid vasakult kuni ühikuteta (välja arvatud):

LEFT(B5,LEN(B5)-2)

"Võimsuse" saamiseks sobib valem seadmel kõvakodeeritud massiivikonstandina:

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

Mis tagastab üksuse asukoha massiivikonstandis. Näiteks valemi C5 korral on ühikuks "KB", nii et positsioon on 5. Seda tulemust korrigeeritakse lahutades 3, korrutades seejärel tulemuse 3-ga, mis annab astmeks kasutatava võimsuse 6. õige tulemuse arvutamiseks gigabaitides:

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

Binaarne standardvalem

Arvutid kasutavad andmete suuruse salvestamiseks ja teatamiseks kahendarvude süsteemi, kuid eesliited nagu "kilo", "mega", "giga" jne põhinevad meetrilisel süsteemil. See on segane teema, kuid kümnendkoha mõõtühikute kasutamine arvutis salvestamiseks pole tegelikult õige ja lahknevus suureneb, kui ühikud suurenevad. Allpool toodud valem normaliseerub binaarühikuteks.

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

Selle valemiga saate tehniliselt gigabaiti (GiB), mitte gigabaiti. Lisateave siin ja siin.

Head lingid

Stackoverflow.com vastus Ron Rosenfeldilt

Huvitavad Artiklid...