2009-10-07 372 views
60

我在一個以字節爲單位的單元格中有一個值。但是,沒有人可以閱讀728398112238.我寧願它說678.37GB如何在Excel中將單元格的字節格式化爲KB,MB,GB等?

要寫出一個公式對其進行格式化比較容易(這是一個:http://www.yonahruss.com/2007/02/format-excel-numbers-as-gb-mb-kb-b.html

但是有什麼辦法做到這一點的「格式」 ?我希望在單元格中擁有大數字,但將其顯示爲可讀格式。

+1

快速,如果在所有你感興趣的是這樣的東西紙條:「 kB「是標準的(小寫字母'k',不是大寫字母)來源: http://en.wikipedia.org/wiki/Kilobyte http://en.wikipedia.org/wiki/Kilo-如果你不是'沒有興趣,請忽略我的帖子:) – PonyEars 2013-03-22 02:00:45

+0

這篇文章中的鏈接已經死了。以下是使用公式的解決方案的另一個鏈接:https://social.technet.microsoft.com/Forums/zh-CN/1063a039-f26b-4bfe-a9eb-2704ae0575dc/format-for-kbmbgbtb?forum=excel – Joost 2015-11-19 06:24:33

回答

65

你不能真正在Excel的格式化功能中進行計算。您可以使用像下面這樣做雖然粗略估計:

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

更新:其他新鏈接似乎已經過時了(雖然我能夠點擊它仍然) http://excel-answers.com/microsoft/Excel/34882622/using-comma-to-scale-large-numbers.aspx

+1

哇..你已經證實我懷疑我不能做計算..但你的解決方案是天才!我會使用那個或其他的東西。謝謝! – RickMeasham 2009-10-07 22:36:05

+3

對於使用''千分隔符和','作爲逗號分隔符的區域設置:[<500000]### 0「B」; [<500000000]### 0「MB」;### 0「GB 「 – Grastveit 2013-04-25 11:52:32

+2

eggheadcafe網站說:」您請求的頁面被刪除。「 – RyPeck 2013-07-25 18:47:10

3

我不知道的方式,以使其顯示您的二進制千兆字節(1024 * 1024 * 1024的倍數),但你可以把它使用的格式一樣告訴你十進制千兆字節:

0.00,,,"Gb" 
37

這裏是我一直在使用的: -

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

似乎工作正常。

+2

不完美(1000與1024的倍數),但足夠好和upvoted。謝謝! – 2012-09-10 23:08:15

+1

Kevin:kB/MB/GB是真正正確的,只有1000的倍數(由SI定義,由Mac和硬盤驅動器使用)。我想這不會改變,你想要1024(更正確地寫在KiB/MiB/GiB,在Linux GUI中使用),所以只是指出它是Windows維護這個歷史和令人困惑的符號。二進制符號在上個世紀被標準化了,所以這是他們在該計劃中得到的時間。 ;-) – 2014-06-29 16:52:04

+0

或者如果你想要字節,KB和MB而不是KB,MB,GB:'[<1000]#「B」; [<1000000] 0.00,「KB」; 0.00 ,,「MB」' – 2016-04-05 18:43:34

6

稍有變化,使之在我區工作,歐洲(以千位分隔符,逗號作爲小數點分隔符。)(!1000 = 1024)

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

還是同一個問題上的數據轉換,但它的爲我工作。

0

在看到這裏的答案之後,我們對這個公式進行了改進,在更大的值上有小數位,並迎合負值。

=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"""))))))))))) 
+1

原始問題包括使用公式的細節。但它是關於使用數字格式。除了處理負數外,您的解決方案與鏈接的解決方案非常相似。而不是將它們包含在單獨的IF語句中,請使用ABS()來獲取絕對值。 – RickMeasham 2015-12-18 01:53:35

7

雖然Excel格式條件的3個相關數大小(它們其編碼如條件僅顯示1「陽性;負;零;文本」不過我更喜歡把它看作:如果ISNUMBER和true; elseif isnumber and 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" 

隨你的選擇!

2

比特拉少將在GB &超過999寫GB寫上TB

[< 1000] 0" GB 「; [> 999] 0.0,」 TB」

OR

[< 1000] 0「GB」; [> = 1000] 0。0, 「TB」

1

以上公式需要在第一線減號: 「= 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"""))))))))))) 
相關問題