如何在Excel中将单元格的字节格式化为KB,MB,GB等?

我有一个字节值的单元格。 但没有人能读728398112238,我宁可说678.37GB

要编写一个公式来格式化它相对容易(这里是一个: http : //www.yonahruss.com/2007/02/format-excel-numbers-as-gb-mb-kb-b.html )

但有没有办法做到这一点“格式”? 我想要在单元格中有一个大号,但是它显示为可读的格式。

您不能真正在Excel的格式化function中进行计算。 你可以使用类似下面的方法做一个粗略的估计:

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

更新:新的链接,因为其他似乎已经过时(虽然我可以点击它仍然) http://excel-answers.com/microsoft/Excel/34882622/using-comma-to-scale-large-numbers。; ASPX

这是我一直在使用的一个:

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

似乎工作正常。

尽pipeExcel格式条件只会显示与数字大小相关的3个条件中的1个(他们将其编码为“positive; negative; zero; text”,但我更愿意将其视为: if isnumber和true; elseif isnumber和false; elseif number; elseif是文字

所以对我来说,最好的答案是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" 

拿你的select!

稍作改动,使其在我的地区,欧洲(。作为千位分隔符,逗号作为小数点分隔符):

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

数据转换仍然是同样的问题(1000!= 1024),但它为我做的工作。

我不知道如何使它显示二进制千兆字节(1024 * 1024 * 1024的倍数),但是可以使用如下格式显示十进制千兆字节:

 0.00,,,"Gb" 

小于Tera将写在GB上超过999 GB写在TB上

[<1000] 0“GB”; [> 999] 0.0,“TB”

要么

[<1000] 0“GB”; [> = 1000] 0.0,“TB”

看到这里的答案后,只是改善了这个公式有更大的值小数位和迎合负值。

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