セルにバイト単位の値があります。しかし、誰も728398112238を読むことはできません。むしろ678.37GBと言いたいです。
比較的簡単にフォーマットする数式を作成するには(http://www.yonahruss.com/2007/02/format-excel-numbers-as-gb-mb-kb-b.html)
しかし、これを「フォーマット」として行う方法はありますか?セルに大きな数字を入れたいのですが、人間が読める形式で表示します。
セルにバイト単位の値があります。しかし、誰も728398112238を読むことはできません。むしろ678.37GBと言いたいです。
比較的簡単にフォーマットする数式を作成するには(http://www.yonahruss.com/2007/02/format-excel-numbers-as-gb-mb-kb-b.html)
しかし、これを「フォーマット」として行う方法はありますか?セルに大きな数字を入れたいのですが、人間が読める形式で表示します。
回答:
Excelの書式設定機能で実際に計算を行うことはできません。ただし、次のようなものを使用して、大まかな見積もりを行うことができます。
[<500000]#,##0" B";[<500000000]#,##0,," MB";#,##0,,," GB"
これが私が使っているものです:-
[<1000000]0.00," KB";[<1000000000]0.00,," MB";0.00,,," GB"
正常に動作しているようです。
[<1000]#" B";[<1000000]0.00," KB";0.00,," MB"
上記のフォーマットアプローチは機能しますが、3つのレベルでのみ機能します。上記はKB、MB、GBを使用しました。ここでは6つに拡張しました。セルを右クリックして、[セルの書式設定]を選択します。[番号]タブで、[カスタム]を選択します。次に、[タイプ:]ボックスに次のように入力します。
[<1000]##0.00" B";[<1000000]##0.00," KB";##0.00,," MB"
次に、[OK]を選択します。これには、B、KB、およびMBが含まれます。次に、同じセルを選択した状態で、[ホーム]リボン、[条件付き書式]、[新しいルール]の順にクリックします。を含むセルのみをフォーマットするを選択します。次に、以下のルールの説明で、1000000000以上のセル値(つまり9つのゼロ)を持つセルのみをフォーマットします。次に、[フォーマット]、[数値]タブ、[カスタム]をクリックし、[タイプ:]ボックスに次のように入力します。
[<1000000000000]##0.00,,," GB";[<1000000000000000]##0.00,,,," TB";#,##0.00,,,,," PB"
[OK]、[OK]の順に選択します。この条件付き書式は、値が1,000,000,000より大きい場合にのみ引き継がれます。また、GB、TB、およびPBの範囲を処理します。
567.00 B
5.67 KB
56.70 KB
567.00 KB
5.67 MB
56.70 MB
567.00 MB
5.67 GB
56.70 GB
567.00 GB
5.67 TB
56.70 TB
567.00 TB
5.67 PB
56.70 PB
PBより大きいものは、56,700PBなどの大きいPBとして表示されます。さらに大きな値、EBなどを処理するために別の条件付き書式を追加できます。
Excel形式の条件では、数値サイズに関連する3つの条件のうち1つしか表示されません(「正、負、ゼロ、テキスト」としてコード化されますが、次のように表示することをお勧めします:if isnumber and true; elseif isnumber and false; elseif number; elseifはテキストです)
だから私にとって最良の答えは、他の地域のフォーマットに対するデビッドとグラスベイトのコメントです。
これが私が作成するレポートに応じて使用するものです。
[<1000000]#,##0.00," KB";[<1000000000]#,##0.00,," MB";#,##0.00,,," GB"
[>999999999999]#,##0.00,,,," TB";[>999999999]#,##0.00,,," GB";#.##0.00,," MB"
[<1000000]# ##0,00 " KB";[<1000000000]# ##0,00 " MB";# ##0,00 " GB"
[>999999999999]# ##0,00 " TB";[>999999999]# ##0,00 " GB";# ##0,00 " MB"
好きなものを選んでください!
バイナリギガバイト(1024 * 1024 * 1024の倍数)を表示する方法はわかりませんが、次のような形式を使用して10進ギガバイトを表示することができます。
0.00,,,"Gb"
上記の式では、最初の行にマイナス記号が必要です: "= IF(A1 <-999500000000"
=IF(A1<-999500000000,TEXT(A1,"#,##.#0,,,"" TB"""),
IF(A1<-9995000000,TEXT(A1,"#,##.#0,,,"" GB"""),
IF(A1<-9995000,TEXT(A1,"#,##0,,"" MB"""),
IF(A1<-9995,TEXT(A1,"#,##0,"" KB"""),
IF(A1<-1000,TEXT(A1,"#,##0"" B """),
IF(A1<0,TEXT(A1,"#,##0"" B """),
IF(A1<1000,TEXT(A1,"#,##0"" B """),
IF(A1<999500,TEXT(A1,"#,##0,"" KB"""),
IF(A1<999500000,TEXT(A1,"#,##0,,"" MB"""),
IF(A1<999500000000,TEXT(A1,"#,##.#0,,,"" GB"""),
TEXT(A1,"#,##.#0,,,,"" TB""")))))))))))
そして、さらに別の解決策は、工学的記数法を使用することです。(指数が常に3の倍数であることを除けば、科学的記数法に似ています。)セルを右クリックして、[セルの書式設定]を選択します。[番号]タブで、[カスタム]を選択します。次に、[タイプ:]ボックスに次のように入力します。
##0.00E+00
次に、[OK]をクリックします。K、Mなどの代わりに、+ 3、+ 6などがあります。これは、正と負の数、および正と負の指数に対して機能します。-3はm、-6はuなどです。
567.00E-06
5.67E-03
56.70E-03
567.00E-03
5.67E+00
56.70E+00
567.00E+00
5.67E+03
56.70E+03
567.00E+03
5.67E+06
CDH hadoopを使用していますが、Excelレポートをエクスポートすると、2つの問題が発生します。
1)Linuxの日付をExcelの日付に変換します。
そのためには、日付列の横に空の列を追加します。たとえば、一番上の行がB4である場合、数式の下に貼り付けて、黒の「+」を最後の日の最後までドラッグします。カラム。次に、元の列を非表示にします
=(((B4/1000/60)/60)/24)+DATE(1970|1|1)+(-5/24)
2)ディスクサイズをバイトからTB、GB、およびMBに変換
するそのための最良の式はこれです
[>999999999999]# ##0.000,,,," TB";[>999999999]# ##0.000,,," GB";# ##0.000,," MB"
セルをフォーマットするだけで小数点以下3桁の値が表示されます->カスタムして上記のコードをそこに貼り付けます
これを値(バイト)の横に貼り付けると、値のサイズに合わせて自動的に変更されます。
=IF(G10>=1099511627776,CONCATENATE(ROUND((G10/1024/1024/1024/1024),1)," TB"),IF(G10>=1073741824,CONCATENATE(ROUND((G10/1024/1024/1024),1)," GB"),IF(G10>=1048576,CONCATENATE(ROUND((G10/1024/1024),1)," MB"),IF(G10>=1024,CONCATENATE(ROUND((G10/1024),1)," KB"),IF(G10>=1,CONCATENATE((G10)," BYTES"),0)))))
ここでのすべての回答は、10の累乗の値を提供します。適切なSI単位(1024の倍数、つまり、メビバイト、ギビバイト、およびテビバイト)を使用する形式は次のとおりです。
[>1099511627776]#.##,,,," TiB";[>1073741824]#.##,,," GiB";0.##,," MiB"
これは、小数点以下2桁を示すMiB、GiB、およびTiBをサポートします。
ここで答えを見た後、この数式を改善して、大きな値に小数点以下の桁数を設定し、負の値に対応できるようにしました。
=IF(A1<999500000000,TEXT(A1,"#,##.#0,,,"" TB"""),
IF(A1<-9995000000,TEXT(A1,"#,##.#0,,,"" GB"""),
IF(A1<-9995000,TEXT(A1,"#,##0,,"" MB"""),
IF(A1<-9995,TEXT(A1,"#,##0,"" KB"""),
IF(A1<-1000,TEXT(A1,"#,##0"" B """),
IF(A1<0,TEXT(A1,"#,##0"" B """),
IF(A1<1000,TEXT(A1,"#,##0"" B """),
IF(A1<999500,TEXT(A1,"#,##0,"" KB"""),
IF(A1<999500000,TEXT(A1,"#,##0,,"" MB"""),
IF(A1<999500000000,TEXT(A1,"#,##.#0,,,"" GB"""),
TEXT(A1,"#,##.#0,,,,"" TB""")))))))))))
与えられた答えから期待された結果が得られなかったので、ここでの答えの多くは時代遅れだと思います。
サイズに応じてフォーマットしたいKB単位の値がある場合は、次のことを試すことができます。
[<1000]#" KB ";[<1000000]#0,00 " MB";0,## " GB"
952
=> 952 KB
1514
=> 1.51 MB
5122323
=> 5.12 GB