web-dev-qa-db-ja.com

ExcelでセルのバイトをKB、MB、GBなどとしてフォーマットするにはどうすればよいですか?

バイト単位のセルに値があります。しかし、だれも728398112238を読むことができません。私はむしろ678.37GBと言いたいです

比較的簡単に書式設定する数式を作成するには(ここに1つあります: http://www.yonahruss.com/2007/02/format-Excel-numbers-as-gb-mb-kb-b.html =)

しかし、これを「フォーマット」として行う方法はありますか?セルに大きな数字を入れたいのですが、人間が読める形式で表示するようにします。

71
RickMeasham

Excelの書式設定機能で実際に計算を行うことはできません。ただし、次のようなものを使用して大まかな推定を行うことができます。

[<500000]#,##0" B ";[<500000000]#,##0,," MB";#,##0,,," GB"
75
guitarthrower

ここに私が使用しているものがあります:-

[<1000000]0.00," KB";[<1000000000]0.00,," MB";0.00,,," GB"

うまくいくようです。

44
David Thornley

Excel形式の条件は、数値のサイズに関連する3つの条件のうち1つだけを表示します("positive; negative; zero; text"としてコーディングしますが、:if isnumberおよびtrue; elseif isnumberおよびfalse; elseif number; elseif is text

だから私にとっての最良の答えは、他の地域のフォーマットに対するデビッドのコメントとグラストヴェイトのコメントです。

作成するレポートに応じて使用するものを以下に示します。

[<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"

好きなものを選んでください!

11

上記のフォーマットのアプローチは機能しますが、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よりも大きいものはすべて、より大きなPBとして表示されます。 56,700 PB。さらに大きな値、EBなどを処理する別の条件付き書式を追加できます。

8
Yrag00

私の地域であるヨーロッパで機能するようにするためのわずかな変更(。桁区切り記号、カンマ区切り)

[<1000000]#.##0,00" KB";[<1000000000]#.##0,00.." MB";#.##0,00..." GB"

データ変換に関する同じ問題(1000!= 1024)ですが、それは私のために仕事をします。

7
Bruno

バイナリギガバイト(1024 * 1024 * 1024の倍数)を表示する方法はわかりませんが、次のような形式を使用して、10進ギガバイトを表示することができます。

0.00,,,"Gb"
4
Andru Luvisi

上記の式では、最初の行にマイナス記号が必要です: "= 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
swhgraham

そして、さらに別の解決策は、エンジニアリング表記を使用することです。 (これは指数が常に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
2
Yrag00

Tera未満はGBで書き込み、999 GBを超える書き込みはTBで書き込みます

[<1000] 0 "GB"; [> 999] 0.0、 "TB"

OR

[<1000] 0 "GB"; [> = 1000] 0.0、 "TB"

1
Mored1984

CDH hadoopを使用していますが、Excelレポートをエクスポートすると、2つの問題があります。

1)Linuxの日付をExcelの日付に変換し、
そのために、日付列の隣に空の列を追加し、一番上の行がB4であると言い、式の下に貼り付けて、BLACK "+"を最後の日までドラッグします。列の終わり。次に、元の列を非表示にします

=(((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桁の値が得られます->カスタム、そこに上記のコードを貼り付けます

1
hi-zir

それは少しの「ブルートフォース」ですが、動作します;)

=IF(E4/1000<1;CONCATENATE(E4;" bps");IF(E4/1000<1000;CONCATENATE(ROUND(E4/1000;2);" kbps");IF(E4/1000000<1000;CONCATENATE(ROUND(E4/1000000;2);" mbps");IF(E4/1000000000<1000;CONCATENATE(ROUND(E4/1000000000;2);" gbps")))))

enter image description here

1

与えられた答えから期待される結果を得られなかったため、ここでの答えの多くは時代遅れだと思います。

サイズに応じてフォーマットしたい値がKBである場合は、次を試してください。


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


初期値(KB)=>出力

952 => 952 KB

1514 => 1.51 MB

5122323 => 5.12 GB

0
Ivan Skodje

ここで答えを見た後、この式を改善して、大きな値に小数点以下の桁を付け、負の値に対応しています。

=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""")))))))))))
0