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

Ric*_*ham 71 excel formatting

我在单元格中有一个以字节为单位的值.但是没有人可以阅读728398112238.我宁愿它说678.37GB

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

但有没有办法做这个'格式'?我希望在单元格中有大数字,但它显示为人类可读的格式.

gui*_*wer 76

您无法在Excel的格式设置功能中进行实际计算.您可以使用以下内容进行粗略估计:

[<500000]#,##0" B ";[<500000000]#,##0,," MB";#,##0,,," GB"
Run Code Online (Sandbox Code Playgroud)

  • 对于带有''千分隔符'和'的区域设置,'作为逗号分隔符:[<500000] ### 0"B"; [<500000000] ### 0"MB"; ### 0"GB" (6认同)
  • 对不起,这段代码是错误的!除以“5”或 500000 会将值转换为完全不同的值。我使用了值“569692”,这段代码给了我“1 MB” (2认同)
  • 我的回答已经暗示了这一点。因为无法在格式中进行计算(即 500,000/1,000),所以我使用 500,000 和 500,000,000 作为中点来确定何时应四舍五入为 B、MB、GB。这是一种 hack,如果需要精度,则不应该使用。如果您需要更高的精度,还可以执行其他操作(通过宏自定义公式、单元格公式、命名范围等) (2认同)

Dav*_*ley 46

这是我一直在使用的: -

[<1000000]0.00," KB";[<1000000000]0.00,," MB";0.00,,," GB"
Run Code Online (Sandbox Code Playgroud)

似乎工作正常.

  • 不完美(1000比1024的倍数),但足够好和赞成.谢谢! (2认同)
  • Kevin:KB/MB/GB非常正确,只有1000的倍数(由SI定义,由Mac和硬盘驱动器使用).我想这并没有改变你想要1024(更正确地写入KiB/MiB/GiB,如在Linux GUI中使用)所以只是指出它是Windows维护这种历史性和令人困惑的符号.二进制符号在上个世纪是标准化的,因此他们很高兴参与该计划.;-) (2认同)

小智 11

虽然Excel格式条件只显示与数字大小相关的3个条件中的1个(它们将其编码为"正数;负数;零;文本"但我更喜欢将其视为:if isnumber和true; elseif isnumber和false; elseif number; elseif是文字)

所以对我来说,最好的答案是David's以及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"
Run Code Online (Sandbox Code Playgroud)

随便挑选!


Dav*_*mer 10

因为还没人写这个答案,所以我认为这对未来的线索查找者有好处。有一种简单的方法可以使用转换函数在 Excel 中进行位和字节的转换。

你只需要使用=CONVERT(Number or Cell, "fromDatatype", "toDatatype")

例如=CONVERT(5, "Gbyte", Mbyte")

您可以在“测量系统”->“信息”下找到有关此内容的文档 https://support.microsoft.com/en-us/office/convert-function-d785bef1-808e-4aac-bdcd-666c810f9af2

遗憾的是,没有关于MMiG或 等前缀的图表Gi。但这很容易。只是公共前缀,然后分别是字节。

字首 短的 少量 字节
约塔 伊比特 字节
泽塔 Z 兹比特 中字节
埃克萨 息税前利润 亿佰特
佩塔 比特位 字节
泰拉 时间 特比特 太字节
千兆 G 吉比特 吉字节
中号 兆比特 兆字节
公斤 k 千比特 千字节
赫克托 H 哈比特 兆字节
德卡 达比特 达字节
尤比 伊比特 亿佰特
泽比 兹比特 紫百特
埃克斯比 埃伊 息税前利润 爱字节
佩比 圆周率 皮比特 皮字节
特比 蒂比特 蒂字节
吉比 吉比特 吉字节
梅比 米比特 米字节
吉备 基比特 千字节


Yra*_*g00 8

上述格式化方法有效,但仅适用于三个级别。上面使用的KB,MB和GB。在这里,我将其扩展为六个。右键单击单元格,然后选择“设置单元格格式”。在数字选项卡下,选择自定义。然后在“类型:”框中,输入以下内容:

[<1000]##0.00"  B";[<1000000]##0.00," KB";##0.00,," MB"
Run Code Online (Sandbox Code Playgroud)

然后选择确定。这包括B,KB和MB。然后,在选择相同单元格的情况下,单击“首页”功能区,“条件格式”,“新规则”。选择仅格式化包含的单元格。然后在规则说明的下面,“仅格式化单元格值大于或等于1000000000(即9个零)的单元格”。然后单击“格式”,“数字”选项卡,“自定义”,然后在“类型:”框中,输入以下内容:

[<1000000000000]##0.00,,," GB";[<1000000000000000]##0.00,,,," TB";#,##0.00,,,,," PB"
Run Code Online (Sandbox Code Playgroud)

选择确定,然后确定。仅当值大于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
Run Code Online (Sandbox Code Playgroud)

大于PB的任何内容都会显示为更大的PB,例如56,700 PB。您可以添加另一种条件格式来处理更大的值EB等。


小智 7

轻微更改,使其在我的地区,欧洲(.作为千位分隔符,逗号作为小数分隔符)工作:

[<1000000]#.##0,00" KB";[<1000000000]#.##0,00.." MB";#.##0,00..." GB"
Run Code Online (Sandbox Code Playgroud)

数据转换仍然存在同样的问题(1000!= 1024),但它确实适合我.


And*_*isi 6

我不知道有什么方法可以让它显示二进制千兆字节(1024x1024x1024 的倍数),但你可以使用如下格式让它显示十进制千兆字节:

0.00,,,"GB"
Run Code Online (Sandbox Code Playgroud)