EXCELでByte計算

ども。
青と緑に分かれて陣取り合戦するスマホアプリに注目している担当ちゅんです。

本日はEXCELの話題を。
仕事柄、EXCELでファイルの容量を計算することが多いです。例えば、共有フォルダの空き容量を確認する場合、フォルダのプロパティでサイズを確認し、EXCELに数値を入力していくといった場面は、ほぼ日常といえます。

ファイルサイズには「KB」「MB」「GB」など単位があります。EXCELのセルに「250KB」とか「5.78MB」などと入力していけばとても見やすいのですが、これでは最後に足し算することができません。だからといって、全てをByte単位で書いてしまえば、ぱっと見で容量がいくらなのか判別が不可能です(ちなみに、250KBをByteに変換すると256,000Byte)。

そんなときのために、EXCELには「表示形式」という機能があって、例えば数値をカンマ区切りにするとか、値がマイナスになる場合に赤字で表示するとか、任意の文字列を合わせて表示するといったことができますよね。
ふと、これを利用して、Byteが入力されたときに自動的にKBやMBに変換できないかと思い立ちました。

ByteをKB、MBに表示させるのは、かなり強引ですが

[<1000]0;[<1000000]#,##0,"KB";#,##0,,"MB"

とか書けば、とりあえず「KB」と「MB」に単位を変換することができそうです。でも、この場合だと「GB」には対応できませんし、何よりByteが繰り上がる際の数値である「1024」を無視することになってしまいます。
だからといって、表示形式に関数は使えません。よって、表示形式だけで単位を表示させることは不可能という結論に達しました。

では、どうすればByteをスマートに変換できるのか。上司92氏の力も借りて、IF関数で次のように記載すれば、何とかそれっぽくなりました。

=IF(A1>=1024^3,ROUND(A1/(1024^3),1)&"GB",IF(A1>=1024^2,ROUND(A1/(1024^2),1)&"MB",IF(A1>=1024,ROUND(A1/(1024),1)&"KB",A1&"Byte")))

A1セルにByteが入力された場合、それを単位に変換するためのIF関数です。
Byte数だけを記入していけば、見やすく表示されますし、計算もばっちりです。あまりにもマニアックな話ですが、同業者の方はぜひお試しを。それなりに捗りますよ。

EXCEL
もっと良い方法がありましたら、ぜひコメント欄でご教授ください。

(投稿者:ちゅん)


カテゴリー: つぶやき パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です