やりたいこと
エクセルで、数値をKB/MB(キロバイト/メガバイト)で表示させたい。
↓こんな。
1024 -> 1KB
1.5*1024*1024 -> 1.5MB
結論
A1に変換前の数値が入ってるとして。
=ROUND(A1/POWER(1024, INT(LOG(A1,1024))), 2) &
IF(INT(LOG(A1,1024))=0, "", MID("KMGTPE", INT(LOG(A1,1024)),1))&
"B"
実行例
解説
MID("KMGTPE"
ここが肝です。
1024のlogとったヤツをindexにして、"KMGTPE"の文字配列から引いてくるイメージです。
つまり、E=エクサまでしか対応してないです。適当に追加してください。
もっと簡単にできる方法あれば教えてください。