あるセルにバイト単位の値があります。しかし、誰も728398112238を読むことができません。むしろ、678.37GBと表示させたい。
比較的簡単に書式設定できる数式を書くには(http://www.yonahruss.com/2007/02/format-excel-numbers-as-gb-mb-kb-b.html)。
しかし、これを 'format' として行う方法はないのでしょうか?セルには大きな数字を表示させたいのですが、人間が読みやすい書式で表示させたいのです。
エクセルの書式設定機能では、計算ができません。しかし、以下のようなものを使って、大まかな試算をすることはできます。
[<500000]#,##0" B ";[<500000000]#,##0,," MB";#,##0,,," GB"
Excel形式の条件は、数値サイズに関連する3つの条件のうち1つしか表示しませんが(コードは "正、負、ゼロ、テキスト" ですが、次のように表示します。 isumberとtrueの場合、elseif isumberとfalse ; elseif number; elseif is text )。
私にとって最良の答えは、Davidと他の地域形式に対するGrastveitのコメントです。
私が作成したレポートに応じて使用するものは次のとおりです。
[<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"
選んでください。!
上記のフォーマットアプローチは機能しますが、3つのレベルでのみ機能します。 上記では、KB、MB、GBを使用しました。ここでは6つに拡張しました。 セルを右クリックし、[セルのフォーマット]を選択します。 [数値]タブで、[カスタム]を選択します。 次に、Type:ボックスに以下を入力します。
[<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などを処理するために、別の条件付き書式を追加できます。
2進数のギガバイト(102410241024の倍数)を表示させる方法は知りませんが、10進数のギガバイトを表示させることは、以下のような書式で可能です。
0.00,,,"Gb"
上記の式では、最初の行にマイナス記号が必要です: "= IF(A1< -99950000000"。
=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の倍数であることを除いて、科学表記のようなものです。)セルを右クリックし、[セルのフォーマット]を選択します。 [数値]タブで、[カスタム]を選択します。 次に、Type:ボックスに以下を入力します。
##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
それは少し「力」ですが、機能します;)。
= IF(E4 / 1000< 1; CONCATENATE(E4; "bps"); IF(E4 / 1000< 1000; CONCATENATE(ROUND(E4 / 1000; 2); "kbps" 0 1 "
``。
[。![ここに画像の説明を入力してください][1]][1]。
[1]:https://i.stack.imgur.com/csIrC.png。
私はCDHハドゥープを使用しており、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桁の値が表示されます。 セルをフォーマットするだけ-->上記のコードをカスタマイズして貼り付けます。
ここでの答えを見た後、この式で改善され、より大きな値に小数点以下の桁数を設定し、負の値に応えました。
=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""")))))))))))
正確な結果については、計算したいのですが、表示形式を使用しています。
A1セルの値が29773945664927であると仮定します。
1。 B1セルのコンマの数を数えます。
= QUOTIENT(LEN(A1)-1,3)。
2。 C1セルで値を1024 ^ B1で割ります。
= A1 / 1024 ^ B1。
3。 D1セルのディスプレイユニット。
= SWITCH(B1、5、「PB」、4、「TB」、3、「GB」、2、「MB」、1、「KB」、0、「B」)。
4。 B1セルを非表示にします。