Excel vzorec: Normalizácia jednotiek veľkosti na gigabajty -

Všeobecný vzorec

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

Zhrnutie

Na normalizáciu jednotiek na gigabajty (alebo megabajty, kilobajty atď.) Môžete použiť šikovný vzorec založený na funkciách MATCH, LEFT a RIGHT. V zobrazenom príklade je vzorec v C5:

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

Poznámka: pre zjednodušenie používame desatinné hodnoty (základ 10), ale existuje aj binárny štandard. Pozri nižšie.

Vysvetlenie

Dôležité: tento vzorec predpokladá, že jednotky sú posledné 2 znaky reťazca, ktorý obsahuje číslo aj mernú jednotku.

Tento vzorec funguje, pretože digitálne jednotky majú vzťah „sily 10“.

Tento vzorec v jadre oddeľuje číselnú časť veľkosti od jednotky a potom vydelí číslo príslušným deliteľom, aby sa normalizoval na gigabajty. Deliteľ sa počíta ako mocnina 10, takže vzorec sa redukuje na toto:

=number/10^power

Ak chcete získať číslo, vzorec extrahuje všetky znaky zľava až po jednotky bez nich:

LEFT(B5,LEN(B5)-2)

Ak chcete získať „výkon“, vzorec sa zhoduje s jednotkou v pevne nastavenej konštante poľa:

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

Ktorá vráti pozíciu jednotky v konštante poľa. Napríklad pre vzorec v C5 je jednotka „KB“, takže pozícia je 5. Tento výsledok sa upraví odpočítaním 3 a následným vynásobením výsledku 3, čím sa získa 6 ako mocniny, ktorá sa použije ako exponent na výpočet správneho výsledku v gigabajtoch:

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

Binárny štandardný vzorec

Počítače používajú na ukladanie a hlásenie veľkosti údajov systém binárnych čísel, ale predpony ako „kilo“, „mega“, „giga“ atď. Vychádzajú z metrického systému. Je to neprehľadná téma, ale použitie jednotiek desatinnej veľkosti na ukladanie do počítača nie je v skutočnosti správne a s pribúdaním jednotiek sa nezrovnalosti zväčšujú. Nasledujúci vzorec sa normalizuje na binárne jednotky.

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

Týmto vzorcom technicky získavate gigabajty (GiB), nie gigabajty. Viac informácií tu a tu.

Dobré odkazy

Odpoveď Stackoverflow.com od Rona Rosenfelda

Zaujímavé články...