byte(バイト)を、KBやMBに換算:エクセル(EXCEL)関数

byteを、KBやMBに換算します

一般的に「k(キロ)」「M(メガ)」「G(ギガ)」という単位は

1,000 → 1k(キロ)
1,000,000 → 1M(メガ)
1,000,000,000 → 1G(ギガ)
1,000,000,000,000 → 1T(テラ)

国際単位系では3桁ごとに単位が上がります
これも国際単位ですから正しいのですが

パソコンの内部処理は2進数です
byte(バイト)の場合厳密には
2進数の「1000000000」(←10桁
10進数の「1024」ですから

1,024 byte → 1KB
1,024KB → 1MB
1,024MB → 1GB
1,024GB → 1TB
ほぼ1000倍なので「k(キロ)」や「M(メガ)」として表示されています

正確なbyteを計算すると
1KB → 1,024 byte
1MB → 1,048,576 byte
1GB → 1,073,741,824 byte
1TB → 1,099,511,627,776 byte

これをエクセルで計算します(byte → 1KB → 1MB → 1GB)

 ABCÐ
1    
2  変換前のbyte  12345678901234 byte  
3        
4  byte を kB  120563270519.86 kB
5  byte を MB  117737568.86705 MB
6  byte を GB  114978.09459672 GB
7  byte を TB  112.28329550460 TB


セルC2)123456789012345
セルC4)=LEFT(C2/1024,15)
セルC5)=LEFT(C4/1024,15)
セルC6)=LEFT(C5/1024,15)
セルC7)=LEFT(C6/1024,15)


変換前のbyte(セルC2)に「1099511627776」とすると
byte を kb 1073741824kb
byte を MB 104857MB
byte を GB 102GB
byte を TB 1TB
となります

上記は元が2進数ですから
2進数で10進数変換すれば同じ数字になります

1KBは2進数の「10000000000」←0が10個
1MBは2進数の「100000000000000000000」←0が20個
1GBは2進数の「1000000000000000000000000000000」←0が30個
1TBは2進数の「10000000000000000000000000000000000000000」←0が40個

2進数はBIN2DEC()関数で変換できますが
2進数の「111111111」←1が9桁が限界です
BIN2DEC()関数では41桁は無理です

2進数50桁まで計算できる数式を作りました
2進数を10進数に変換するBIN2DEC()関数の上限

「10000000000000000000000000000000000000000」←0が40個は
「1099511627776」と表示されます

「1000000000000000000000000000000」←0が30個は
「1073741824」と表示されます

1,073,741,824 → 1G
1,099,511,627,776 → 1T

最初の「1」以外全部「0」ならPOWER()関数でも出すことができます
=POWER(2,10) 2の10乗
=POWER(2,10) 結果 1024
=POWER(2,20) 結果 1048576
=POWER(2,30) 結果 1073741824
=POWER(2,40) 結果 1099511627776

以上 byteを、KBやMBに換算する方法でした


MAXIFSとMINIFSTOP
(C) 2001-2018 Digital World