我在以字节为单位的单元格中有一个值。但没人能读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)
但是有什么办法可以将其作为“格式”吗?我想在单元格中显示较大的数字,但将其显示为易于阅读的格式。
Answers:
您实际上无法在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"
尽管Excel格式条件只会显示3个与数字大小有关的条件中的1个(它们将其编码为“正;负;零;文本”,但我更喜欢将其视为: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"
随便你!
上述格式化方法有效,但仅适用于三个级别。上面使用的KB,MB和GB。在这里,我将其扩展为六个。右键单击单元格,然后选择“设置单元格格式”。在数字选项卡下,选择自定义。然后在“类型:”框中,输入以下内容:
[<1000]##0.00" B";[<1000000]##0.00," KB";##0.00,," MB"
然后选择确定。这包括B,KB和MB。然后,在选择相同单元格的情况下,单击“首页”功能区,“条件格式”,“新规则”。选择仅格式化包含的单元格。然后在规则说明的下方,“仅格式化单元格值大于或等于1000000000(即9个零)的单元格。”然后单击“格式”,“数字”选项卡,“自定义”,然后在“类型:”框中,输入以下内容:
[<1000000000000]##0.00,,," GB";[<1000000000000000]##0.00,,,," TB";#,##0.00,,,,," PB"
选择确定,然后确定。仅当值大于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等。
我不知道一种使它显示二进制千兆字节(1024 * 1024 * 1024的倍数)的方法,但是您可以使用以下格式使它显示十进制的千兆字节:
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""")))))))))))
我使用CDH hadoop,并且在导出excel报告时遇到两个问题;
1)将Linux日期转换为excel日期,
为此,在date列旁边添加一个空列,假设第一行是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(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)))))
在看到答案之后,只需对该公式进行改进即可在较大的值上保留小数位并满足负值。
=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