
Generisk formel
=LEFT(A1,LEN(A1)-2)/10^((MATCH(RIGHT(A1,2),("PB","TB","GB","MB","KB"),0)-3)*3)
Sammanfattning
För att normalisera enheter till Gigabyte (eller megabyte, kilobyte, etc.) kan du använda en smart formel baserad på MATCH, VÄNSTER och HÖGER-funktionerna. I exemplet som visas är formeln i C5:
=LEFT(B5,LEN(B5)-2)/10^((MATCH(RIGHT(B5,2),("PB","TB","GB","MB","KB"),0)-3)*3)
Obs: för enkelhetens skull använder vi decimalvärden (bas 10), men det finns också en binär standard. Se nedan.
Förklaring
Viktigt: den här formeln förutsätter att enheterna är de två sista tecknen i strängen som innehåller både ett nummer och en måttenhet.
Denna formel fungerar eftersom digitala enheter har en "power of 10" -relation.
I kärnan separerar denna formel nummerdelen av storleken från enheten och delar sedan numret med lämplig delare för att normalisera till Gigabyte. Delaren beräknas som en effekt på 10, så formeln reduceras till detta:
=number/10^power
För att få numret extraherar formeln alla tecken från vänster till men inte enheterna:
LEFT(B5,LEN(B5)-2)
För att få "power" matchar formeln på enheten i en hårdkodad arraykonstant:
MATCH(RIGHT(B5,2),("PB","TB","GB","MB","KB"),0)
Som returnerar enhetens position i arraykonstanten. Till exempel, för formeln i C5 är enheten "KB", så positionen är 5. Detta resultat justeras genom att subtrahera 3 och sedan multiplicera resultatet med 3, vilket ger 6 som effekt, som används som exponent för att beräkna rätt resultat i gigabyte:
=900/10^6 =900/1000000 =0.0009
Binär standardformel
Datorer använder det binära nummersystemet för att lagra och rapportera datastorlek, men prefixen som "kilo", "mega", "giga" etc. baseras på det metriska systemet. Det är ett förvirrande ämne, men att använda enheter i decimalstorlek för lagring på en dator är inte riktigt korrekt och skillnaden ökar när enheterna blir större. Formeln nedan normaliseras till binära enheter.
=LEFT(A1,LEN(A1)-2)/2^((MATCH(RIGHT(A1,2),("PB","TB","GB","MB","KB"),0)-3)*10)
Med den här formeln får du tekniskt Gibibytes (GiB), inte Gigabyte. Mer information här och här.